diff --git a/src/ifcgeom/IfcGeomFilter.h b/src/ifcgeom/IfcGeomFilter.h index 67510c1f4d..9672a97470 100644 --- a/src/ifcgeom/IfcGeomFilter.h +++ b/src/ifcgeom/IfcGeomFilter.h @@ -72,7 +72,7 @@ namespace IfcGeom { // schema. // @todo pass settings ifcopenshell::geometry::Settings s; - static auto mapping = ifcopenshell::geometry::impl::mapping_implementations().construct(prod.data()->file(), s); + static auto mapping = ifcopenshell::geometry::impl::mapping_implementations().construct(prod.file(), s); while ((parent = mapping->get_decomposing_entity(current, traverse_openings))) { if (pred(parent)) { return true; @@ -180,7 +180,7 @@ namespace IfcGeom { bool match(express::Base prod) const { // @todo ifcopenshell::geometry::Settings s; - static auto mapping = ifcopenshell::geometry::impl::mapping_implementations().construct(prod.data()->file(), s); + static auto mapping = ifcopenshell::geometry::impl::mapping_implementations().construct(prod.file(), s); layer_map_t layers = mapping->get_layers(prod); return std::find_if(layers.begin(), layers.end(), wildcards_match(values)) != layers.end(); } diff --git a/src/ifcgeom/kernels/opencascade/loop.cpp b/src/ifcgeom/kernels/opencascade/loop.cpp index f1baae5db6..5db9ba4853 100644 --- a/src/ifcgeom/kernels/opencascade/loop.cpp +++ b/src/ifcgeom/kernels/opencascade/loop.cpp @@ -295,7 +295,7 @@ bool OpenCascadeKernel::convert(const taxonomy::loop::ptr loop, TopoDS_Wire& wir bool force_close = false; if (loop->instance && loop->instance.as()) { auto inst = loop->instance.as(); - auto file = loop->instance.as().data()->file(); + auto file = loop->instance.as().file(); auto profile = file->getInverse(inst.id(), file->schema()->declaration_by_name("IfcProfileDef"), -1); force_close = profile.size() > 0; } diff --git a/src/ifcgeom/mapping/IfcCompositeCurve.cpp b/src/ifcgeom/mapping/IfcCompositeCurve.cpp index a63fb655cb..de41244e57 100644 --- a/src/ifcgeom/mapping/IfcCompositeCurve.cpp +++ b/src/ifcgeom/mapping/IfcCompositeCurve.cpp @@ -95,7 +95,7 @@ taxonomy::ptr mapping::map_impl(const IfcSchema::IfcCompositeCurve& inst) { } if (spans.empty()) { - std::vector profile = inst.data()->file()->getInverse(inst.id(), &IfcSchema::IfcProfileDef::Class(), -1); + std::vector profile = inst.file()->getInverse(inst.id(), &IfcSchema::IfcProfileDef::Class(), -1); const bool force_close = !profile.empty(); loop->closed = force_close; loop->instance = inst; diff --git a/src/ifcgeom/mapping/IfcTrimmedCurve.cpp b/src/ifcgeom/mapping/IfcTrimmedCurve.cpp index 7b8c708cc7..057f4b2542 100644 --- a/src/ifcgeom/mapping/IfcTrimmedCurve.cpp +++ b/src/ifcgeom/mapping/IfcTrimmedCurve.cpp @@ -115,9 +115,9 @@ taxonomy::ptr mapping::map_impl(const IfcSchema::IfcTrimmedCurve& inst) { // or trimmed segment would be whether there are other curve segments or this // is the only one. std::optional num_segments; - auto segment = inst.data()->file()->getInverse(inst.id(), & IfcSchema::IfcCompositeCurveSegment::Class(), -1); + auto segment = inst.file()->getInverse(inst.id(), & IfcSchema::IfcCompositeCurveSegment::Class(), -1); if (segment.size() == 1) { - auto comp = segment.front().data()->file()->getInverse(segment.front().id(), &IfcSchema::IfcCompositeCurve::Class(), -1); + auto comp = segment.front().file()->getInverse(segment.front().id(), &IfcSchema::IfcCompositeCurve::Class(), -1); if (comp.size() == 1) { num_segments = comp.front().as().Segments().size(); } diff --git a/src/ifcgeom/mapping/mapping.cpp b/src/ifcgeom/mapping/mapping.cpp index bb6fee5b2d..d8b3e43d7c 100644 --- a/src/ifcgeom/mapping/mapping.cpp +++ b/src/ifcgeom/mapping/mapping.cpp @@ -58,7 +58,7 @@ std::vector mapping::products_represented_by(const IfcSch // IfcProductRepresentation also lacks the INVERSE relation to IfcProduct // Let's find the IfcProducts that reference the IfcProductRepresentation anyway - auto invs = prodrep.data()->file()->getInverse(prodrep.id(), &IfcSchema::IfcProduct::Class(), -1); + auto invs = prodrep.file()->getInverse(prodrep.id(), &IfcSchema::IfcProduct::Class(), -1); for (auto& inv : invs) { products.push_back(inv.as()); } @@ -91,12 +91,12 @@ std::vector mapping::products_represented_by(const IfcSch continue; } - auto reps = item.data()->file()->getInverse(item.id(), (&IfcSchema::IfcRepresentation::Class()), -1); + auto reps = item.file()->getInverse(item.id(), (&IfcSchema::IfcRepresentation::Class()), -1); for (auto& rep : reps) { if (rep.as().Items().size() != 1) continue; std::vector prodreps_mapped = rep.as().OfProductRepresentation(); for (auto& prm : prodreps_mapped) { - auto ps = prm.data()->file()->getInverse(prm.id(), (&IfcSchema::IfcProduct::Class()), -1); + auto ps = prm.file()->getInverse(prm.id(), (&IfcSchema::IfcProduct::Class()), -1); for (auto& p : ps) { products.push_back(p.as()); } @@ -783,8 +783,8 @@ express::Base mapping::get_decomposing_entity(const express::Base& inst, bool in /* Parent decompositions to the RelatingObject */ if (!parent) { - std::vector parents = product.data()->file()->getInverse(product.id(), (&IfcSchema::IfcRelAggregates::Class()), -1); - auto nests = product.data()->file()->getInverse(product.id(), (&IfcSchema::IfcRelNests::Class()), -1); + std::vector parents = product.file()->getInverse(product.id(), (&IfcSchema::IfcRelAggregates::Class()), -1); + auto nests = product.file()->getInverse(product.id(), (&IfcSchema::IfcRelNests::Class()), -1); parents.insert(parents.end(), nests.begin(), nests.end()); for (auto it = parents.begin(); it != parents.end(); ++it) { IfcSchema::IfcRelDecomposes decompose = (*it).as(); diff --git a/src/ifcparse/Ifc2x3.cpp b/src/ifcparse/Ifc2x3.cpp index a73f7ee6ed..6b8632bb01 100644 --- a/src/ifcparse/Ifc2x3.cpp +++ b/src/ifcparse/Ifc2x3.cpp @@ -5379,7 +5379,7 @@ const IfcParse::entity& Ifc2x3::IfcActionRequest::Class() { return *((IfcParse:: ::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(data()->file()->getInverse(data()->id(), IFC2X3_types[670], 6)); } +std::vector<::Ifc2x3::IfcRelAssignsToActor> Ifc2x3::IfcActor::IsActingUpon() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[670], 6)); } // const IfcParse::entity& Ifc2x3::IfcActor::declaration() const { return *((IfcParse::entity*)IFC2X3_types[6]); } const IfcParse::entity& Ifc2x3::IfcActor::Class() { return *((IfcParse::entity*)IFC2X3_types[6]); } @@ -5418,8 +5418,8 @@ void Ifc2x3::IfcAddress::setDescription(const std::optional< std::string >& v) { std::optional< std::string > Ifc2x3::IfcAddress::UserDefinedPurpose() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcAddress::setUserDefinedPurpose(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc2x3::IfcPerson> Ifc2x3::IfcAddress::OfPerson() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[545], 7)); } -std::vector<::Ifc2x3::IfcOrganization> Ifc2x3::IfcAddress::OfOrganization() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[531], 4)); } +std::vector<::Ifc2x3::IfcPerson> Ifc2x3::IfcAddress::OfPerson() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[545], 7)); } +std::vector<::Ifc2x3::IfcOrganization> Ifc2x3::IfcAddress::OfOrganization() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[531], 4)); } // const IfcParse::entity& Ifc2x3::IfcAddress::declaration() const { return *((IfcParse::entity*)IFC2X3_types[11]); } const IfcParse::entity& Ifc2x3::IfcAddress::Class() { return *((IfcParse::entity*)IFC2X3_types[11]); } @@ -5476,7 +5476,7 @@ const IfcParse::entity& Ifc2x3::IfcAngularDimension::Class() { return *((IfcPars // Function implementations for IfcAnnotation -std::vector<::Ifc2x3::IfcRelContainedInSpatialStructure> Ifc2x3::IfcAnnotation::ContainedInStructure() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[698], 4)); } +std::vector<::Ifc2x3::IfcRelContainedInSpatialStructure> Ifc2x3::IfcAnnotation::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[698], 4)); } // const IfcParse::entity& Ifc2x3::IfcAnnotation::declaration() const { return *((IfcParse::entity*)IFC2X3_types[27]); } const IfcParse::entity& Ifc2x3::IfcAnnotation::Class() { return *((IfcParse::entity*)IFC2X3_types[27]); } @@ -5589,9 +5589,9 @@ void Ifc2x3::IfcAppliedValue::setApplicableDate(const ::Ifc2x3::IfcDateTimeSelec ::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(data()->file()->getInverse(data()->id(), IFC2X3_types[657], 1)); } -std::vector<::Ifc2x3::IfcAppliedValueRelationship> Ifc2x3::IfcAppliedValue::ValueOfComponents() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[38], 0)); } -std::vector<::Ifc2x3::IfcAppliedValueRelationship> Ifc2x3::IfcAppliedValue::IsComponentIn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[38], 1)); } +std::vector<::Ifc2x3::IfcReferencesValueDocument> Ifc2x3::IfcAppliedValue::ValuesReferenced() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[657], 1)); } +std::vector<::Ifc2x3::IfcAppliedValueRelationship> Ifc2x3::IfcAppliedValue::ValueOfComponents() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[38], 0)); } +std::vector<::Ifc2x3::IfcAppliedValueRelationship> Ifc2x3::IfcAppliedValue::IsComponentIn() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[38], 1)); } // const IfcParse::entity& Ifc2x3::IfcAppliedValue::declaration() const { return *((IfcParse::entity*)IFC2X3_types[37]); } const IfcParse::entity& Ifc2x3::IfcAppliedValue::Class() { return *((IfcParse::entity*)IFC2X3_types[37]); } @@ -5632,9 +5632,9 @@ void Ifc2x3::IfcApproval::setName(const std::string& v) { set_attribute_value(5, std::string Ifc2x3::IfcApproval::Identifier() const { std::string v = get_attribute_value(6); return v; } void Ifc2x3::IfcApproval::setIdentifier(const std::string& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::vector<::Ifc2x3::IfcApprovalActorRelationship> Ifc2x3::IfcApproval::Actors() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[41], 1)); } -std::vector<::Ifc2x3::IfcApprovalRelationship> Ifc2x3::IfcApproval::IsRelatedWith() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[43], 0)); } -std::vector<::Ifc2x3::IfcApprovalRelationship> Ifc2x3::IfcApproval::Relates() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[43], 1)); } +std::vector<::Ifc2x3::IfcApprovalActorRelationship> Ifc2x3::IfcApproval::Actors() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[41], 1)); } +std::vector<::Ifc2x3::IfcApprovalRelationship> Ifc2x3::IfcApproval::IsRelatedWith() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[43], 0)); } +std::vector<::Ifc2x3::IfcApprovalRelationship> Ifc2x3::IfcApproval::Relates() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[43], 1)); } // const IfcParse::entity& Ifc2x3::IfcApproval::declaration() const { return *((IfcParse::entity*)IFC2X3_types[40]); } const IfcParse::entity& Ifc2x3::IfcApproval::Class() { return *((IfcParse::entity*)IFC2X3_types[40]); } @@ -6283,7 +6283,7 @@ void Ifc2x3::IfcClassification::setEditionDate(const ::Ifc2x3::IfcCalendarDate& 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); } -std::vector<::Ifc2x3::IfcClassificationItem> Ifc2x3::IfcClassification::Contains() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[114], 1)); } +std::vector<::Ifc2x3::IfcClassificationItem> Ifc2x3::IfcClassification::Contains() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[114], 1)); } // const IfcParse::entity& Ifc2x3::IfcClassification::declaration() const { return *((IfcParse::entity*)IFC2X3_types[113]); } const IfcParse::entity& Ifc2x3::IfcClassification::Class() { return *((IfcParse::entity*)IFC2X3_types[113]); } @@ -6298,8 +6298,8 @@ void Ifc2x3::IfcClassificationItem::setItemOf(const ::Ifc2x3::IfcClassification& 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); } -std::vector<::Ifc2x3::IfcClassificationItemRelationship> Ifc2x3::IfcClassificationItem::IsClassifiedItemIn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[115], 1)); } -std::vector<::Ifc2x3::IfcClassificationItemRelationship> Ifc2x3::IfcClassificationItem::IsClassifyingItemIn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[115], 0)); } +std::vector<::Ifc2x3::IfcClassificationItemRelationship> Ifc2x3::IfcClassificationItem::IsClassifiedItemIn() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[115], 1)); } +std::vector<::Ifc2x3::IfcClassificationItemRelationship> Ifc2x3::IfcClassificationItem::IsClassifyingItemIn() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[115], 0)); } // const IfcParse::entity& Ifc2x3::IfcClassificationItem::declaration() const { return *((IfcParse::entity*)IFC2X3_types[114]); } const IfcParse::entity& Ifc2x3::IfcClassificationItem::Class() { return *((IfcParse::entity*)IFC2X3_types[114]); } @@ -6440,7 +6440,7 @@ void Ifc2x3::IfcCompositeCurveSegment::setSameSense(const bool& v) { set_attribu ::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(data()->file()->getInverse(data()->id(), IFC2X3_types[132], 0)); } +std::vector<::Ifc2x3::IfcCompositeCurve> Ifc2x3::IfcCompositeCurveSegment::UsingCurves() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[132], 0)); } // const IfcParse::entity& Ifc2x3::IfcCompositeCurveSegment::declaration() const { return *((IfcParse::entity*)IFC2X3_types[133]); } const IfcParse::entity& Ifc2x3::IfcCompositeCurveSegment::Class() { return *((IfcParse::entity*)IFC2X3_types[133]); } @@ -6607,12 +6607,12 @@ void Ifc2x3::IfcConstraint::setCreationTime(const ::Ifc2x3::IfcDateTimeSelect& v 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);} } -std::vector<::Ifc2x3::IfcConstraintClassificationRelationship> Ifc2x3::IfcConstraint::ClassifiedAs() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[154], 0)); } -std::vector<::Ifc2x3::IfcConstraintRelationship> Ifc2x3::IfcConstraint::RelatesConstraints() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[156], 2)); } -std::vector<::Ifc2x3::IfcConstraintRelationship> Ifc2x3::IfcConstraint::IsRelatedWith() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[156], 3)); } -std::vector<::Ifc2x3::IfcPropertyConstraintRelationship> Ifc2x3::IfcConstraint::PropertiesForConstraint() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[617], 0)); } -std::vector<::Ifc2x3::IfcConstraintAggregationRelationship> Ifc2x3::IfcConstraint::Aggregates() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[153], 2)); } -std::vector<::Ifc2x3::IfcConstraintAggregationRelationship> Ifc2x3::IfcConstraint::IsAggregatedIn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[153], 3)); } +std::vector<::Ifc2x3::IfcConstraintClassificationRelationship> Ifc2x3::IfcConstraint::ClassifiedAs() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[154], 0)); } +std::vector<::Ifc2x3::IfcConstraintRelationship> Ifc2x3::IfcConstraint::RelatesConstraints() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[156], 2)); } +std::vector<::Ifc2x3::IfcConstraintRelationship> Ifc2x3::IfcConstraint::IsRelatedWith() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[156], 3)); } +std::vector<::Ifc2x3::IfcPropertyConstraintRelationship> Ifc2x3::IfcConstraint::PropertiesForConstraint() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[617], 0)); } +std::vector<::Ifc2x3::IfcConstraintAggregationRelationship> Ifc2x3::IfcConstraint::Aggregates() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[153], 2)); } +std::vector<::Ifc2x3::IfcConstraintAggregationRelationship> Ifc2x3::IfcConstraint::IsAggregatedIn() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[153], 3)); } // const IfcParse::entity& Ifc2x3::IfcConstraint::declaration() const { return *((IfcParse::entity*)IFC2X3_types[152]); } const IfcParse::entity& Ifc2x3::IfcConstraint::Class() { return *((IfcParse::entity*)IFC2X3_types[152]); } @@ -6721,7 +6721,7 @@ const IfcParse::entity& Ifc2x3::IfcContextDependentUnit::Class() { return *((Ifc // Function implementations for IfcControl -std::vector<::Ifc2x3::IfcRelAssignsToControl> Ifc2x3::IfcControl::Controls() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[671], 6)); } +std::vector<::Ifc2x3::IfcRelAssignsToControl> Ifc2x3::IfcControl::Controls() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[671], 6)); } // const IfcParse::entity& Ifc2x3::IfcControl::declaration() const { return *((IfcParse::entity*)IFC2X3_types[163]); } const IfcParse::entity& Ifc2x3::IfcControl::Class() { return *((IfcParse::entity*)IFC2X3_types[163]); } @@ -6832,8 +6832,8 @@ const IfcParse::entity& Ifc2x3::IfcCostValue::Class() { return *((IfcParse::enti std::optional< ::Ifc2x3::IfcCoveringTypeEnum::Value > Ifc2x3::IfcCovering::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc2x3::IfcCoveringTypeEnum::FromString(get_attribute_value(8)); } void Ifc2x3::IfcCovering::setPredefinedType(const std::optional< ::Ifc2x3::IfcCoveringTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc2x3::IfcCoveringTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc2x3::IfcRelCoversSpaces> Ifc2x3::IfcCovering::CoversSpaces() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[700], 5)); } -std::vector<::Ifc2x3::IfcRelCoversBldgElements> Ifc2x3::IfcCovering::Covers() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[699], 5)); } +std::vector<::Ifc2x3::IfcRelCoversSpaces> Ifc2x3::IfcCovering::CoversSpaces() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[700], 5)); } +std::vector<::Ifc2x3::IfcRelCoversBldgElements> Ifc2x3::IfcCovering::Covers() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[699], 5)); } // const IfcParse::entity& Ifc2x3::IfcCovering::declaration() const { return *((IfcParse::entity*)IFC2X3_types[177]); } const IfcParse::entity& Ifc2x3::IfcCovering::Class() { return *((IfcParse::entity*)IFC2X3_types[177]); } @@ -7138,7 +7138,7 @@ const IfcParse::entity& Ifc2x3::IfcDimensionCalloutRelationship::Class() { retur // Function implementations for IfcDimensionCurve -std::vector<::Ifc2x3::IfcTerminatorSymbol> Ifc2x3::IfcDimensionCurve::AnnotatedBySymbols() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[878], 3)); } +std::vector<::Ifc2x3::IfcTerminatorSymbol> Ifc2x3::IfcDimensionCurve::AnnotatedBySymbols() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[878], 3)); } // const IfcParse::entity& Ifc2x3::IfcDimensionCurve::declaration() const { return *((IfcParse::entity*)IFC2X3_types[221]); } const IfcParse::entity& Ifc2x3::IfcDimensionCurve::Class() { return *((IfcParse::entity*)IFC2X3_types[221]); } @@ -7241,7 +7241,7 @@ const IfcParse::entity& Ifc2x3::IfcDistributionChamberElementType::Class() { ret 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; } void Ifc2x3::IfcDistributionControlElement::setControlElementId(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -std::vector<::Ifc2x3::IfcRelFlowControlElements> Ifc2x3::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[706], 4)); } +std::vector<::Ifc2x3::IfcRelFlowControlElements> Ifc2x3::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[706], 4)); } // const IfcParse::entity& Ifc2x3::IfcDistributionControlElement::declaration() const { return *((IfcParse::entity*)IFC2X3_types[233]); } const IfcParse::entity& Ifc2x3::IfcDistributionControlElement::Class() { return *((IfcParse::entity*)IFC2X3_types[233]); } @@ -7274,7 +7274,7 @@ const IfcParse::entity& Ifc2x3::IfcDistributionElementType::Class() { return *(( // Function implementations for IfcDistributionFlowElement -std::vector<::Ifc2x3::IfcRelFlowControlElements> Ifc2x3::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[706], 5)); } +std::vector<::Ifc2x3::IfcRelFlowControlElements> Ifc2x3::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[706], 5)); } // const IfcParse::entity& Ifc2x3::IfcDistributionFlowElement::declaration() const { return *((IfcParse::entity*)IFC2X3_types[237]); } const IfcParse::entity& Ifc2x3::IfcDistributionFlowElement::Class() { return *((IfcParse::entity*)IFC2X3_types[237]); } @@ -7349,8 +7349,8 @@ void Ifc2x3::IfcDocumentInformation::setConfidentiality(const std::optional< ::I std::optional< ::Ifc2x3::IfcDocumentStatusEnum::Value > Ifc2x3::IfcDocumentInformation::Status() const { if(get_attribute_value(16).isNull()) { return std::nullopt; } return ::Ifc2x3::IfcDocumentStatusEnum::FromString(get_attribute_value(16)); } void Ifc2x3::IfcDocumentInformation::setStatus(const std::optional< ::Ifc2x3::IfcDocumentStatusEnum::Value >& v) { if (v) {set_attribute_value(16, EnumerationReference(&::Ifc2x3::IfcDocumentStatusEnum::Class(), (size_t) *v));} else {unset_attribute_value(16);} } -std::vector<::Ifc2x3::IfcDocumentInformationRelationship> Ifc2x3::IfcDocumentInformation::IsPointedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[243], 1)); } -std::vector<::Ifc2x3::IfcDocumentInformationRelationship> Ifc2x3::IfcDocumentInformation::IsPointer() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[243], 0)); } +std::vector<::Ifc2x3::IfcDocumentInformationRelationship> Ifc2x3::IfcDocumentInformation::IsPointedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[243], 1)); } +std::vector<::Ifc2x3::IfcDocumentInformationRelationship> Ifc2x3::IfcDocumentInformation::IsPointer() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[243], 0)); } // const IfcParse::entity& Ifc2x3::IfcDocumentInformation::declaration() const { return *((IfcParse::entity*)IFC2X3_types[242]); } const IfcParse::entity& Ifc2x3::IfcDocumentInformation::Class() { return *((IfcParse::entity*)IFC2X3_types[242]); } @@ -7373,7 +7373,7 @@ const IfcParse::entity& Ifc2x3::IfcDocumentInformationRelationship::Class() { re // Function implementations for IfcDocumentReference -std::vector<::Ifc2x3::IfcDocumentInformation> Ifc2x3::IfcDocumentReference::ReferenceToDocument() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[242], 3)); } +std::vector<::Ifc2x3::IfcDocumentInformation> Ifc2x3::IfcDocumentReference::ReferenceToDocument() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[242], 3)); } // const IfcParse::entity& Ifc2x3::IfcDocumentReference::declaration() const { return *((IfcParse::entity*)IFC2X3_types[244]); } const IfcParse::entity& Ifc2x3::IfcDocumentReference::Class() { return *((IfcParse::entity*)IFC2X3_types[244]); } @@ -7460,8 +7460,8 @@ const IfcParse::entity& Ifc2x3::IfcDoorStyle::Class() { return *((IfcParse::enti 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(data()->file()->getInverse(data()->id(), IFC2X3_types[258], 3)); } -std::vector<::Ifc2x3::IfcDraughtingCalloutRelationship> Ifc2x3::IfcDraughtingCallout::IsRelatedToCallout() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[258], 2)); } +std::vector<::Ifc2x3::IfcDraughtingCalloutRelationship> Ifc2x3::IfcDraughtingCallout::IsRelatedFromCallout() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[258], 3)); } +std::vector<::Ifc2x3::IfcDraughtingCalloutRelationship> Ifc2x3::IfcDraughtingCallout::IsRelatedToCallout() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[258], 2)); } // const IfcParse::entity& Ifc2x3::IfcDraughtingCallout::declaration() const { return *((IfcParse::entity*)IFC2X3_types[256]); } const IfcParse::entity& Ifc2x3::IfcDraughtingCallout::Class() { return *((IfcParse::entity*)IFC2X3_types[256]); } @@ -7698,18 +7698,18 @@ const IfcParse::entity& Ifc2x3::IfcElectricalElement::Class() { return *((IfcPar std::optional< std::string > Ifc2x3::IfcElement::Tag() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc2x3::IfcElement::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -std::vector<::Ifc2x3::IfcRelConnectsStructuralElement> Ifc2x3::IfcElement::HasStructuralMember() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[694], 4)); } -std::vector<::Ifc2x3::IfcRelFillsElement> Ifc2x3::IfcElement::FillsVoids() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[705], 5)); } -std::vector<::Ifc2x3::IfcRelConnectsElements> Ifc2x3::IfcElement::ConnectedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[689], 5)); } -std::vector<::Ifc2x3::IfcRelCoversBldgElements> Ifc2x3::IfcElement::HasCoverings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[699], 4)); } -std::vector<::Ifc2x3::IfcRelProjectsElement> Ifc2x3::IfcElement::HasProjections() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[711], 4)); } -std::vector<::Ifc2x3::IfcRelReferencedInSpatialStructure> Ifc2x3::IfcElement::ReferencedInStructures() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[712], 4)); } -std::vector<::Ifc2x3::IfcRelConnectsPortToElement> Ifc2x3::IfcElement::HasPorts() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[692], 5)); } -std::vector<::Ifc2x3::IfcRelVoidsElement> Ifc2x3::IfcElement::HasOpenings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[717], 4)); } -std::vector<::Ifc2x3::IfcRelConnectsWithRealizingElements> Ifc2x3::IfcElement::IsConnectionRealization() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[697], 7)); } -std::vector<::Ifc2x3::IfcRelSpaceBoundary> Ifc2x3::IfcElement::ProvidesBoundaries() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[716], 5)); } -std::vector<::Ifc2x3::IfcRelConnectsElements> Ifc2x3::IfcElement::ConnectedFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[689], 6)); } -std::vector<::Ifc2x3::IfcRelContainedInSpatialStructure> Ifc2x3::IfcElement::ContainedInStructure() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[698], 4)); } +std::vector<::Ifc2x3::IfcRelConnectsStructuralElement> Ifc2x3::IfcElement::HasStructuralMember() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[694], 4)); } +std::vector<::Ifc2x3::IfcRelFillsElement> Ifc2x3::IfcElement::FillsVoids() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[705], 5)); } +std::vector<::Ifc2x3::IfcRelConnectsElements> Ifc2x3::IfcElement::ConnectedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[689], 5)); } +std::vector<::Ifc2x3::IfcRelCoversBldgElements> Ifc2x3::IfcElement::HasCoverings() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[699], 4)); } +std::vector<::Ifc2x3::IfcRelProjectsElement> Ifc2x3::IfcElement::HasProjections() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[711], 4)); } +std::vector<::Ifc2x3::IfcRelReferencedInSpatialStructure> Ifc2x3::IfcElement::ReferencedInStructures() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[712], 4)); } +std::vector<::Ifc2x3::IfcRelConnectsPortToElement> Ifc2x3::IfcElement::HasPorts() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[692], 5)); } +std::vector<::Ifc2x3::IfcRelVoidsElement> Ifc2x3::IfcElement::HasOpenings() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[717], 4)); } +std::vector<::Ifc2x3::IfcRelConnectsWithRealizingElements> Ifc2x3::IfcElement::IsConnectionRealization() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[697], 7)); } +std::vector<::Ifc2x3::IfcRelSpaceBoundary> Ifc2x3::IfcElement::ProvidesBoundaries() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[716], 5)); } +std::vector<::Ifc2x3::IfcRelConnectsElements> Ifc2x3::IfcElement::ConnectedFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[689], 6)); } +std::vector<::Ifc2x3::IfcRelContainedInSpatialStructure> Ifc2x3::IfcElement::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[698], 4)); } // const IfcParse::entity& Ifc2x3::IfcElement::declaration() const { return *((IfcParse::entity*)IFC2X3_types[297]); } const IfcParse::entity& Ifc2x3::IfcElement::Class() { return *((IfcParse::entity*)IFC2X3_types[297]); } @@ -8076,7 +8076,7 @@ const IfcParse::entity& Ifc2x3::IfcFeatureElement::Class() { return *((IfcParse: // Function implementations for IfcFeatureElementAddition -std::vector<::Ifc2x3::IfcRelProjectsElement> Ifc2x3::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[711], 5)); } +std::vector<::Ifc2x3::IfcRelProjectsElement> Ifc2x3::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[711], 5)); } // const IfcParse::entity& Ifc2x3::IfcFeatureElementAddition::declaration() const { return *((IfcParse::entity*)IFC2X3_types[341]); } const IfcParse::entity& Ifc2x3::IfcFeatureElementAddition::Class() { return *((IfcParse::entity*)IFC2X3_types[341]); } @@ -8085,7 +8085,7 @@ const IfcParse::entity& Ifc2x3::IfcFeatureElementAddition::Class() { return *((I // Function implementations for IfcFeatureElementSubtraction -std::vector<::Ifc2x3::IfcRelVoidsElement> Ifc2x3::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[717], 5)); } +std::vector<::Ifc2x3::IfcRelVoidsElement> Ifc2x3::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[717], 5)); } // const IfcParse::entity& Ifc2x3::IfcFeatureElementSubtraction::declaration() const { return *((IfcParse::entity*)IFC2X3_types[342]); } const IfcParse::entity& Ifc2x3::IfcFeatureElementSubtraction::Class() { return *((IfcParse::entity*)IFC2X3_types[342]); } @@ -8454,7 +8454,7 @@ void Ifc2x3::IfcGeometricRepresentationContext::setWorldCoordinateSystem(const : ::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(data()->file()->getInverse(data()->id(), IFC2X3_types[393], 6)); } +std::vector<::Ifc2x3::IfcGeometricRepresentationSubContext> Ifc2x3::IfcGeometricRepresentationContext::HasSubContexts() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[393], 6)); } // const IfcParse::entity& Ifc2x3::IfcGeometricRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC2X3_types[391]); } const IfcParse::entity& Ifc2x3::IfcGeometricRepresentationContext::Class() { return *((IfcParse::entity*)IFC2X3_types[391]); } @@ -8503,7 +8503,7 @@ void Ifc2x3::IfcGrid::setVAxes(const std::vector< ::Ifc2x3::IfcGridAxis >& v) { 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(data()->file()->getInverse(data()->id(), IFC2X3_types[698], 4)); } +std::vector<::Ifc2x3::IfcRelContainedInSpatialStructure> Ifc2x3::IfcGrid::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[698], 4)); } // const IfcParse::entity& Ifc2x3::IfcGrid::declaration() const { return *((IfcParse::entity*)IFC2X3_types[398]); } const IfcParse::entity& Ifc2x3::IfcGrid::Class() { return *((IfcParse::entity*)IFC2X3_types[398]); } @@ -8518,10 +8518,10 @@ void Ifc2x3::IfcGridAxis::setAxisCurve(const ::Ifc2x3::IfcCurve& v) { set_attrib 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); } -std::vector<::Ifc2x3::IfcGrid> Ifc2x3::IfcGridAxis::PartOfW() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[398], 9)); } -std::vector<::Ifc2x3::IfcGrid> Ifc2x3::IfcGridAxis::PartOfV() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[398], 8)); } -std::vector<::Ifc2x3::IfcGrid> Ifc2x3::IfcGridAxis::PartOfU() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[398], 7)); } -std::vector<::Ifc2x3::IfcVirtualGridIntersection> Ifc2x3::IfcGridAxis::HasIntersections() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[953], 0)); } +std::vector<::Ifc2x3::IfcGrid> Ifc2x3::IfcGridAxis::PartOfW() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[398], 9)); } +std::vector<::Ifc2x3::IfcGrid> Ifc2x3::IfcGridAxis::PartOfV() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[398], 8)); } +std::vector<::Ifc2x3::IfcGrid> Ifc2x3::IfcGridAxis::PartOfU() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[398], 7)); } +std::vector<::Ifc2x3::IfcVirtualGridIntersection> Ifc2x3::IfcGridAxis::HasIntersections() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[953], 0)); } // const IfcParse::entity& Ifc2x3::IfcGridAxis::declaration() const { return *((IfcParse::entity*)IFC2X3_types[399]); } const IfcParse::entity& Ifc2x3::IfcGridAxis::Class() { return *((IfcParse::entity*)IFC2X3_types[399]); } @@ -8542,7 +8542,7 @@ const IfcParse::entity& Ifc2x3::IfcGridPlacement::Class() { return *((IfcParse:: // Function implementations for IfcGroup -std::vector<::Ifc2x3::IfcRelAssignsToGroup> Ifc2x3::IfcGroup::IsGroupedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[672], 6)); } +std::vector<::Ifc2x3::IfcRelAssignsToGroup> Ifc2x3::IfcGroup::IsGroupedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[672], 6)); } // const IfcParse::entity& Ifc2x3::IfcGroup::declaration() const { return *((IfcParse::entity*)IFC2X3_types[401]); } const IfcParse::entity& Ifc2x3::IfcGroup::Class() { return *((IfcParse::entity*)IFC2X3_types[401]); } @@ -8743,7 +8743,7 @@ const IfcParse::entity& Ifc2x3::IfcLibraryInformation::Class() { return *((IfcPa // Function implementations for IfcLibraryReference -std::vector<::Ifc2x3::IfcLibraryInformation> Ifc2x3::IfcLibraryReference::ReferenceIntoLibrary() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[436], 4)); } +std::vector<::Ifc2x3::IfcLibraryInformation> Ifc2x3::IfcLibraryReference::ReferenceIntoLibrary() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[436], 4)); } // const IfcParse::entity& Ifc2x3::IfcLibraryReference::declaration() const { return *((IfcParse::entity*)IFC2X3_types[437]); } const IfcParse::entity& Ifc2x3::IfcLibraryReference::Class() { return *((IfcParse::entity*)IFC2X3_types[437]); } @@ -8958,8 +8958,8 @@ const IfcParse::entity& Ifc2x3::IfcMappedItem::Class() { return *((IfcParse::ent std::string Ifc2x3::IfcMaterial::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcMaterial::setName(const std::string& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector<::Ifc2x3::IfcMaterialDefinitionRepresentation> Ifc2x3::IfcMaterial::HasRepresentation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[478], 3)); } -std::vector<::Ifc2x3::IfcMaterialClassificationRelationship> Ifc2x3::IfcMaterial::ClassifiedAs() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[477], 1)); } +std::vector<::Ifc2x3::IfcMaterialDefinitionRepresentation> Ifc2x3::IfcMaterial::HasRepresentation() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[478], 3)); } +std::vector<::Ifc2x3::IfcMaterialClassificationRelationship> Ifc2x3::IfcMaterial::ClassifiedAs() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[477], 1)); } // const IfcParse::entity& Ifc2x3::IfcMaterial::declaration() const { return *((IfcParse::entity*)IFC2X3_types[476]); } const IfcParse::entity& Ifc2x3::IfcMaterial::Class() { return *((IfcParse::entity*)IFC2X3_types[476]); } @@ -8996,7 +8996,7 @@ void Ifc2x3::IfcMaterialLayer::setLayerThickness(const double& v) { set_attribut std::optional< boost::logic::tribool > Ifc2x3::IfcMaterialLayer::IsVentilated() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc2x3::IfcMaterialLayer::setIsVentilated(const std::optional< boost::logic::tribool >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc2x3::IfcMaterialLayerSet> Ifc2x3::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[480], 0)); } +std::vector<::Ifc2x3::IfcMaterialLayerSet> Ifc2x3::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[480], 0)); } // const IfcParse::entity& Ifc2x3::IfcMaterialLayer::declaration() const { return *((IfcParse::entity*)IFC2X3_types[479]); } const IfcParse::entity& Ifc2x3::IfcMaterialLayer::Class() { return *((IfcParse::entity*)IFC2X3_types[479]); } @@ -9225,7 +9225,7 @@ const IfcParse::entity& Ifc2x3::IfcNamedUnit::Class() { return *((IfcParse::enti std::optional< std::string > Ifc2x3::IfcObject::ObjectType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc2x3::IfcObject::setObjectType(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector<::Ifc2x3::IfcRelDefines> Ifc2x3::IfcObject::IsDefinedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[702], 4)); } +std::vector<::Ifc2x3::IfcRelDefines> Ifc2x3::IfcObject::IsDefinedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[702], 4)); } // const IfcParse::entity& Ifc2x3::IfcObject::declaration() const { return *((IfcParse::entity*)IFC2X3_types[515]); } const IfcParse::entity& Ifc2x3::IfcObject::Class() { return *((IfcParse::entity*)IFC2X3_types[515]); } @@ -9234,10 +9234,10 @@ const IfcParse::entity& Ifc2x3::IfcObject::Class() { return *((IfcParse::entity* // Function implementations for IfcObjectDefinition -std::vector<::Ifc2x3::IfcRelAssigns> Ifc2x3::IfcObjectDefinition::HasAssignments() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[668], 4)); } -std::vector<::Ifc2x3::IfcRelDecomposes> Ifc2x3::IfcObjectDefinition::IsDecomposedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[701], 4)); } -std::vector<::Ifc2x3::IfcRelDecomposes> Ifc2x3::IfcObjectDefinition::Decomposes() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[701], 5)); } -std::vector<::Ifc2x3::IfcRelAssociates> Ifc2x3::IfcObjectDefinition::HasAssociations() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[677], 4)); } +std::vector<::Ifc2x3::IfcRelAssigns> Ifc2x3::IfcObjectDefinition::HasAssignments() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[668], 4)); } +std::vector<::Ifc2x3::IfcRelDecomposes> Ifc2x3::IfcObjectDefinition::IsDecomposedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[701], 4)); } +std::vector<::Ifc2x3::IfcRelDecomposes> Ifc2x3::IfcObjectDefinition::Decomposes() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[701], 5)); } +std::vector<::Ifc2x3::IfcRelAssociates> Ifc2x3::IfcObjectDefinition::HasAssociations() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[677], 4)); } // const IfcParse::entity& Ifc2x3::IfcObjectDefinition::declaration() const { return *((IfcParse::entity*)IFC2X3_types[516]); } const IfcParse::entity& Ifc2x3::IfcObjectDefinition::Class() { return *((IfcParse::entity*)IFC2X3_types[516]); } @@ -9246,8 +9246,8 @@ const IfcParse::entity& Ifc2x3::IfcObjectDefinition::Class() { return *((IfcPars // Function implementations for IfcObjectPlacement -std::vector<::Ifc2x3::IfcProduct> Ifc2x3::IfcObjectPlacement::PlacesObject() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[600], 5)); } -std::vector<::Ifc2x3::IfcLocalPlacement> Ifc2x3::IfcObjectPlacement::ReferencedByPlacements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[459], 0)); } +std::vector<::Ifc2x3::IfcProduct> Ifc2x3::IfcObjectPlacement::PlacesObject() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[600], 5)); } +std::vector<::Ifc2x3::IfcLocalPlacement> Ifc2x3::IfcObjectPlacement::ReferencedByPlacements() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[459], 0)); } // const IfcParse::entity& Ifc2x3::IfcObjectPlacement::declaration() const { return *((IfcParse::entity*)IFC2X3_types[519]); } const IfcParse::entity& Ifc2x3::IfcObjectPlacement::Class() { return *((IfcParse::entity*)IFC2X3_types[519]); } @@ -9330,7 +9330,7 @@ const IfcParse::entity& Ifc2x3::IfcOpenShell::Class() { return *((IfcParse::enti // Function implementations for IfcOpeningElement -std::vector<::Ifc2x3::IfcRelFillsElement> Ifc2x3::IfcOpeningElement::HasFillings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[705], 4)); } +std::vector<::Ifc2x3::IfcRelFillsElement> Ifc2x3::IfcOpeningElement::HasFillings() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[705], 4)); } // const IfcParse::entity& Ifc2x3::IfcOpeningElement::declaration() const { return *((IfcParse::entity*)IFC2X3_types[527]); } const IfcParse::entity& Ifc2x3::IfcOpeningElement::Class() { return *((IfcParse::entity*)IFC2X3_types[527]); } @@ -9385,9 +9385,9 @@ void Ifc2x3::IfcOrganization::setRoles(const std::optional< std::vector< ::Ifc2x 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(data()->file()->getInverse(data()->id(), IFC2X3_types[532], 3)); } -std::vector<::Ifc2x3::IfcOrganizationRelationship> Ifc2x3::IfcOrganization::Relates() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[532], 2)); } -std::vector<::Ifc2x3::IfcPersonAndOrganization> Ifc2x3::IfcOrganization::Engages() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[546], 1)); } +std::vector<::Ifc2x3::IfcOrganizationRelationship> Ifc2x3::IfcOrganization::IsRelatedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[532], 3)); } +std::vector<::Ifc2x3::IfcOrganizationRelationship> Ifc2x3::IfcOrganization::Relates() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[532], 2)); } +std::vector<::Ifc2x3::IfcPersonAndOrganization> Ifc2x3::IfcOrganization::Engages() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[546], 1)); } // const IfcParse::entity& Ifc2x3::IfcOrganization::declaration() const { return *((IfcParse::entity*)IFC2X3_types[531]); } const IfcParse::entity& Ifc2x3::IfcOrganization::Class() { return *((IfcParse::entity*)IFC2X3_types[531]); } @@ -9532,7 +9532,7 @@ void Ifc2x3::IfcPerson::setRoles(const std::optional< std::vector< ::Ifc2x3::Ifc 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(data()->file()->getInverse(data()->id(), IFC2X3_types[546], 0)); } +std::vector<::Ifc2x3::IfcPersonAndOrganization> Ifc2x3::IfcPerson::EngagedIn() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[546], 0)); } // const IfcParse::entity& Ifc2x3::IfcPerson::declaration() const { return *((IfcParse::entity*)IFC2X3_types[545]); } const IfcParse::entity& Ifc2x3::IfcPerson::Class() { return *((IfcParse::entity*)IFC2X3_types[545]); } @@ -9575,7 +9575,7 @@ void Ifc2x3::IfcPhysicalQuantity::setName(const std::string& v) { set_attribute_ std::optional< std::string > Ifc2x3::IfcPhysicalQuantity::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcPhysicalQuantity::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc2x3::IfcPhysicalComplexQuantity> Ifc2x3::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[548], 2)); } +std::vector<::Ifc2x3::IfcPhysicalComplexQuantity> Ifc2x3::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[548], 2)); } // const IfcParse::entity& Ifc2x3::IfcPhysicalQuantity::declaration() const { return *((IfcParse::entity*)IFC2X3_types[550]); } const IfcParse::entity& Ifc2x3::IfcPhysicalQuantity::Class() { return *((IfcParse::entity*)IFC2X3_types[550]); } @@ -9766,9 +9766,9 @@ const IfcParse::entity& Ifc2x3::IfcPolyline::Class() { return *((IfcParse::entit // Function implementations for IfcPort -std::vector<::Ifc2x3::IfcRelConnectsPortToElement> Ifc2x3::IfcPort::ContainedIn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[692], 4)); } -std::vector<::Ifc2x3::IfcRelConnectsPorts> Ifc2x3::IfcPort::ConnectedFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[691], 5)); } -std::vector<::Ifc2x3::IfcRelConnectsPorts> Ifc2x3::IfcPort::ConnectedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[691], 4)); } +std::vector<::Ifc2x3::IfcRelConnectsPortToElement> Ifc2x3::IfcPort::ContainedIn() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[692], 4)); } +std::vector<::Ifc2x3::IfcRelConnectsPorts> Ifc2x3::IfcPort::ConnectedFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[691], 5)); } +std::vector<::Ifc2x3::IfcRelConnectsPorts> Ifc2x3::IfcPort::ConnectedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[691], 4)); } // const IfcParse::entity& Ifc2x3::IfcPort::declaration() const { return *((IfcParse::entity*)IFC2X3_types[576]); } const IfcParse::entity& Ifc2x3::IfcPort::Class() { return *((IfcParse::entity*)IFC2X3_types[576]); } @@ -9931,9 +9931,9 @@ const IfcParse::entity& Ifc2x3::IfcProcedure::Class() { return *((IfcParse::enti // Function implementations for IfcProcess -std::vector<::Ifc2x3::IfcRelAssignsToProcess> Ifc2x3::IfcProcess::OperatesOn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[673], 6)); } -std::vector<::Ifc2x3::IfcRelSequence> Ifc2x3::IfcProcess::IsSuccessorFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[714], 5)); } -std::vector<::Ifc2x3::IfcRelSequence> Ifc2x3::IfcProcess::IsPredecessorTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[714], 4)); } +std::vector<::Ifc2x3::IfcRelAssignsToProcess> Ifc2x3::IfcProcess::OperatesOn() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[673], 6)); } +std::vector<::Ifc2x3::IfcRelSequence> Ifc2x3::IfcProcess::IsSuccessorFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[714], 5)); } +std::vector<::Ifc2x3::IfcRelSequence> Ifc2x3::IfcProcess::IsPredecessorTo() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[714], 4)); } // const IfcParse::entity& Ifc2x3::IfcProcess::declaration() const { return *((IfcParse::entity*)IFC2X3_types[599]); } const IfcParse::entity& Ifc2x3::IfcProcess::Class() { return *((IfcParse::entity*)IFC2X3_types[599]); } @@ -9946,7 +9946,7 @@ void Ifc2x3::IfcProduct::setObjectPlacement(const ::Ifc2x3::IfcObjectPlacement& ::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(data()->file()->getInverse(data()->id(), IFC2X3_types[674], 6)); } +std::vector<::Ifc2x3::IfcRelAssignsToProduct> Ifc2x3::IfcProduct::ReferencedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[674], 6)); } // const IfcParse::entity& Ifc2x3::IfcProduct::declaration() const { return *((IfcParse::entity*)IFC2X3_types[600]); } const IfcParse::entity& Ifc2x3::IfcProduct::Class() { return *((IfcParse::entity*)IFC2X3_types[600]); } @@ -9955,8 +9955,8 @@ const IfcParse::entity& Ifc2x3::IfcProduct::Class() { return *((IfcParse::entity // Function implementations for IfcProductDefinitionShape -std::vector<::Ifc2x3::IfcProduct> Ifc2x3::IfcProductDefinitionShape::ShapeOfProduct() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[600], 6)); } -std::vector<::Ifc2x3::IfcShapeAspect> Ifc2x3::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[755], 4)); } +std::vector<::Ifc2x3::IfcProduct> Ifc2x3::IfcProductDefinitionShape::ShapeOfProduct() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[600], 6)); } +std::vector<::Ifc2x3::IfcShapeAspect> Ifc2x3::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[755], 4)); } // const IfcParse::entity& Ifc2x3::IfcProductDefinitionShape::declaration() const { return *((IfcParse::entity*)IFC2X3_types[601]); } const IfcParse::entity& Ifc2x3::IfcProductDefinitionShape::Class() { return *((IfcParse::entity*)IFC2X3_types[601]); } @@ -10081,9 +10081,9 @@ void Ifc2x3::IfcProperty::setName(const std::string& v) { set_attribute_value(0, std::optional< std::string > Ifc2x3::IfcProperty::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcProperty::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc2x3::IfcPropertyDependencyRelationship> Ifc2x3::IfcProperty::PropertyForDependance() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[619], 0)); } -std::vector<::Ifc2x3::IfcPropertyDependencyRelationship> Ifc2x3::IfcProperty::PropertyDependsOn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[619], 1)); } -std::vector<::Ifc2x3::IfcComplexProperty> Ifc2x3::IfcProperty::PartOfComplex() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[131], 3)); } +std::vector<::Ifc2x3::IfcPropertyDependencyRelationship> Ifc2x3::IfcProperty::PropertyForDependance() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[619], 0)); } +std::vector<::Ifc2x3::IfcPropertyDependencyRelationship> Ifc2x3::IfcProperty::PropertyDependsOn() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[619], 1)); } +std::vector<::Ifc2x3::IfcComplexProperty> Ifc2x3::IfcProperty::PartOfComplex() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[131], 3)); } // const IfcParse::entity& Ifc2x3::IfcProperty::declaration() const { return *((IfcParse::entity*)IFC2X3_types[615]); } const IfcParse::entity& Ifc2x3::IfcProperty::Class() { return *((IfcParse::entity*)IFC2X3_types[615]); } @@ -10122,7 +10122,7 @@ const IfcParse::entity& Ifc2x3::IfcPropertyConstraintRelationship::Class() { ret // Function implementations for IfcPropertyDefinition -std::vector<::Ifc2x3::IfcRelAssociates> Ifc2x3::IfcPropertyDefinition::HasAssociations() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[677], 4)); } +std::vector<::Ifc2x3::IfcRelAssociates> Ifc2x3::IfcPropertyDefinition::HasAssociations() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[677], 4)); } // const IfcParse::entity& Ifc2x3::IfcPropertyDefinition::declaration() const { return *((IfcParse::entity*)IFC2X3_types[618]); } const IfcParse::entity& Ifc2x3::IfcPropertyDefinition::Class() { return *((IfcParse::entity*)IFC2X3_types[618]); } @@ -10209,8 +10209,8 @@ const IfcParse::entity& Ifc2x3::IfcPropertySet::Class() { return *((IfcParse::en // Function implementations for IfcPropertySetDefinition -std::vector<::Ifc2x3::IfcRelDefinesByProperties> Ifc2x3::IfcPropertySetDefinition::PropertyDefinitionOf() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[703], 5)); } -std::vector<::Ifc2x3::IfcTypeObject> Ifc2x3::IfcPropertySetDefinition::DefinesType() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[932], 5)); } +std::vector<::Ifc2x3::IfcRelDefinesByProperties> Ifc2x3::IfcPropertySetDefinition::PropertyDefinitionOf() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[703], 5)); } +std::vector<::Ifc2x3::IfcTypeObject> Ifc2x3::IfcPropertySetDefinition::DefinesType() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[932], 5)); } // const IfcParse::entity& Ifc2x3::IfcPropertySetDefinition::declaration() const { return *((IfcParse::entity*)IFC2X3_types[625]); } const IfcParse::entity& Ifc2x3::IfcPropertySetDefinition::Class() { return *((IfcParse::entity*)IFC2X3_types[625]); } @@ -11173,9 +11173,9 @@ void Ifc2x3::IfcRepresentation::setRepresentationType(const std::optional< std:: 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(data()->file()->getInverse(data()->id(), IFC2X3_types[721], 1)); } -std::vector<::Ifc2x3::IfcPresentationLayerAssignment> Ifc2x3::IfcRepresentation::LayerAssignments() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[591], 2)); } -std::vector<::Ifc2x3::IfcProductRepresentation> Ifc2x3::IfcRepresentation::OfProductRepresentation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[602], 2)); } +std::vector<::Ifc2x3::IfcRepresentationMap> Ifc2x3::IfcRepresentation::RepresentationMap() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[721], 1)); } +std::vector<::Ifc2x3::IfcPresentationLayerAssignment> Ifc2x3::IfcRepresentation::LayerAssignments() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[591], 2)); } +std::vector<::Ifc2x3::IfcProductRepresentation> Ifc2x3::IfcRepresentation::OfProductRepresentation() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[602], 2)); } // const IfcParse::entity& Ifc2x3::IfcRepresentation::declaration() const { return *((IfcParse::entity*)IFC2X3_types[718]); } const IfcParse::entity& Ifc2x3::IfcRepresentation::Class() { return *((IfcParse::entity*)IFC2X3_types[718]); } @@ -11188,7 +11188,7 @@ void Ifc2x3::IfcRepresentationContext::setContextIdentifier(const std::optional< std::optional< std::string > Ifc2x3::IfcRepresentationContext::ContextType() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcRepresentationContext::setContextType(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc2x3::IfcRepresentation> Ifc2x3::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[718], 0)); } +std::vector<::Ifc2x3::IfcRepresentation> Ifc2x3::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[718], 0)); } // const IfcParse::entity& Ifc2x3::IfcRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC2X3_types[719]); } const IfcParse::entity& Ifc2x3::IfcRepresentationContext::Class() { return *((IfcParse::entity*)IFC2X3_types[719]); } @@ -11197,8 +11197,8 @@ const IfcParse::entity& Ifc2x3::IfcRepresentationContext::Class() { return *((If // Function implementations for IfcRepresentationItem -std::vector<::Ifc2x3::IfcPresentationLayerAssignment> Ifc2x3::IfcRepresentationItem::LayerAssignments() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[591], 2)); } -std::vector<::Ifc2x3::IfcStyledItem> Ifc2x3::IfcRepresentationItem::StyledByItem() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[839], 0)); } +std::vector<::Ifc2x3::IfcPresentationLayerAssignment> Ifc2x3::IfcRepresentationItem::LayerAssignments() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[591], 2)); } +std::vector<::Ifc2x3::IfcStyledItem> Ifc2x3::IfcRepresentationItem::StyledByItem() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[839], 0)); } // const IfcParse::entity& Ifc2x3::IfcRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC2X3_types[720]); } const IfcParse::entity& Ifc2x3::IfcRepresentationItem::Class() { return *((IfcParse::entity*)IFC2X3_types[720]); } @@ -11211,7 +11211,7 @@ void Ifc2x3::IfcRepresentationMap::setMappingOrigin(const ::Ifc2x3::IfcAxis2Plac ::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(data()->file()->getInverse(data()->id(), IFC2X3_types[471], 0)); } +std::vector<::Ifc2x3::IfcMappedItem> Ifc2x3::IfcRepresentationMap::MapUsage() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[471], 0)); } // const IfcParse::entity& Ifc2x3::IfcRepresentationMap::declaration() const { return *((IfcParse::entity*)IFC2X3_types[721]); } const IfcParse::entity& Ifc2x3::IfcRepresentationMap::Class() { return *((IfcParse::entity*)IFC2X3_types[721]); } @@ -11220,7 +11220,7 @@ const IfcParse::entity& Ifc2x3::IfcRepresentationMap::Class() { return *((IfcPar // Function implementations for IfcResource -std::vector<::Ifc2x3::IfcRelAssignsToResource> Ifc2x3::IfcResource::ResourceOf() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[676], 6)); } +std::vector<::Ifc2x3::IfcRelAssignsToResource> Ifc2x3::IfcResource::ResourceOf() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[676], 6)); } // const IfcParse::entity& Ifc2x3::IfcResource::declaration() const { return *((IfcParse::entity*)IFC2X3_types[722]); } const IfcParse::entity& Ifc2x3::IfcResource::Class() { return *((IfcParse::entity*)IFC2X3_types[722]); } @@ -11387,7 +11387,7 @@ void Ifc2x3::IfcScheduleTimeControl::setFinishFloat(const std::optional< double std::optional< double > Ifc2x3::IfcScheduleTimeControl::Completion() const { if(get_attribute_value(22).isNull()) { return std::nullopt; } double v = get_attribute_value(22); return v; } void Ifc2x3::IfcScheduleTimeControl::setCompletion(const std::optional< double >& v) { if (v) {set_attribute_value(22, *v);} else {unset_attribute_value(22);} } -std::vector<::Ifc2x3::IfcRelAssignsTasks> Ifc2x3::IfcScheduleTimeControl::ScheduleTimeControlAssigned() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[669], 7)); } +std::vector<::Ifc2x3::IfcRelAssignsTasks> Ifc2x3::IfcScheduleTimeControl::ScheduleTimeControlAssigned() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[669], 7)); } // const IfcParse::entity& Ifc2x3::IfcScheduleTimeControl::declaration() const { return *((IfcParse::entity*)IFC2X3_types[740]); } const IfcParse::entity& Ifc2x3::IfcScheduleTimeControl::Class() { return *((IfcParse::entity*)IFC2X3_types[740]); } @@ -11500,7 +11500,7 @@ const IfcParse::entity& Ifc2x3::IfcShapeAspect::Class() { return *((IfcParse::en // Function implementations for IfcShapeModel -std::vector<::Ifc2x3::IfcShapeAspect> Ifc2x3::IfcShapeModel::OfShapeAspect() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[755], 0)); } +std::vector<::Ifc2x3::IfcShapeAspect> Ifc2x3::IfcShapeModel::OfShapeAspect() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[755], 0)); } // const IfcParse::entity& Ifc2x3::IfcShapeModel::declaration() const { return *((IfcParse::entity*)IFC2X3_types[756]); } const IfcParse::entity& Ifc2x3::IfcShapeModel::Class() { return *((IfcParse::entity*)IFC2X3_types[756]); } @@ -11627,8 +11627,8 @@ void Ifc2x3::IfcSpace::setInteriorOrExteriorSpace(const ::Ifc2x3::IfcInternalOrE std::optional< double > Ifc2x3::IfcSpace::ElevationWithFlooring() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } double v = get_attribute_value(10); return v; } void Ifc2x3::IfcSpace::setElevationWithFlooring(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -std::vector<::Ifc2x3::IfcRelCoversSpaces> Ifc2x3::IfcSpace::HasCoverings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[700], 4)); } -std::vector<::Ifc2x3::IfcRelSpaceBoundary> Ifc2x3::IfcSpace::BoundedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[716], 4)); } +std::vector<::Ifc2x3::IfcRelCoversSpaces> Ifc2x3::IfcSpace::HasCoverings() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[700], 4)); } +std::vector<::Ifc2x3::IfcRelSpaceBoundary> Ifc2x3::IfcSpace::BoundedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[716], 4)); } // const IfcParse::entity& Ifc2x3::IfcSpace::declaration() const { return *((IfcParse::entity*)IFC2X3_types[779]); } const IfcParse::entity& Ifc2x3::IfcSpace::Class() { return *((IfcParse::entity*)IFC2X3_types[779]); } @@ -11657,8 +11657,8 @@ void Ifc2x3::IfcSpaceProgram::setRequestedLocation(const ::Ifc2x3::IfcSpatialStr 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); } -std::vector<::Ifc2x3::IfcRelInteractionRequirements> Ifc2x3::IfcSpaceProgram::HasInteractionReqsFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[707], 7)); } -std::vector<::Ifc2x3::IfcRelInteractionRequirements> Ifc2x3::IfcSpaceProgram::HasInteractionReqsTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[707], 8)); } +std::vector<::Ifc2x3::IfcRelInteractionRequirements> Ifc2x3::IfcSpaceProgram::HasInteractionReqsFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[707], 7)); } +std::vector<::Ifc2x3::IfcRelInteractionRequirements> Ifc2x3::IfcSpaceProgram::HasInteractionReqsTo() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[707], 8)); } // const IfcParse::entity& Ifc2x3::IfcSpaceProgram::declaration() const { return *((IfcParse::entity*)IFC2X3_types[782]); } const IfcParse::entity& Ifc2x3::IfcSpaceProgram::Class() { return *((IfcParse::entity*)IFC2X3_types[782]); } @@ -11709,9 +11709,9 @@ void Ifc2x3::IfcSpatialStructureElement::setLongName(const std::optional< std::s ::Ifc2x3::IfcElementCompositionEnum::Value Ifc2x3::IfcSpatialStructureElement::CompositionType() const { return ::Ifc2x3::IfcElementCompositionEnum::FromString(get_attribute_value(8)); } void Ifc2x3::IfcSpatialStructureElement::setCompositionType(const ::Ifc2x3::IfcElementCompositionEnum::Value& v) { set_attribute_value(8, EnumerationReference(&::Ifc2x3::IfcElementCompositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -std::vector<::Ifc2x3::IfcRelReferencedInSpatialStructure> Ifc2x3::IfcSpatialStructureElement::ReferencesElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[712], 5)); } -std::vector<::Ifc2x3::IfcRelServicesBuildings> Ifc2x3::IfcSpatialStructureElement::ServicedBySystems() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[715], 5)); } -std::vector<::Ifc2x3::IfcRelContainedInSpatialStructure> Ifc2x3::IfcSpatialStructureElement::ContainsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[698], 5)); } +std::vector<::Ifc2x3::IfcRelReferencedInSpatialStructure> Ifc2x3::IfcSpatialStructureElement::ReferencesElements() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[712], 5)); } +std::vector<::Ifc2x3::IfcRelServicesBuildings> Ifc2x3::IfcSpatialStructureElement::ServicedBySystems() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[715], 5)); } +std::vector<::Ifc2x3::IfcRelContainedInSpatialStructure> Ifc2x3::IfcSpatialStructureElement::ContainsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[698], 5)); } // const IfcParse::entity& Ifc2x3::IfcSpatialStructureElement::declaration() const { return *((IfcParse::entity*)IFC2X3_types[786]); } const IfcParse::entity& Ifc2x3::IfcSpatialStructureElement::Class() { return *((IfcParse::entity*)IFC2X3_types[786]); } @@ -11800,7 +11800,7 @@ void Ifc2x3::IfcStructuralActivity::setAppliedLoad(const ::Ifc2x3::IfcStructural ::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, EnumerationReference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -std::vector<::Ifc2x3::IfcRelConnectsStructuralActivity> Ifc2x3::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[693], 5)); } +std::vector<::Ifc2x3::IfcRelConnectsStructuralActivity> Ifc2x3::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[693], 5)); } // const IfcParse::entity& Ifc2x3::IfcStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC2X3_types[802]); } const IfcParse::entity& Ifc2x3::IfcStructuralActivity::Class() { return *((IfcParse::entity*)IFC2X3_types[802]); } @@ -11827,7 +11827,7 @@ const IfcParse::entity& Ifc2x3::IfcStructuralAnalysisModel::Class() { return *(( ::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(data()->file()->getInverse(data()->id(), IFC2X3_types[695], 5)); } +std::vector<::Ifc2x3::IfcRelConnectsStructuralMember> Ifc2x3::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[695], 5)); } // const IfcParse::entity& Ifc2x3::IfcStructuralConnection::declaration() const { return *((IfcParse::entity*)IFC2X3_types[805]); } const IfcParse::entity& Ifc2x3::IfcStructuralConnection::Class() { return *((IfcParse::entity*)IFC2X3_types[805]); } @@ -11872,7 +11872,7 @@ const IfcParse::entity& Ifc2x3::IfcStructuralCurveMemberVarying::Class() { retur // Function implementations for IfcStructuralItem -std::vector<::Ifc2x3::IfcRelConnectsStructuralActivity> Ifc2x3::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[693], 4)); } +std::vector<::Ifc2x3::IfcRelConnectsStructuralActivity> Ifc2x3::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[693], 4)); } // const IfcParse::entity& Ifc2x3::IfcStructuralItem::declaration() const { return *((IfcParse::entity*)IFC2X3_types[811]); } const IfcParse::entity& Ifc2x3::IfcStructuralItem::Class() { return *((IfcParse::entity*)IFC2X3_types[811]); } @@ -11923,8 +11923,8 @@ void Ifc2x3::IfcStructuralLoadGroup::setCoefficient(const std::optional< double std::optional< std::string > Ifc2x3::IfcStructuralLoadGroup::Purpose() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::string v = get_attribute_value(9); return v; } void Ifc2x3::IfcStructuralLoadGroup::setPurpose(const std::optional< std::string >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -std::vector<::Ifc2x3::IfcStructuralResultGroup> Ifc2x3::IfcStructuralLoadGroup::SourceOfResultGroup() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[832], 6)); } -std::vector<::Ifc2x3::IfcStructuralAnalysisModel> Ifc2x3::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[804], 7)); } +std::vector<::Ifc2x3::IfcStructuralResultGroup> Ifc2x3::IfcStructuralLoadGroup::SourceOfResultGroup() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[832], 6)); } +std::vector<::Ifc2x3::IfcStructuralAnalysisModel> Ifc2x3::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[804], 7)); } // const IfcParse::entity& Ifc2x3::IfcStructuralLoadGroup::declaration() const { return *((IfcParse::entity*)IFC2X3_types[815]); } const IfcParse::entity& Ifc2x3::IfcStructuralLoadGroup::Class() { return *((IfcParse::entity*)IFC2X3_types[815]); } @@ -12049,8 +12049,8 @@ const IfcParse::entity& Ifc2x3::IfcStructuralLoadTemperature::Class() { return * // Function implementations for IfcStructuralMember -std::vector<::Ifc2x3::IfcRelConnectsStructuralElement> Ifc2x3::IfcStructuralMember::ReferencesElement() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[694], 5)); } -std::vector<::Ifc2x3::IfcRelConnectsStructuralMember> Ifc2x3::IfcStructuralMember::ConnectedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[695], 4)); } +std::vector<::Ifc2x3::IfcRelConnectsStructuralElement> Ifc2x3::IfcStructuralMember::ReferencesElement() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[694], 5)); } +std::vector<::Ifc2x3::IfcRelConnectsStructuralMember> Ifc2x3::IfcStructuralMember::ConnectedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[695], 4)); } // const IfcParse::entity& Ifc2x3::IfcStructuralMember::declaration() const { return *((IfcParse::entity*)IFC2X3_types[824]); } const IfcParse::entity& Ifc2x3::IfcStructuralMember::Class() { return *((IfcParse::entity*)IFC2X3_types[824]); } @@ -12145,7 +12145,7 @@ const IfcParse::entity& Ifc2x3::IfcStructuralProfileProperties::Class() { return // Function implementations for IfcStructuralReaction -std::vector<::Ifc2x3::IfcStructuralAction> Ifc2x3::IfcStructuralReaction::Causes() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[801], 10)); } +std::vector<::Ifc2x3::IfcStructuralAction> Ifc2x3::IfcStructuralReaction::Causes() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[801], 10)); } // const IfcParse::entity& Ifc2x3::IfcStructuralReaction::declaration() const { return *((IfcParse::entity*)IFC2X3_types[831]); } const IfcParse::entity& Ifc2x3::IfcStructuralReaction::Class() { return *((IfcParse::entity*)IFC2X3_types[831]); } @@ -12160,7 +12160,7 @@ void Ifc2x3::IfcStructuralResultGroup::setResultForLoadGroup(const ::Ifc2x3::Ifc 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); } -std::vector<::Ifc2x3::IfcStructuralAnalysisModel> Ifc2x3::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[804], 8)); } +std::vector<::Ifc2x3::IfcStructuralAnalysisModel> Ifc2x3::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[804], 8)); } // const IfcParse::entity& Ifc2x3::IfcStructuralResultGroup::declaration() const { return *((IfcParse::entity*)IFC2X3_types[832]); } const IfcParse::entity& Ifc2x3::IfcStructuralResultGroup::Class() { return *((IfcParse::entity*)IFC2X3_types[832]); } @@ -12485,7 +12485,7 @@ const IfcParse::entity& Ifc2x3::IfcSymbolStyle::Class() { return *((IfcParse::en // Function implementations for IfcSystem -std::vector<::Ifc2x3::IfcRelServicesBuildings> Ifc2x3::IfcSystem::ServicesBuildings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[715], 4)); } +std::vector<::Ifc2x3::IfcRelServicesBuildings> Ifc2x3::IfcSystem::ServicesBuildings() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[715], 4)); } // const IfcParse::entity& Ifc2x3::IfcSystem::declaration() const { return *((IfcParse::entity*)IFC2X3_types[866]); } const IfcParse::entity& Ifc2x3::IfcSystem::Class() { return *((IfcParse::entity*)IFC2X3_types[866]); } @@ -12546,7 +12546,7 @@ void Ifc2x3::IfcTableRow::setRowCells(const std::vector< ::Ifc2x3::IfcValue >& v 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(data()->file()->getInverse(data()->id(), IFC2X3_types[868], 1)); } +std::vector<::Ifc2x3::IfcTable> Ifc2x3::IfcTableRow::OfTable() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[868], 1)); } // const IfcParse::entity& Ifc2x3::IfcTableRow::declaration() const { return *((IfcParse::entity*)IFC2X3_types[869]); } const IfcParse::entity& Ifc2x3::IfcTableRow::Class() { return *((IfcParse::entity*)IFC2X3_types[869]); } @@ -12753,7 +12753,7 @@ const IfcParse::entity& Ifc2x3::IfcTextStyleWithBoxCharacteristics::Class() { re // Function implementations for IfcTextureCoordinate -std::vector<::Ifc2x3::IfcAnnotationSurface> Ifc2x3::IfcTextureCoordinate::AnnotatedSurface() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC2X3_types[32], 1)); } +std::vector<::Ifc2x3::IfcAnnotationSurface> Ifc2x3::IfcTextureCoordinate::AnnotatedSurface() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[32], 1)); } // const IfcParse::entity& Ifc2x3::IfcTextureCoordinate::declaration() const { return *((IfcParse::entity*)IFC2X3_types[894]); } const IfcParse::entity& Ifc2x3::IfcTextureCoordinate::Class() { return *((IfcParse::entity*)IFC2X3_types[894]); } @@ -12826,7 +12826,7 @@ void Ifc2x3::IfcTimeSeries::setUserDefinedDataOrigin(const std::optional< std::s ::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(data()->file()->getInverse(data()->id(), IFC2X3_types[910], 0)); } +std::vector<::Ifc2x3::IfcTimeSeriesReferenceRelationship> Ifc2x3::IfcTimeSeries::DocumentedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[910], 0)); } // const IfcParse::entity& Ifc2x3::IfcTimeSeries::declaration() const { return *((IfcParse::entity*)IFC2X3_types[908]); } const IfcParse::entity& Ifc2x3::IfcTimeSeries::Class() { return *((IfcParse::entity*)IFC2X3_types[908]); } @@ -12979,7 +12979,7 @@ void Ifc2x3::IfcTypeObject::setApplicableOccurrence(const std::optional< std::st 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(data()->file()->getInverse(data()->id(), IFC2X3_types[704], 5)); } +std::vector<::Ifc2x3::IfcRelDefinesByType> Ifc2x3::IfcTypeObject::ObjectTypeOf() const { return cast_vector(file()->getInverse(data()->id(), IFC2X3_types[704], 5)); } // const IfcParse::entity& Ifc2x3::IfcTypeObject::declaration() const { return *((IfcParse::entity*)IFC2X3_types[932]); } const IfcParse::entity& Ifc2x3::IfcTypeObject::Class() { return *((IfcParse::entity*)IFC2X3_types[932]); } diff --git a/src/ifcparse/Ifc4.cpp b/src/ifcparse/Ifc4.cpp index 11b59f1c3f..a5a6b776e7 100644 --- a/src/ifcparse/Ifc4.cpp +++ b/src/ifcparse/Ifc4.cpp @@ -6702,7 +6702,7 @@ const IfcParse::entity& Ifc4::IfcActionRequest::Class() { return *((IfcParse::en ::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(data()->file()->getInverse(data()->id(), IFC4_types[799], 6)); } +std::vector<::Ifc4::IfcRelAssignsToActor> Ifc4::IfcActor::IsActingUpon() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[799], 6)); } // const IfcParse::entity& Ifc4::IfcActor::declaration() const { return *((IfcParse::entity*)IFC4_types[6]); } const IfcParse::entity& Ifc4::IfcActor::Class() { return *((IfcParse::entity*)IFC4_types[6]); } @@ -6717,7 +6717,7 @@ void Ifc4::IfcActorRole::setUserDefinedRole(const std::optional< std::string >& std::optional< std::string > Ifc4::IfcActorRole::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcActorRole::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4::IfcExternalReferenceRelationship> Ifc4::IfcActorRole::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[380], 3)); } +std::vector<::Ifc4::IfcExternalReferenceRelationship> Ifc4::IfcActorRole::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[380], 3)); } // const IfcParse::entity& Ifc4::IfcActorRole::declaration() const { return *((IfcParse::entity*)IFC4_types[7]); } const IfcParse::entity& Ifc4::IfcActorRole::Class() { return *((IfcParse::entity*)IFC4_types[7]); } @@ -6752,8 +6752,8 @@ void Ifc4::IfcAddress::setDescription(const std::optional< std::string >& v) { i std::optional< std::string > Ifc4::IfcAddress::UserDefinedPurpose() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcAddress::setUserDefinedPurpose(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4::IfcPerson> Ifc4::IfcAddress::OfPerson() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[647], 7)); } -std::vector<::Ifc4::IfcOrganization> Ifc4::IfcAddress::OfOrganization() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[629], 4)); } +std::vector<::Ifc4::IfcPerson> Ifc4::IfcAddress::OfPerson() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[647], 7)); } +std::vector<::Ifc4::IfcOrganization> Ifc4::IfcAddress::OfOrganization() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[629], 4)); } // const IfcParse::entity& Ifc4::IfcAddress::declaration() const { return *((IfcParse::entity*)IFC4_types[12]); } const IfcParse::entity& Ifc4::IfcAddress::Class() { return *((IfcParse::entity*)IFC4_types[12]); } @@ -6868,7 +6868,7 @@ const IfcParse::entity& Ifc4::IfcAlarmType::Class() { return *((IfcParse::entity // Function implementations for IfcAnnotation -std::vector<::Ifc4::IfcRelContainedInSpatialStructure> Ifc4::IfcAnnotation::ContainedInStructure() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[823], 4)); } +std::vector<::Ifc4::IfcRelContainedInSpatialStructure> Ifc4::IfcAnnotation::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[823], 4)); } // const IfcParse::entity& Ifc4::IfcAnnotation::declaration() const { return *((IfcParse::entity*)IFC4_types[33]); } const IfcParse::entity& Ifc4::IfcAnnotation::Class() { return *((IfcParse::entity*)IFC4_types[33]); } @@ -6925,7 +6925,7 @@ void Ifc4::IfcAppliedValue::setArithmeticOperator(const std::optional< ::Ifc4::I 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(data()->file()->getInverse(data()->id(), IFC4_types[380], 3)); } +std::vector<::Ifc4::IfcExternalReferenceRelationship> Ifc4::IfcAppliedValue::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[380], 3)); } // const IfcParse::entity& Ifc4::IfcAppliedValue::declaration() const { return *((IfcParse::entity*)IFC4_types[36]); } const IfcParse::entity& Ifc4::IfcAppliedValue::Class() { return *((IfcParse::entity*)IFC4_types[36]); } @@ -6952,11 +6952,11 @@ void Ifc4::IfcApproval::setRequestingApproval(const ::Ifc4::IfcActorSelect& v) { ::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(data()->file()->getInverse(data()->id(), IFC4_types[380], 3)); } -std::vector<::Ifc4::IfcRelAssociatesApproval> Ifc4::IfcApproval::ApprovedObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[807], 5)); } -std::vector<::Ifc4::IfcResourceApprovalRelationship> Ifc4::IfcApproval::ApprovedResources() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[851], 3)); } -std::vector<::Ifc4::IfcApprovalRelationship> Ifc4::IfcApproval::IsRelatedWith() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[39], 3)); } -std::vector<::Ifc4::IfcApprovalRelationship> Ifc4::IfcApproval::Relates() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[39], 2)); } +std::vector<::Ifc4::IfcExternalReferenceRelationship> Ifc4::IfcApproval::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[380], 3)); } +std::vector<::Ifc4::IfcRelAssociatesApproval> Ifc4::IfcApproval::ApprovedObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[807], 5)); } +std::vector<::Ifc4::IfcResourceApprovalRelationship> Ifc4::IfcApproval::ApprovedResources() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[851], 3)); } +std::vector<::Ifc4::IfcApprovalRelationship> Ifc4::IfcApproval::IsRelatedWith() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[39], 3)); } +std::vector<::Ifc4::IfcApprovalRelationship> Ifc4::IfcApproval::Relates() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[39], 2)); } // const IfcParse::entity& Ifc4::IfcApproval::declaration() const { return *((IfcParse::entity*)IFC4_types[38]); } const IfcParse::entity& Ifc4::IfcApproval::Class() { return *((IfcParse::entity*)IFC4_types[38]); } @@ -7823,8 +7823,8 @@ void Ifc4::IfcClassification::setLocation(const std::optional< std::string >& v) std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::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 Ifc4::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<::Ifc4::IfcRelAssociatesClassification> Ifc4::IfcClassification::ClassificationForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[808], 5)); } -std::vector<::Ifc4::IfcClassificationReference> Ifc4::IfcClassification::HasReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[142], 3)); } +std::vector<::Ifc4::IfcRelAssociatesClassification> Ifc4::IfcClassification::ClassificationForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[808], 5)); } +std::vector<::Ifc4::IfcClassificationReference> Ifc4::IfcClassification::HasReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[142], 3)); } // const IfcParse::entity& Ifc4::IfcClassification::declaration() const { return *((IfcParse::entity*)IFC4_types[141]); } const IfcParse::entity& Ifc4::IfcClassification::Class() { return *((IfcParse::entity*)IFC4_types[141]); } @@ -7839,8 +7839,8 @@ void Ifc4::IfcClassificationReference::setDescription(const std::optional< std:: std::optional< std::string > Ifc4::IfcClassificationReference::Sort() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcClassificationReference::setSort(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4::IfcRelAssociatesClassification> Ifc4::IfcClassificationReference::ClassificationRefForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[808], 5)); } -std::vector<::Ifc4::IfcClassificationReference> Ifc4::IfcClassificationReference::HasReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[142], 3)); } +std::vector<::Ifc4::IfcRelAssociatesClassification> Ifc4::IfcClassificationReference::ClassificationRefForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[808], 5)); } +std::vector<::Ifc4::IfcClassificationReference> Ifc4::IfcClassificationReference::HasReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[142], 3)); } // const IfcParse::entity& Ifc4::IfcClassificationReference::declaration() const { return *((IfcParse::entity*)IFC4_types[142]); } const IfcParse::entity& Ifc4::IfcClassificationReference::Class() { return *((IfcParse::entity*)IFC4_types[142]); } @@ -8011,7 +8011,7 @@ void Ifc4::IfcCompositeCurveSegment::setSameSense(const bool& v) { set_attribute ::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(data()->file()->getInverse(data()->id(), IFC4_types[165], 0)); } +std::vector<::Ifc4::IfcCompositeCurve> Ifc4::IfcCompositeCurveSegment::UsingCurves() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[165], 0)); } // const IfcParse::entity& Ifc4::IfcCompositeCurveSegment::declaration() const { return *((IfcParse::entity*)IFC4_types[167]); } const IfcParse::entity& Ifc4::IfcCompositeCurveSegment::Class() { return *((IfcParse::entity*)IFC4_types[167]); } @@ -8176,8 +8176,8 @@ void Ifc4::IfcConstraint::setCreationTime(const std::optional< std::string >& v) std::optional< std::string > Ifc4::IfcConstraint::UserDefinedGrade() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4::IfcConstraint::setUserDefinedGrade(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4::IfcExternalReferenceRelationship> Ifc4::IfcConstraint::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[380], 3)); } -std::vector<::Ifc4::IfcResourceConstraintRelationship> Ifc4::IfcConstraint::PropertiesForConstraint() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[852], 2)); } +std::vector<::Ifc4::IfcExternalReferenceRelationship> Ifc4::IfcConstraint::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[380], 3)); } +std::vector<::Ifc4::IfcResourceConstraintRelationship> Ifc4::IfcConstraint::PropertiesForConstraint() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[852], 2)); } // const IfcParse::entity& Ifc4::IfcConstraint::declaration() const { return *((IfcParse::entity*)IFC4_types[185]); } const IfcParse::entity& Ifc4::IfcConstraint::Class() { return *((IfcParse::entity*)IFC4_types[185]); } @@ -8282,8 +8282,8 @@ void Ifc4::IfcContext::setRepresentationContexts(const std::optional< std::vecto ::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(data()->file()->getInverse(data()->id(), IFC4_types[830], 4)); } -std::vector<::Ifc4::IfcRelDeclares> Ifc4::IfcContext::Declares() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[826], 4)); } +std::vector<::Ifc4::IfcRelDefinesByProperties> Ifc4::IfcContext::IsDefinedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[830], 4)); } +std::vector<::Ifc4::IfcRelDeclares> Ifc4::IfcContext::Declares() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[826], 4)); } // const IfcParse::entity& Ifc4::IfcContext::declaration() const { return *((IfcParse::entity*)IFC4_types[198]); } const IfcParse::entity& Ifc4::IfcContext::Class() { return *((IfcParse::entity*)IFC4_types[198]); } @@ -8294,7 +8294,7 @@ const IfcParse::entity& Ifc4::IfcContext::Class() { return *((IfcParse::entity*) std::string Ifc4::IfcContextDependentUnit::Name() const { std::string v = get_attribute_value(2); return v; } void Ifc4::IfcContextDependentUnit::setName(const std::string& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector<::Ifc4::IfcExternalReferenceRelationship> Ifc4::IfcContextDependentUnit::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[380], 3)); } +std::vector<::Ifc4::IfcExternalReferenceRelationship> Ifc4::IfcContextDependentUnit::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[380], 3)); } // const IfcParse::entity& Ifc4::IfcContextDependentUnit::declaration() const { return *((IfcParse::entity*)IFC4_types[200]); } const IfcParse::entity& Ifc4::IfcContextDependentUnit::Class() { return *((IfcParse::entity*)IFC4_types[200]); } @@ -8305,7 +8305,7 @@ const IfcParse::entity& Ifc4::IfcContextDependentUnit::Class() { return *((IfcPa std::optional< std::string > Ifc4::IfcControl::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcControl::setIdentification(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4::IfcRelAssignsToControl> Ifc4::IfcControl::Controls() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[800], 6)); } +std::vector<::Ifc4::IfcRelAssignsToControl> Ifc4::IfcControl::Controls() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[800], 6)); } // const IfcParse::entity& Ifc4::IfcControl::declaration() const { return *((IfcParse::entity*)IFC4_types[201]); } const IfcParse::entity& Ifc4::IfcControl::Class() { return *((IfcParse::entity*)IFC4_types[201]); } @@ -8338,7 +8338,7 @@ void Ifc4::IfcConversionBasedUnit::setName(const std::string& v) { set_attribute ::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(data()->file()->getInverse(data()->id(), IFC4_types[380], 3)); } +std::vector<::Ifc4::IfcExternalReferenceRelationship> Ifc4::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[380], 3)); } // const IfcParse::entity& Ifc4::IfcConversionBasedUnit::declaration() const { return *((IfcParse::entity*)IFC4_types[205]); } const IfcParse::entity& Ifc4::IfcConversionBasedUnit::Class() { return *((IfcParse::entity*)IFC4_types[205]); } @@ -8417,7 +8417,7 @@ void Ifc4::IfcCoordinateReferenceSystem::setGeodeticDatum(const std::optional< s std::optional< std::string > Ifc4::IfcCoordinateReferenceSystem::VerticalDatum() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4::IfcCoordinateReferenceSystem::setVerticalDatum(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -std::vector<::Ifc4::IfcCoordinateOperation> Ifc4::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[213], 0)); } +std::vector<::Ifc4::IfcCoordinateOperation> Ifc4::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[213], 0)); } // const IfcParse::entity& Ifc4::IfcCoordinateReferenceSystem::declaration() const { return *((IfcParse::entity*)IFC4_types[214]); } const IfcParse::entity& Ifc4::IfcCoordinateReferenceSystem::Class() { return *((IfcParse::entity*)IFC4_types[214]); } @@ -8466,8 +8466,8 @@ const IfcParse::entity& Ifc4::IfcCostValue::Class() { return *((IfcParse::entity 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)); } void Ifc4::IfcCovering::setPredefinedType(const std::optional< ::Ifc4::IfcCoveringTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcCoveringTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4::IfcRelCoversSpaces> Ifc4::IfcCovering::CoversSpaces() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[825], 5)); } -std::vector<::Ifc4::IfcRelCoversBldgElements> Ifc4::IfcCovering::CoversElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[824], 5)); } +std::vector<::Ifc4::IfcRelCoversSpaces> Ifc4::IfcCovering::CoversSpaces() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[825], 5)); } +std::vector<::Ifc4::IfcRelCoversBldgElements> Ifc4::IfcCovering::CoversElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[824], 5)); } // const IfcParse::entity& Ifc4::IfcCovering::declaration() const { return *((IfcParse::entity*)IFC4_types[222]); } const IfcParse::entity& Ifc4::IfcCovering::Class() { return *((IfcParse::entity*)IFC4_types[222]); } @@ -8804,7 +8804,7 @@ const IfcParse::entity& Ifc4::IfcDistributionCircuit::Class() { return *((IfcPar // Function implementations for IfcDistributionControlElement -std::vector<::Ifc4::IfcRelFlowControlElements> Ifc4::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[834], 4)); } +std::vector<::Ifc4::IfcRelFlowControlElements> Ifc4::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[834], 4)); } // const IfcParse::entity& Ifc4::IfcDistributionControlElement::declaration() const { return *((IfcParse::entity*)IFC4_types[276]); } const IfcParse::entity& Ifc4::IfcDistributionControlElement::Class() { return *((IfcParse::entity*)IFC4_types[276]); } @@ -8821,7 +8821,7 @@ const IfcParse::entity& Ifc4::IfcDistributionControlElementType::Class() { retur // Function implementations for IfcDistributionElement -std::vector<::Ifc4::IfcRelConnectsPortToElement> Ifc4::IfcDistributionElement::HasPorts() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[818], 5)); } +std::vector<::Ifc4::IfcRelConnectsPortToElement> Ifc4::IfcDistributionElement::HasPorts() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[818], 5)); } // const IfcParse::entity& Ifc4::IfcDistributionElement::declaration() const { return *((IfcParse::entity*)IFC4_types[278]); } const IfcParse::entity& Ifc4::IfcDistributionElement::Class() { return *((IfcParse::entity*)IFC4_types[278]); } @@ -8838,7 +8838,7 @@ const IfcParse::entity& Ifc4::IfcDistributionElementType::Class() { return *((If // Function implementations for IfcDistributionFlowElement -std::vector<::Ifc4::IfcRelFlowControlElements> Ifc4::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[834], 5)); } +std::vector<::Ifc4::IfcRelFlowControlElements> Ifc4::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[834], 5)); } // const IfcParse::entity& Ifc4::IfcDistributionFlowElement::declaration() const { return *((IfcParse::entity*)IFC4_types[280]); } const IfcParse::entity& Ifc4::IfcDistributionFlowElement::Class() { return *((IfcParse::entity*)IFC4_types[280]); } @@ -8915,10 +8915,10 @@ void Ifc4::IfcDocumentInformation::setConfidentiality(const std::optional< ::Ifc std::optional< ::Ifc4::IfcDocumentStatusEnum::Value > Ifc4::IfcDocumentInformation::Status() const { if(get_attribute_value(16).isNull()) { return std::nullopt; } return ::Ifc4::IfcDocumentStatusEnum::FromString(get_attribute_value(16)); } void Ifc4::IfcDocumentInformation::setStatus(const std::optional< ::Ifc4::IfcDocumentStatusEnum::Value >& v) { if (v) {set_attribute_value(16, EnumerationReference(&::Ifc4::IfcDocumentStatusEnum::Class(), (size_t) *v));} else {unset_attribute_value(16);} } -std::vector<::Ifc4::IfcRelAssociatesDocument> Ifc4::IfcDocumentInformation::DocumentInfoForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[810], 5)); } -std::vector<::Ifc4::IfcDocumentReference> Ifc4::IfcDocumentInformation::HasDocumentReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[289], 4)); } -std::vector<::Ifc4::IfcDocumentInformationRelationship> Ifc4::IfcDocumentInformation::IsPointedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[288], 3)); } -std::vector<::Ifc4::IfcDocumentInformationRelationship> Ifc4::IfcDocumentInformation::IsPointer() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[288], 2)); } +std::vector<::Ifc4::IfcRelAssociatesDocument> Ifc4::IfcDocumentInformation::DocumentInfoForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[810], 5)); } +std::vector<::Ifc4::IfcDocumentReference> Ifc4::IfcDocumentInformation::HasDocumentReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[289], 4)); } +std::vector<::Ifc4::IfcDocumentInformationRelationship> Ifc4::IfcDocumentInformation::IsPointedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[288], 3)); } +std::vector<::Ifc4::IfcDocumentInformationRelationship> Ifc4::IfcDocumentInformation::IsPointer() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[288], 2)); } // const IfcParse::entity& Ifc4::IfcDocumentInformation::declaration() const { return *((IfcParse::entity*)IFC4_types[287]); } const IfcParse::entity& Ifc4::IfcDocumentInformation::Class() { return *((IfcParse::entity*)IFC4_types[287]); } @@ -8945,7 +8945,7 @@ void Ifc4::IfcDocumentReference::setDescription(const std::optional< std::string ::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(data()->file()->getInverse(data()->id(), IFC4_types[810], 5)); } +std::vector<::Ifc4::IfcRelAssociatesDocument> Ifc4::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[810], 5)); } // const IfcParse::entity& Ifc4::IfcDocumentReference::declaration() const { return *((IfcParse::entity*)IFC4_types[289]); } const IfcParse::entity& Ifc4::IfcDocumentReference::Class() { return *((IfcParse::entity*)IFC4_types[289]); } @@ -9296,18 +9296,18 @@ const IfcParse::entity& Ifc4::IfcElectricTimeControlType::Class() { return *((If 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; } void Ifc4::IfcElement::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -std::vector<::Ifc4::IfcRelFillsElement> Ifc4::IfcElement::FillsVoids() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[833], 5)); } -std::vector<::Ifc4::IfcRelConnectsElements> Ifc4::IfcElement::ConnectedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[815], 5)); } -std::vector<::Ifc4::IfcRelInterferesElements> Ifc4::IfcElement::IsInterferedByElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[835], 5)); } -std::vector<::Ifc4::IfcRelInterferesElements> Ifc4::IfcElement::InterferesElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[835], 4)); } -std::vector<::Ifc4::IfcRelProjectsElement> Ifc4::IfcElement::HasProjections() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[837], 4)); } -std::vector<::Ifc4::IfcRelReferencedInSpatialStructure> Ifc4::IfcElement::ReferencedInStructures() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[838], 4)); } -std::vector<::Ifc4::IfcRelVoidsElement> Ifc4::IfcElement::HasOpenings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[844], 4)); } -std::vector<::Ifc4::IfcRelConnectsWithRealizingElements> Ifc4::IfcElement::IsConnectionRealization() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[822], 7)); } -std::vector<::Ifc4::IfcRelSpaceBoundary> Ifc4::IfcElement::ProvidesBoundaries() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[841], 5)); } -std::vector<::Ifc4::IfcRelConnectsElements> Ifc4::IfcElement::ConnectedFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[815], 6)); } -std::vector<::Ifc4::IfcRelContainedInSpatialStructure> Ifc4::IfcElement::ContainedInStructure() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[823], 4)); } -std::vector<::Ifc4::IfcRelCoversBldgElements> Ifc4::IfcElement::HasCoverings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[824], 4)); } +std::vector<::Ifc4::IfcRelFillsElement> Ifc4::IfcElement::FillsVoids() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[833], 5)); } +std::vector<::Ifc4::IfcRelConnectsElements> Ifc4::IfcElement::ConnectedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[815], 5)); } +std::vector<::Ifc4::IfcRelInterferesElements> Ifc4::IfcElement::IsInterferedByElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[835], 5)); } +std::vector<::Ifc4::IfcRelInterferesElements> Ifc4::IfcElement::InterferesElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[835], 4)); } +std::vector<::Ifc4::IfcRelProjectsElement> Ifc4::IfcElement::HasProjections() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[837], 4)); } +std::vector<::Ifc4::IfcRelReferencedInSpatialStructure> Ifc4::IfcElement::ReferencedInStructures() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[838], 4)); } +std::vector<::Ifc4::IfcRelVoidsElement> Ifc4::IfcElement::HasOpenings() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[844], 4)); } +std::vector<::Ifc4::IfcRelConnectsWithRealizingElements> Ifc4::IfcElement::IsConnectionRealization() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[822], 7)); } +std::vector<::Ifc4::IfcRelSpaceBoundary> Ifc4::IfcElement::ProvidesBoundaries() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[841], 5)); } +std::vector<::Ifc4::IfcRelConnectsElements> Ifc4::IfcElement::ConnectedFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[815], 6)); } +std::vector<::Ifc4::IfcRelContainedInSpatialStructure> Ifc4::IfcElement::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[823], 4)); } +std::vector<::Ifc4::IfcRelCoversBldgElements> Ifc4::IfcElement::HasCoverings() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[824], 4)); } // const IfcParse::entity& Ifc4::IfcElement::declaration() const { return *((IfcParse::entity*)IFC4_types[345]); } const IfcParse::entity& Ifc4::IfcElement::Class() { return *((IfcParse::entity*)IFC4_types[345]); } @@ -9560,7 +9560,7 @@ void Ifc4::IfcExternalReference::setIdentification(const std::optional< std::str std::optional< std::string > Ifc4::IfcExternalReference::Name() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcExternalReference::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4::IfcExternalReferenceRelationship> Ifc4::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[380], 2)); } +std::vector<::Ifc4::IfcExternalReferenceRelationship> Ifc4::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[380], 2)); } // const IfcParse::entity& Ifc4::IfcExternalReference::declaration() const { return *((IfcParse::entity*)IFC4_types[379]); } const IfcParse::entity& Ifc4::IfcExternalReference::Class() { return *((IfcParse::entity*)IFC4_types[379]); } @@ -9583,7 +9583,7 @@ const IfcParse::entity& Ifc4::IfcExternalReferenceRelationship::Class() { return 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)); } void Ifc4::IfcExternalSpatialElement::setPredefinedType(const std::optional< ::Ifc4::IfcExternalSpatialElementTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcExternalSpatialElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4::IfcRelSpaceBoundary> Ifc4::IfcExternalSpatialElement::BoundedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[841], 4)); } +std::vector<::Ifc4::IfcRelSpaceBoundary> Ifc4::IfcExternalSpatialElement::BoundedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[841], 4)); } // const IfcParse::entity& Ifc4::IfcExternalSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4_types[381]); } const IfcParse::entity& Ifc4::IfcExternalSpatialElement::Class() { return *((IfcParse::entity*)IFC4_types[381]); } @@ -9648,7 +9648,7 @@ const IfcParse::entity& Ifc4::IfcExtrudedAreaSolidTapered::Class() { return *((I 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(data()->file()->getInverse(data()->id(), IFC4_types[1068], 2)); } +std::vector<::Ifc4::IfcTextureMap> Ifc4::IfcFace::HasTextureMaps() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[1068], 2)); } // const IfcParse::entity& Ifc4::IfcFace::declaration() const { return *((IfcParse::entity*)IFC4_types[386]); } const IfcParse::entity& Ifc4::IfcFace::Class() { return *((IfcParse::entity*)IFC4_types[386]); } @@ -9785,7 +9785,7 @@ const IfcParse::entity& Ifc4::IfcFeatureElement::Class() { return *((IfcParse::e // Function implementations for IfcFeatureElementAddition -std::vector<::Ifc4::IfcRelProjectsElement> Ifc4::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[837], 5)); } +std::vector<::Ifc4::IfcRelProjectsElement> Ifc4::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[837], 5)); } // const IfcParse::entity& Ifc4::IfcFeatureElementAddition::declaration() const { return *((IfcParse::entity*)IFC4_types[401]); } const IfcParse::entity& Ifc4::IfcFeatureElementAddition::Class() { return *((IfcParse::entity*)IFC4_types[401]); } @@ -9794,7 +9794,7 @@ const IfcParse::entity& Ifc4::IfcFeatureElementAddition::Class() { return *((Ifc // Function implementations for IfcFeatureElementSubtraction -std::vector<::Ifc4::IfcRelVoidsElement> Ifc4::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[844], 5)); } +std::vector<::Ifc4::IfcRelVoidsElement> Ifc4::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[844], 5)); } // const IfcParse::entity& Ifc4::IfcFeatureElementSubtraction::declaration() const { return *((IfcParse::entity*)IFC4_types[402]); } const IfcParse::entity& Ifc4::IfcFeatureElementSubtraction::Class() { return *((IfcParse::entity*)IFC4_types[402]); } @@ -10149,8 +10149,8 @@ void Ifc4::IfcGeometricRepresentationContext::setWorldCoordinateSystem(const ::I ::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(data()->file()->getInverse(data()->id(), IFC4_types[455], 6)); } -std::vector<::Ifc4::IfcCoordinateOperation> Ifc4::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[213], 0)); } +std::vector<::Ifc4::IfcGeometricRepresentationSubContext> Ifc4::IfcGeometricRepresentationContext::HasSubContexts() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[455], 6)); } +std::vector<::Ifc4::IfcCoordinateOperation> Ifc4::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[213], 0)); } // const IfcParse::entity& Ifc4::IfcGeometricRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4_types[453]); } const IfcParse::entity& Ifc4::IfcGeometricRepresentationContext::Class() { return *((IfcParse::entity*)IFC4_types[453]); } @@ -10201,7 +10201,7 @@ void Ifc4::IfcGrid::setWAxes(const std::optional< std::vector< ::Ifc4::IfcGridAx 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, EnumerationReference(&::Ifc4::IfcGridTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -std::vector<::Ifc4::IfcRelContainedInSpatialStructure> Ifc4::IfcGrid::ContainedInStructure() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[823], 4)); } +std::vector<::Ifc4::IfcRelContainedInSpatialStructure> Ifc4::IfcGrid::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[823], 4)); } // const IfcParse::entity& Ifc4::IfcGrid::declaration() const { return *((IfcParse::entity*)IFC4_types[460]); } const IfcParse::entity& Ifc4::IfcGrid::Class() { return *((IfcParse::entity*)IFC4_types[460]); } @@ -10216,10 +10216,10 @@ void Ifc4::IfcGridAxis::setAxisCurve(const ::Ifc4::IfcCurve& v) { set_attribute_ 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); } -std::vector<::Ifc4::IfcGrid> Ifc4::IfcGridAxis::PartOfW() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[460], 9)); } -std::vector<::Ifc4::IfcGrid> Ifc4::IfcGridAxis::PartOfV() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[460], 8)); } -std::vector<::Ifc4::IfcGrid> Ifc4::IfcGridAxis::PartOfU() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[460], 7)); } -std::vector<::Ifc4::IfcVirtualGridIntersection> Ifc4::IfcGridAxis::HasIntersections() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[1135], 0)); } +std::vector<::Ifc4::IfcGrid> Ifc4::IfcGridAxis::PartOfW() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[460], 9)); } +std::vector<::Ifc4::IfcGrid> Ifc4::IfcGridAxis::PartOfV() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[460], 8)); } +std::vector<::Ifc4::IfcGrid> Ifc4::IfcGridAxis::PartOfU() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[460], 7)); } +std::vector<::Ifc4::IfcVirtualGridIntersection> Ifc4::IfcGridAxis::HasIntersections() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[1135], 0)); } // const IfcParse::entity& Ifc4::IfcGridAxis::declaration() const { return *((IfcParse::entity*)IFC4_types[461]); } const IfcParse::entity& Ifc4::IfcGridAxis::Class() { return *((IfcParse::entity*)IFC4_types[461]); } @@ -10240,7 +10240,7 @@ const IfcParse::entity& Ifc4::IfcGridPlacement::Class() { return *((IfcParse::en // Function implementations for IfcGroup -std::vector<::Ifc4::IfcRelAssignsToGroup> Ifc4::IfcGroup::IsGroupedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[801], 6)); } +std::vector<::Ifc4::IfcRelAssignsToGroup> Ifc4::IfcGroup::IsGroupedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[801], 6)); } // const IfcParse::entity& Ifc4::IfcGroup::declaration() const { return *((IfcParse::entity*)IFC4_types[465]); } const IfcParse::entity& Ifc4::IfcGroup::Class() { return *((IfcParse::entity*)IFC4_types[465]); } @@ -10365,7 +10365,7 @@ const IfcParse::entity& Ifc4::IfcIndexedPolyCurve::Class() { return *((IfcParse: std::vector< int > /*[3:?]*/ Ifc4::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } void Ifc4::IfcIndexedPolygonalFace::setCoordIndex(const std::vector< int > /*[3:?]*/& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector<::Ifc4::IfcPolygonalFaceSet> Ifc4::IfcIndexedPolygonalFace::ToFaceSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[680], 2)); } +std::vector<::Ifc4::IfcPolygonalFaceSet> Ifc4::IfcIndexedPolygonalFace::ToFaceSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[680], 2)); } // const IfcParse::entity& Ifc4::IfcIndexedPolygonalFace::declaration() const { return *((IfcParse::entity*)IFC4_types[481]); } const IfcParse::entity& Ifc4::IfcIndexedPolygonalFace::Class() { return *((IfcParse::entity*)IFC4_types[481]); } @@ -10580,8 +10580,8 @@ void Ifc4::IfcLibraryInformation::setLocation(const std::optional< std::string > std::optional< std::string > Ifc4::IfcLibraryInformation::Description() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcLibraryInformation::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4::IfcRelAssociatesLibrary> Ifc4::IfcLibraryInformation::LibraryInfoForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[811], 5)); } -std::vector<::Ifc4::IfcLibraryReference> Ifc4::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[518], 5)); } +std::vector<::Ifc4::IfcRelAssociatesLibrary> Ifc4::IfcLibraryInformation::LibraryInfoForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[811], 5)); } +std::vector<::Ifc4::IfcLibraryReference> Ifc4::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[518], 5)); } // const IfcParse::entity& Ifc4::IfcLibraryInformation::declaration() const { return *((IfcParse::entity*)IFC4_types[517]); } const IfcParse::entity& Ifc4::IfcLibraryInformation::Class() { return *((IfcParse::entity*)IFC4_types[517]); } @@ -10596,7 +10596,7 @@ void Ifc4::IfcLibraryReference::setLanguage(const std::optional< std::string >& ::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(data()->file()->getInverse(data()->id(), IFC4_types[811], 5)); } +std::vector<::Ifc4::IfcRelAssociatesLibrary> Ifc4::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[811], 5)); } // const IfcParse::entity& Ifc4::IfcLibraryReference::declaration() const { return *((IfcParse::entity*)IFC4_types[518]); } const IfcParse::entity& Ifc4::IfcLibraryReference::Class() { return *((IfcParse::entity*)IFC4_types[518]); } @@ -10819,9 +10819,9 @@ void Ifc4::IfcMaterial::setDescription(const std::optional< std::string >& v) { std::optional< std::string > Ifc4::IfcMaterial::Category() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcMaterial::setCategory(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4::IfcMaterialDefinitionRepresentation> Ifc4::IfcMaterial::HasRepresentation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[563], 3)); } -std::vector<::Ifc4::IfcMaterialRelationship> Ifc4::IfcMaterial::IsRelatedWith() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[575], 3)); } -std::vector<::Ifc4::IfcMaterialRelationship> Ifc4::IfcMaterial::RelatesTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[575], 2)); } +std::vector<::Ifc4::IfcMaterialDefinitionRepresentation> Ifc4::IfcMaterial::HasRepresentation() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[563], 3)); } +std::vector<::Ifc4::IfcMaterialRelationship> Ifc4::IfcMaterial::IsRelatedWith() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[575], 3)); } +std::vector<::Ifc4::IfcMaterialRelationship> Ifc4::IfcMaterial::RelatesTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[575], 2)); } // const IfcParse::entity& Ifc4::IfcMaterial::declaration() const { return *((IfcParse::entity*)IFC4_types[558]); } const IfcParse::entity& Ifc4::IfcMaterial::Class() { return *((IfcParse::entity*)IFC4_types[558]); } @@ -10852,7 +10852,7 @@ void Ifc4::IfcMaterialConstituent::setFraction(const std::optional< double >& v) std::optional< std::string > Ifc4::IfcMaterialConstituent::Category() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcMaterialConstituent::setCategory(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector<::Ifc4::IfcMaterialConstituentSet> Ifc4::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[561], 2)); } +std::vector<::Ifc4::IfcMaterialConstituentSet> Ifc4::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[561], 2)); } // const IfcParse::entity& Ifc4::IfcMaterialConstituent::declaration() const { return *((IfcParse::entity*)IFC4_types[560]); } const IfcParse::entity& Ifc4::IfcMaterialConstituent::Class() { return *((IfcParse::entity*)IFC4_types[560]); } @@ -10875,9 +10875,9 @@ const IfcParse::entity& Ifc4::IfcMaterialConstituentSet::Class() { return *((Ifc // Function implementations for IfcMaterialDefinition -std::vector<::Ifc4::IfcRelAssociatesMaterial> Ifc4::IfcMaterialDefinition::AssociatedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[812], 5)); } -std::vector<::Ifc4::IfcExternalReferenceRelationship> Ifc4::IfcMaterialDefinition::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[380], 3)); } -std::vector<::Ifc4::IfcMaterialProperties> Ifc4::IfcMaterialDefinition::HasProperties() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[574], 3)); } +std::vector<::Ifc4::IfcRelAssociatesMaterial> Ifc4::IfcMaterialDefinition::AssociatedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[812], 5)); } +std::vector<::Ifc4::IfcExternalReferenceRelationship> Ifc4::IfcMaterialDefinition::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[380], 3)); } +std::vector<::Ifc4::IfcMaterialProperties> Ifc4::IfcMaterialDefinition::HasProperties() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[574], 3)); } // const IfcParse::entity& Ifc4::IfcMaterialDefinition::declaration() const { return *((IfcParse::entity*)IFC4_types[562]); } const IfcParse::entity& Ifc4::IfcMaterialDefinition::Class() { return *((IfcParse::entity*)IFC4_types[562]); } @@ -10910,7 +10910,7 @@ void Ifc4::IfcMaterialLayer::setCategory(const std::optional< std::string >& v) std::optional< int > Ifc4::IfcMaterialLayer::Priority() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } int v = get_attribute_value(6); return v; } void Ifc4::IfcMaterialLayer::setPriority(const std::optional< int >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4::IfcMaterialLayerSet> Ifc4::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[565], 0)); } +std::vector<::Ifc4::IfcMaterialLayerSet> Ifc4::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[565], 0)); } // const IfcParse::entity& Ifc4::IfcMaterialLayer::declaration() const { return *((IfcParse::entity*)IFC4_types[564]); } const IfcParse::entity& Ifc4::IfcMaterialLayer::Class() { return *((IfcParse::entity*)IFC4_types[564]); } @@ -10985,7 +10985,7 @@ void Ifc4::IfcMaterialProfile::setPriority(const std::optional< int >& v) { if ( std::optional< std::string > Ifc4::IfcMaterialProfile::Category() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcMaterialProfile::setCategory(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4::IfcMaterialProfileSet> Ifc4::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[570], 2)); } +std::vector<::Ifc4::IfcMaterialProfileSet> Ifc4::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[570], 2)); } // const IfcParse::entity& Ifc4::IfcMaterialProfile::declaration() const { return *((IfcParse::entity*)IFC4_types[569]); } const IfcParse::entity& Ifc4::IfcMaterialProfile::Class() { return *((IfcParse::entity*)IFC4_types[569]); } @@ -11070,7 +11070,7 @@ const IfcParse::entity& Ifc4::IfcMaterialRelationship::Class() { return *((IfcPa // Function implementations for IfcMaterialUsageDefinition -std::vector<::Ifc4::IfcRelAssociatesMaterial> Ifc4::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[812], 5)); } +std::vector<::Ifc4::IfcRelAssociatesMaterial> Ifc4::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[812], 5)); } // const IfcParse::entity& Ifc4::IfcMaterialUsageDefinition::declaration() const { return *((IfcParse::entity*)IFC4_types[577]); } const IfcParse::entity& Ifc4::IfcMaterialUsageDefinition::Class() { return *((IfcParse::entity*)IFC4_types[577]); } @@ -11235,10 +11235,10 @@ const IfcParse::entity& Ifc4::IfcNamedUnit::Class() { return *((IfcParse::entity std::optional< std::string > Ifc4::IfcObject::ObjectType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcObject::setObjectType(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector<::Ifc4::IfcRelDefinesByObject> Ifc4::IfcObject::IsDeclaredBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[829], 4)); } -std::vector<::Ifc4::IfcRelDefinesByObject> Ifc4::IfcObject::Declares() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[829], 5)); } -std::vector<::Ifc4::IfcRelDefinesByType> Ifc4::IfcObject::IsTypedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[832], 4)); } -std::vector<::Ifc4::IfcRelDefinesByProperties> Ifc4::IfcObject::IsDefinedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[830], 4)); } +std::vector<::Ifc4::IfcRelDefinesByObject> Ifc4::IfcObject::IsDeclaredBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[829], 4)); } +std::vector<::Ifc4::IfcRelDefinesByObject> Ifc4::IfcObject::Declares() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[829], 5)); } +std::vector<::Ifc4::IfcRelDefinesByType> Ifc4::IfcObject::IsTypedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[832], 4)); } +std::vector<::Ifc4::IfcRelDefinesByProperties> Ifc4::IfcObject::IsDefinedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[830], 4)); } // const IfcParse::entity& Ifc4::IfcObject::declaration() const { return *((IfcParse::entity*)IFC4_types[614]); } const IfcParse::entity& Ifc4::IfcObject::Class() { return *((IfcParse::entity*)IFC4_types[614]); } @@ -11247,13 +11247,13 @@ const IfcParse::entity& Ifc4::IfcObject::Class() { return *((IfcParse::entity*)I // Function implementations for IfcObjectDefinition -std::vector<::Ifc4::IfcRelAssigns> Ifc4::IfcObjectDefinition::HasAssignments() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[798], 4)); } -std::vector<::Ifc4::IfcRelNests> Ifc4::IfcObjectDefinition::Nests() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[836], 5)); } -std::vector<::Ifc4::IfcRelNests> Ifc4::IfcObjectDefinition::IsNestedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[836], 4)); } -std::vector<::Ifc4::IfcRelDeclares> Ifc4::IfcObjectDefinition::HasContext() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[826], 5)); } -std::vector<::Ifc4::IfcRelAggregates> Ifc4::IfcObjectDefinition::IsDecomposedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[797], 4)); } -std::vector<::Ifc4::IfcRelAggregates> Ifc4::IfcObjectDefinition::Decomposes() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[797], 5)); } -std::vector<::Ifc4::IfcRelAssociates> Ifc4::IfcObjectDefinition::HasAssociations() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[806], 4)); } +std::vector<::Ifc4::IfcRelAssigns> Ifc4::IfcObjectDefinition::HasAssignments() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[798], 4)); } +std::vector<::Ifc4::IfcRelNests> Ifc4::IfcObjectDefinition::Nests() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[836], 5)); } +std::vector<::Ifc4::IfcRelNests> Ifc4::IfcObjectDefinition::IsNestedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[836], 4)); } +std::vector<::Ifc4::IfcRelDeclares> Ifc4::IfcObjectDefinition::HasContext() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[826], 5)); } +std::vector<::Ifc4::IfcRelAggregates> Ifc4::IfcObjectDefinition::IsDecomposedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[797], 4)); } +std::vector<::Ifc4::IfcRelAggregates> Ifc4::IfcObjectDefinition::Decomposes() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[797], 5)); } +std::vector<::Ifc4::IfcRelAssociates> Ifc4::IfcObjectDefinition::HasAssociations() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[806], 4)); } // const IfcParse::entity& Ifc4::IfcObjectDefinition::declaration() const { return *((IfcParse::entity*)IFC4_types[615]); } const IfcParse::entity& Ifc4::IfcObjectDefinition::Class() { return *((IfcParse::entity*)IFC4_types[615]); } @@ -11262,8 +11262,8 @@ const IfcParse::entity& Ifc4::IfcObjectDefinition::Class() { return *((IfcParse: // Function implementations for IfcObjectPlacement -std::vector<::Ifc4::IfcProduct> Ifc4::IfcObjectPlacement::PlacesObject() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[710], 5)); } -std::vector<::Ifc4::IfcLocalPlacement> Ifc4::IfcObjectPlacement::ReferencedByPlacements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[541], 0)); } +std::vector<::Ifc4::IfcProduct> Ifc4::IfcObjectPlacement::PlacesObject() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[710], 5)); } +std::vector<::Ifc4::IfcLocalPlacement> Ifc4::IfcObjectPlacement::ReferencedByPlacements() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[541], 0)); } // const IfcParse::entity& Ifc4::IfcObjectPlacement::declaration() const { return *((IfcParse::entity*)IFC4_types[618]); } const IfcParse::entity& Ifc4::IfcObjectPlacement::Class() { return *((IfcParse::entity*)IFC4_types[618]); } @@ -11338,7 +11338,7 @@ const IfcParse::entity& Ifc4::IfcOpenShell::Class() { return *((IfcParse::entity 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)); } void Ifc4::IfcOpeningElement::setPredefinedType(const std::optional< ::Ifc4::IfcOpeningElementTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcOpeningElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4::IfcRelFillsElement> Ifc4::IfcOpeningElement::HasFillings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[833], 4)); } +std::vector<::Ifc4::IfcRelFillsElement> Ifc4::IfcOpeningElement::HasFillings() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[833], 4)); } // const IfcParse::entity& Ifc4::IfcOpeningElement::declaration() const { return *((IfcParse::entity*)IFC4_types[625]); } const IfcParse::entity& Ifc4::IfcOpeningElement::Class() { return *((IfcParse::entity*)IFC4_types[625]); } @@ -11365,9 +11365,9 @@ void Ifc4::IfcOrganization::setRoles(const std::optional< std::vector< ::Ifc4::I 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(data()->file()->getInverse(data()->id(), IFC4_types[630], 3)); } -std::vector<::Ifc4::IfcOrganizationRelationship> Ifc4::IfcOrganization::Relates() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[630], 2)); } -std::vector<::Ifc4::IfcPersonAndOrganization> Ifc4::IfcOrganization::Engages() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[648], 1)); } +std::vector<::Ifc4::IfcOrganizationRelationship> Ifc4::IfcOrganization::IsRelatedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[630], 3)); } +std::vector<::Ifc4::IfcOrganizationRelationship> Ifc4::IfcOrganization::Relates() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[630], 2)); } +std::vector<::Ifc4::IfcPersonAndOrganization> Ifc4::IfcOrganization::Engages() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[648], 1)); } // const IfcParse::entity& Ifc4::IfcOrganization::declaration() const { return *((IfcParse::entity*)IFC4_types[629]); } const IfcParse::entity& Ifc4::IfcOrganization::Class() { return *((IfcParse::entity*)IFC4_types[629]); } @@ -11544,7 +11544,7 @@ void Ifc4::IfcPerson::setRoles(const std::optional< std::vector< ::Ifc4::IfcActo 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(data()->file()->getInverse(data()->id(), IFC4_types[648], 0)); } +std::vector<::Ifc4::IfcPersonAndOrganization> Ifc4::IfcPerson::EngagedIn() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[648], 0)); } // const IfcParse::entity& Ifc4::IfcPerson::declaration() const { return *((IfcParse::entity*)IFC4_types[647]); } const IfcParse::entity& Ifc4::IfcPerson::Class() { return *((IfcParse::entity*)IFC4_types[647]); } @@ -11587,8 +11587,8 @@ void Ifc4::IfcPhysicalQuantity::setName(const std::string& v) { set_attribute_va std::optional< std::string > Ifc4::IfcPhysicalQuantity::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcPhysicalQuantity::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4::IfcExternalReferenceRelationship> Ifc4::IfcPhysicalQuantity::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[380], 3)); } -std::vector<::Ifc4::IfcPhysicalComplexQuantity> Ifc4::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[650], 2)); } +std::vector<::Ifc4::IfcExternalReferenceRelationship> Ifc4::IfcPhysicalQuantity::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[380], 3)); } +std::vector<::Ifc4::IfcPhysicalComplexQuantity> Ifc4::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[650], 2)); } // const IfcParse::entity& Ifc4::IfcPhysicalQuantity::declaration() const { return *((IfcParse::entity*)IFC4_types[652]); } const IfcParse::entity& Ifc4::IfcPhysicalQuantity::Class() { return *((IfcParse::entity*)IFC4_types[652]); } @@ -11833,9 +11833,9 @@ const IfcParse::entity& Ifc4::IfcPolyline::Class() { return *((IfcParse::entity* // Function implementations for IfcPort -std::vector<::Ifc4::IfcRelConnectsPortToElement> Ifc4::IfcPort::ContainedIn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[818], 4)); } -std::vector<::Ifc4::IfcRelConnectsPorts> Ifc4::IfcPort::ConnectedFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[817], 5)); } -std::vector<::Ifc4::IfcRelConnectsPorts> Ifc4::IfcPort::ConnectedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[817], 4)); } +std::vector<::Ifc4::IfcRelConnectsPortToElement> Ifc4::IfcPort::ContainedIn() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[818], 4)); } +std::vector<::Ifc4::IfcRelConnectsPorts> Ifc4::IfcPort::ConnectedFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[817], 5)); } +std::vector<::Ifc4::IfcRelConnectsPorts> Ifc4::IfcPort::ConnectedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[817], 4)); } // const IfcParse::entity& Ifc4::IfcPort::declaration() const { return *((IfcParse::entity*)IFC4_types[683]); } const IfcParse::entity& Ifc4::IfcPort::Class() { return *((IfcParse::entity*)IFC4_types[683]); } @@ -12000,9 +12000,9 @@ void Ifc4::IfcProcess::setIdentification(const std::optional< std::string >& v) std::optional< std::string > Ifc4::IfcProcess::LongDescription() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4::IfcProcess::setLongDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4::IfcRelSequence> Ifc4::IfcProcess::IsPredecessorTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[839], 4)); } -std::vector<::Ifc4::IfcRelSequence> Ifc4::IfcProcess::IsSuccessorFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[839], 5)); } -std::vector<::Ifc4::IfcRelAssignsToProcess> Ifc4::IfcProcess::OperatesOn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[803], 6)); } +std::vector<::Ifc4::IfcRelSequence> Ifc4::IfcProcess::IsPredecessorTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[839], 4)); } +std::vector<::Ifc4::IfcRelSequence> Ifc4::IfcProcess::IsSuccessorFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[839], 5)); } +std::vector<::Ifc4::IfcRelAssignsToProcess> Ifc4::IfcProcess::OperatesOn() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[803], 6)); } // const IfcParse::entity& Ifc4::IfcProcess::declaration() const { return *((IfcParse::entity*)IFC4_types[708]); } const IfcParse::entity& Ifc4::IfcProcess::Class() { return *((IfcParse::entity*)IFC4_types[708]); } @@ -12015,7 +12015,7 @@ void Ifc4::IfcProduct::setObjectPlacement(const ::Ifc4::IfcObjectPlacement& v) { ::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(data()->file()->getInverse(data()->id(), IFC4_types[804], 6)); } +std::vector<::Ifc4::IfcRelAssignsToProduct> Ifc4::IfcProduct::ReferencedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[804], 6)); } // const IfcParse::entity& Ifc4::IfcProduct::declaration() const { return *((IfcParse::entity*)IFC4_types[710]); } const IfcParse::entity& Ifc4::IfcProduct::Class() { return *((IfcParse::entity*)IFC4_types[710]); } @@ -12024,8 +12024,8 @@ const IfcParse::entity& Ifc4::IfcProduct::Class() { return *((IfcParse::entity*) // Function implementations for IfcProductDefinitionShape -std::vector<::Ifc4::IfcProduct> Ifc4::IfcProductDefinitionShape::ShapeOfProduct() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[710], 6)); } -std::vector<::Ifc4::IfcShapeAspect> Ifc4::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[890], 4)); } +std::vector<::Ifc4::IfcProduct> Ifc4::IfcProductDefinitionShape::ShapeOfProduct() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[710], 6)); } +std::vector<::Ifc4::IfcShapeAspect> Ifc4::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[890], 4)); } // const IfcParse::entity& Ifc4::IfcProductDefinitionShape::declaration() const { return *((IfcParse::entity*)IFC4_types[711]); } const IfcParse::entity& Ifc4::IfcProductDefinitionShape::Class() { return *((IfcParse::entity*)IFC4_types[711]); } @@ -12052,8 +12052,8 @@ void Ifc4::IfcProfileDef::setProfileType(const ::Ifc4::IfcProfileTypeEnum::Value std::optional< std::string > Ifc4::IfcProfileDef::ProfileName() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcProfileDef::setProfileName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4::IfcExternalReferenceRelationship> Ifc4::IfcProfileDef::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[380], 3)); } -std::vector<::Ifc4::IfcProfileProperties> Ifc4::IfcProfileDef::HasProperties() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[716], 3)); } +std::vector<::Ifc4::IfcExternalReferenceRelationship> Ifc4::IfcProfileDef::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[380], 3)); } +std::vector<::Ifc4::IfcProfileProperties> Ifc4::IfcProfileDef::HasProperties() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[716], 3)); } // const IfcParse::entity& Ifc4::IfcProfileDef::declaration() const { return *((IfcParse::entity*)IFC4_types[715]); } const IfcParse::entity& Ifc4::IfcProfileDef::Class() { return *((IfcParse::entity*)IFC4_types[715]); } @@ -12130,12 +12130,12 @@ void Ifc4::IfcProperty::setName(const std::string& v) { set_attribute_value(0, v std::optional< std::string > Ifc4::IfcProperty::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcProperty::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4::IfcPropertySet> Ifc4::IfcProperty::PartOfPset() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[735], 4)); } -std::vector<::Ifc4::IfcPropertyDependencyRelationship> Ifc4::IfcProperty::PropertyForDependance() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[730], 2)); } -std::vector<::Ifc4::IfcPropertyDependencyRelationship> Ifc4::IfcProperty::PropertyDependsOn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[730], 3)); } -std::vector<::Ifc4::IfcComplexProperty> Ifc4::IfcProperty::PartOfComplex() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[162], 3)); } -std::vector<::Ifc4::IfcResourceConstraintRelationship> Ifc4::IfcProperty::HasConstraints() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[852], 3)); } -std::vector<::Ifc4::IfcResourceApprovalRelationship> Ifc4::IfcProperty::HasApprovals() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[851], 2)); } +std::vector<::Ifc4::IfcPropertySet> Ifc4::IfcProperty::PartOfPset() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[735], 4)); } +std::vector<::Ifc4::IfcPropertyDependencyRelationship> Ifc4::IfcProperty::PropertyForDependance() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[730], 2)); } +std::vector<::Ifc4::IfcPropertyDependencyRelationship> Ifc4::IfcProperty::PropertyDependsOn() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[730], 3)); } +std::vector<::Ifc4::IfcComplexProperty> Ifc4::IfcProperty::PartOfComplex() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[162], 3)); } +std::vector<::Ifc4::IfcResourceConstraintRelationship> Ifc4::IfcProperty::HasConstraints() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[852], 3)); } +std::vector<::Ifc4::IfcResourceApprovalRelationship> Ifc4::IfcProperty::HasApprovals() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[851], 2)); } // const IfcParse::entity& Ifc4::IfcProperty::declaration() const { return *((IfcParse::entity*)IFC4_types[726]); } const IfcParse::entity& Ifc4::IfcProperty::Class() { return *((IfcParse::entity*)IFC4_types[726]); } @@ -12144,7 +12144,7 @@ const IfcParse::entity& Ifc4::IfcProperty::Class() { return *((IfcParse::entity* // Function implementations for IfcPropertyAbstraction -std::vector<::Ifc4::IfcExternalReferenceRelationship> Ifc4::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[380], 3)); } +std::vector<::Ifc4::IfcExternalReferenceRelationship> Ifc4::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[380], 3)); } // const IfcParse::entity& Ifc4::IfcPropertyAbstraction::declaration() const { return *((IfcParse::entity*)IFC4_types[727]); } const IfcParse::entity& Ifc4::IfcPropertyAbstraction::Class() { return *((IfcParse::entity*)IFC4_types[727]); } @@ -12169,8 +12169,8 @@ const IfcParse::entity& Ifc4::IfcPropertyBoundedValue::Class() { return *((IfcPa // Function implementations for IfcPropertyDefinition -std::vector<::Ifc4::IfcRelDeclares> Ifc4::IfcPropertyDefinition::HasContext() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[826], 5)); } -std::vector<::Ifc4::IfcRelAssociates> Ifc4::IfcPropertyDefinition::HasAssociations() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[806], 4)); } +std::vector<::Ifc4::IfcRelDeclares> Ifc4::IfcPropertyDefinition::HasContext() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[826], 5)); } +std::vector<::Ifc4::IfcRelAssociates> Ifc4::IfcPropertyDefinition::HasAssociations() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[806], 4)); } // const IfcParse::entity& Ifc4::IfcPropertyDefinition::declaration() const { return *((IfcParse::entity*)IFC4_types[729]); } const IfcParse::entity& Ifc4::IfcPropertyDefinition::Class() { return *((IfcParse::entity*)IFC4_types[729]); } @@ -12253,9 +12253,9 @@ const IfcParse::entity& Ifc4::IfcPropertySet::Class() { return *((IfcParse::enti // Function implementations for IfcPropertySetDefinition -std::vector<::Ifc4::IfcTypeObject> Ifc4::IfcPropertySetDefinition::DefinesType() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[1106], 5)); } -std::vector<::Ifc4::IfcRelDefinesByTemplate> Ifc4::IfcPropertySetDefinition::IsDefinedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[831], 4)); } -std::vector<::Ifc4::IfcRelDefinesByProperties> Ifc4::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[830], 5)); } +std::vector<::Ifc4::IfcTypeObject> Ifc4::IfcPropertySetDefinition::DefinesType() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[1106], 5)); } +std::vector<::Ifc4::IfcRelDefinesByTemplate> Ifc4::IfcPropertySetDefinition::IsDefinedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[831], 4)); } +std::vector<::Ifc4::IfcRelDefinesByProperties> Ifc4::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[830], 5)); } // const IfcParse::entity& Ifc4::IfcPropertySetDefinition::declaration() const { return *((IfcParse::entity*)IFC4_types[736]); } const IfcParse::entity& Ifc4::IfcPropertySetDefinition::Class() { return *((IfcParse::entity*)IFC4_types[736]); } @@ -12270,7 +12270,7 @@ void Ifc4::IfcPropertySetTemplate::setApplicableEntity(const std::optional< std: 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(data()->file()->getInverse(data()->id(), IFC4_types[831], 5)); } +std::vector<::Ifc4::IfcRelDefinesByTemplate> Ifc4::IfcPropertySetTemplate::Defines() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[831], 5)); } // const IfcParse::entity& Ifc4::IfcPropertySetTemplate::declaration() const { return *((IfcParse::entity*)IFC4_types[739]); } const IfcParse::entity& Ifc4::IfcPropertySetTemplate::Class() { return *((IfcParse::entity*)IFC4_types[739]); } @@ -12311,8 +12311,8 @@ const IfcParse::entity& Ifc4::IfcPropertyTableValue::Class() { return *((IfcPars // Function implementations for IfcPropertyTemplate -std::vector<::Ifc4::IfcComplexPropertyTemplate> Ifc4::IfcPropertyTemplate::PartOfComplexTemplate() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[163], 6)); } -std::vector<::Ifc4::IfcPropertySetTemplate> Ifc4::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[739], 6)); } +std::vector<::Ifc4::IfcComplexPropertyTemplate> Ifc4::IfcPropertyTemplate::PartOfComplexTemplate() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[163], 6)); } +std::vector<::Ifc4::IfcPropertySetTemplate> Ifc4::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[739], 6)); } // const IfcParse::entity& Ifc4::IfcPropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4_types[743]); } const IfcParse::entity& Ifc4::IfcPropertyTemplate::Class() { return *((IfcParse::entity*)IFC4_types[743]); } @@ -13351,7 +13351,7 @@ const IfcParse::entity& Ifc4::IfcRelSpaceBoundary::Class() { return *((IfcParse: ::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(data()->file()->getInverse(data()->id(), IFC4_types[842], 9)); } +std::vector<::Ifc4::IfcRelSpaceBoundary1stLevel> Ifc4::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[842], 9)); } // const IfcParse::entity& Ifc4::IfcRelSpaceBoundary1stLevel::declaration() const { return *((IfcParse::entity*)IFC4_types[842]); } const IfcParse::entity& Ifc4::IfcRelSpaceBoundary1stLevel::Class() { return *((IfcParse::entity*)IFC4_types[842]); } @@ -13362,7 +13362,7 @@ const IfcParse::entity& Ifc4::IfcRelSpaceBoundary1stLevel::Class() { return *((I ::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(data()->file()->getInverse(data()->id(), IFC4_types[843], 10)); } +std::vector<::Ifc4::IfcRelSpaceBoundary2ndLevel> Ifc4::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[843], 10)); } // const IfcParse::entity& Ifc4::IfcRelSpaceBoundary2ndLevel::declaration() const { return *((IfcParse::entity*)IFC4_types[843]); } const IfcParse::entity& Ifc4::IfcRelSpaceBoundary2ndLevel::Class() { return *((IfcParse::entity*)IFC4_types[843]); } @@ -13409,9 +13409,9 @@ void Ifc4::IfcRepresentation::setRepresentationType(const std::optional< std::st 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(data()->file()->getInverse(data()->id(), IFC4_types[849], 1)); } -std::vector<::Ifc4::IfcPresentationLayerAssignment> Ifc4::IfcRepresentation::LayerAssignments() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[699], 2)); } -std::vector<::Ifc4::IfcProductRepresentation> Ifc4::IfcRepresentation::OfProductRepresentation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[712], 2)); } +std::vector<::Ifc4::IfcRepresentationMap> Ifc4::IfcRepresentation::RepresentationMap() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[849], 1)); } +std::vector<::Ifc4::IfcPresentationLayerAssignment> Ifc4::IfcRepresentation::LayerAssignments() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[699], 2)); } +std::vector<::Ifc4::IfcProductRepresentation> Ifc4::IfcRepresentation::OfProductRepresentation() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[712], 2)); } // const IfcParse::entity& Ifc4::IfcRepresentation::declaration() const { return *((IfcParse::entity*)IFC4_types[846]); } const IfcParse::entity& Ifc4::IfcRepresentation::Class() { return *((IfcParse::entity*)IFC4_types[846]); } @@ -13424,7 +13424,7 @@ void Ifc4::IfcRepresentationContext::setContextIdentifier(const std::optional< s std::optional< std::string > Ifc4::IfcRepresentationContext::ContextType() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcRepresentationContext::setContextType(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4::IfcRepresentation> Ifc4::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[846], 0)); } +std::vector<::Ifc4::IfcRepresentation> Ifc4::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[846], 0)); } // const IfcParse::entity& Ifc4::IfcRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4_types[847]); } const IfcParse::entity& Ifc4::IfcRepresentationContext::Class() { return *((IfcParse::entity*)IFC4_types[847]); } @@ -13433,8 +13433,8 @@ const IfcParse::entity& Ifc4::IfcRepresentationContext::Class() { return *((IfcP // Function implementations for IfcRepresentationItem -std::vector<::Ifc4::IfcPresentationLayerAssignment> Ifc4::IfcRepresentationItem::LayerAssignment() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[699], 2)); } -std::vector<::Ifc4::IfcStyledItem> Ifc4::IfcRepresentationItem::StyledByItem() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[994], 0)); } +std::vector<::Ifc4::IfcPresentationLayerAssignment> Ifc4::IfcRepresentationItem::LayerAssignment() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[699], 2)); } +std::vector<::Ifc4::IfcStyledItem> Ifc4::IfcRepresentationItem::StyledByItem() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[994], 0)); } // const IfcParse::entity& Ifc4::IfcRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4_types[848]); } const IfcParse::entity& Ifc4::IfcRepresentationItem::Class() { return *((IfcParse::entity*)IFC4_types[848]); } @@ -13447,8 +13447,8 @@ void Ifc4::IfcRepresentationMap::setMappingOrigin(const ::Ifc4::IfcAxis2Placemen ::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(data()->file()->getInverse(data()->id(), IFC4_types[890], 4)); } -std::vector<::Ifc4::IfcMappedItem> Ifc4::IfcRepresentationMap::MapUsage() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[553], 0)); } +std::vector<::Ifc4::IfcShapeAspect> Ifc4::IfcRepresentationMap::HasShapeAspects() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[890], 4)); } +std::vector<::Ifc4::IfcMappedItem> Ifc4::IfcRepresentationMap::MapUsage() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[553], 0)); } // const IfcParse::entity& Ifc4::IfcRepresentationMap::declaration() const { return *((IfcParse::entity*)IFC4_types[849]); } const IfcParse::entity& Ifc4::IfcRepresentationMap::Class() { return *((IfcParse::entity*)IFC4_types[849]); } @@ -13461,7 +13461,7 @@ void Ifc4::IfcResource::setIdentification(const std::optional< std::string >& v) std::optional< std::string > Ifc4::IfcResource::LongDescription() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4::IfcResource::setLongDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4::IfcRelAssignsToResource> Ifc4::IfcResource::ResourceOf() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[805], 6)); } +std::vector<::Ifc4::IfcRelAssignsToResource> Ifc4::IfcResource::ResourceOf() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[805], 6)); } // const IfcParse::entity& Ifc4::IfcResource::declaration() const { return *((IfcParse::entity*)IFC4_types[850]); } const IfcParse::entity& Ifc4::IfcResource::Class() { return *((IfcParse::entity*)IFC4_types[850]); } @@ -13796,7 +13796,7 @@ const IfcParse::entity& Ifc4::IfcShapeAspect::Class() { return *((IfcParse::enti // Function implementations for IfcShapeModel -std::vector<::Ifc4::IfcShapeAspect> Ifc4::IfcShapeModel::OfShapeAspect() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[890], 0)); } +std::vector<::Ifc4::IfcShapeAspect> Ifc4::IfcShapeModel::OfShapeAspect() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[890], 0)); } // const IfcParse::entity& Ifc4::IfcShapeModel::declaration() const { return *((IfcParse::entity*)IFC4_types[891]); } const IfcParse::entity& Ifc4::IfcShapeModel::Class() { return *((IfcParse::entity*)IFC4_types[891]); } @@ -13955,8 +13955,8 @@ void Ifc4::IfcSpace::setPredefinedType(const std::optional< ::Ifc4::IfcSpaceType std::optional< double > Ifc4::IfcSpace::ElevationWithFlooring() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } double v = get_attribute_value(10); return v; } void Ifc4::IfcSpace::setElevationWithFlooring(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -std::vector<::Ifc4::IfcRelCoversSpaces> Ifc4::IfcSpace::HasCoverings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[825], 4)); } -std::vector<::Ifc4::IfcRelSpaceBoundary> Ifc4::IfcSpace::BoundedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[841], 4)); } +std::vector<::Ifc4::IfcRelCoversSpaces> Ifc4::IfcSpace::HasCoverings() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[825], 4)); } +std::vector<::Ifc4::IfcRelSpaceBoundary> Ifc4::IfcSpace::BoundedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[841], 4)); } // const IfcParse::entity& Ifc4::IfcSpace::declaration() const { return *((IfcParse::entity*)IFC4_types[921]); } const IfcParse::entity& Ifc4::IfcSpace::Class() { return *((IfcParse::entity*)IFC4_types[921]); } @@ -13999,9 +13999,9 @@ const IfcParse::entity& Ifc4::IfcSpaceType::Class() { return *((IfcParse::entity 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; } void Ifc4::IfcSpatialElement::setLongName(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -std::vector<::Ifc4::IfcRelContainedInSpatialStructure> Ifc4::IfcSpatialElement::ContainsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[823], 5)); } -std::vector<::Ifc4::IfcRelServicesBuildings> Ifc4::IfcSpatialElement::ServicedBySystems() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[840], 5)); } -std::vector<::Ifc4::IfcRelReferencedInSpatialStructure> Ifc4::IfcSpatialElement::ReferencesElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[838], 5)); } +std::vector<::Ifc4::IfcRelContainedInSpatialStructure> Ifc4::IfcSpatialElement::ContainsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[823], 5)); } +std::vector<::Ifc4::IfcRelServicesBuildings> Ifc4::IfcSpatialElement::ServicedBySystems() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[840], 5)); } +std::vector<::Ifc4::IfcRelReferencedInSpatialStructure> Ifc4::IfcSpatialElement::ReferencesElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[838], 5)); } // const IfcParse::entity& Ifc4::IfcSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4_types[928]); } const IfcParse::entity& Ifc4::IfcSpatialElement::Class() { return *((IfcParse::entity*)IFC4_types[928]); } @@ -14162,7 +14162,7 @@ void Ifc4::IfcStructuralActivity::setAppliedLoad(const ::Ifc4::IfcStructuralLoad ::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, EnumerationReference(&::Ifc4::IfcGlobalOrLocalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -std::vector<::Ifc4::IfcRelConnectsStructuralActivity> Ifc4::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[819], 5)); } +std::vector<::Ifc4::IfcRelConnectsStructuralActivity> Ifc4::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[819], 5)); } // const IfcParse::entity& Ifc4::IfcStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC4_types[952]); } const IfcParse::entity& Ifc4::IfcStructuralActivity::Class() { return *((IfcParse::entity*)IFC4_types[952]); } @@ -14191,7 +14191,7 @@ const IfcParse::entity& Ifc4::IfcStructuralAnalysisModel::Class() { return *((If ::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(data()->file()->getInverse(data()->id(), IFC4_types[820], 5)); } +std::vector<::Ifc4::IfcRelConnectsStructuralMember> Ifc4::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[820], 5)); } // const IfcParse::entity& Ifc4::IfcStructuralConnection::declaration() const { return *((IfcParse::entity*)IFC4_types[955]); } const IfcParse::entity& Ifc4::IfcStructuralConnection::Class() { return *((IfcParse::entity*)IFC4_types[955]); } @@ -14262,7 +14262,7 @@ const IfcParse::entity& Ifc4::IfcStructuralCurveReaction::Class() { return *((If // Function implementations for IfcStructuralItem -std::vector<::Ifc4::IfcRelConnectsStructuralActivity> Ifc4::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[819], 4)); } +std::vector<::Ifc4::IfcRelConnectsStructuralActivity> Ifc4::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[819], 4)); } // const IfcParse::entity& Ifc4::IfcStructuralItem::declaration() const { return *((IfcParse::entity*)IFC4_types[964]); } const IfcParse::entity& Ifc4::IfcStructuralItem::Class() { return *((IfcParse::entity*)IFC4_types[964]); } @@ -14321,8 +14321,8 @@ void Ifc4::IfcStructuralLoadGroup::setCoefficient(const std::optional< double >& std::optional< std::string > Ifc4::IfcStructuralLoadGroup::Purpose() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::string v = get_attribute_value(9); return v; } void Ifc4::IfcStructuralLoadGroup::setPurpose(const std::optional< std::string >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -std::vector<::Ifc4::IfcStructuralResultGroup> Ifc4::IfcStructuralLoadGroup::SourceOfResultGroup() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[985], 6)); } -std::vector<::Ifc4::IfcStructuralAnalysisModel> Ifc4::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[954], 7)); } +std::vector<::Ifc4::IfcStructuralResultGroup> Ifc4::IfcStructuralLoadGroup::SourceOfResultGroup() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[985], 6)); } +std::vector<::Ifc4::IfcStructuralAnalysisModel> Ifc4::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[954], 7)); } // const IfcParse::entity& Ifc4::IfcStructuralLoadGroup::declaration() const { return *((IfcParse::entity*)IFC4_types[969]); } const IfcParse::entity& Ifc4::IfcStructuralLoadGroup::Class() { return *((IfcParse::entity*)IFC4_types[969]); } @@ -14455,7 +14455,7 @@ const IfcParse::entity& Ifc4::IfcStructuralLoadTemperature::Class() { return *(( // Function implementations for IfcStructuralMember -std::vector<::Ifc4::IfcRelConnectsStructuralMember> Ifc4::IfcStructuralMember::ConnectedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[820], 4)); } +std::vector<::Ifc4::IfcRelConnectsStructuralMember> Ifc4::IfcStructuralMember::ConnectedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[820], 4)); } // const IfcParse::entity& Ifc4::IfcStructuralMember::declaration() const { return *((IfcParse::entity*)IFC4_types[979]); } const IfcParse::entity& Ifc4::IfcStructuralMember::Class() { return *((IfcParse::entity*)IFC4_types[979]); } @@ -14512,7 +14512,7 @@ void Ifc4::IfcStructuralResultGroup::setResultForLoadGroup(const ::Ifc4::IfcStru 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); } -std::vector<::Ifc4::IfcStructuralAnalysisModel> Ifc4::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[954], 8)); } +std::vector<::Ifc4::IfcStructuralAnalysisModel> Ifc4::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[954], 8)); } // const IfcParse::entity& Ifc4::IfcStructuralResultGroup::declaration() const { return *((IfcParse::entity*)IFC4_types[985]); } const IfcParse::entity& Ifc4::IfcStructuralResultGroup::Class() { return *((IfcParse::entity*)IFC4_types[985]); } @@ -14809,8 +14809,8 @@ void Ifc4::IfcSurfaceTexture::setTextureTransform(const ::Ifc4::IfcCartesianTran 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);} } -std::vector<::Ifc4::IfcTextureCoordinate> Ifc4::IfcSurfaceTexture::IsMappedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[1066], 0)); } -std::vector<::Ifc4::IfcSurfaceStyleWithTextures> Ifc4::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[1017], 0)); } +std::vector<::Ifc4::IfcTextureCoordinate> Ifc4::IfcSurfaceTexture::IsMappedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[1066], 0)); } +std::vector<::Ifc4::IfcSurfaceStyleWithTextures> Ifc4::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[1017], 0)); } // const IfcParse::entity& Ifc4::IfcSurfaceTexture::declaration() const { return *((IfcParse::entity*)IFC4_types[1018]); } const IfcParse::entity& Ifc4::IfcSurfaceTexture::Class() { return *((IfcParse::entity*)IFC4_types[1018]); } @@ -14891,7 +14891,7 @@ const IfcParse::entity& Ifc4::IfcSwitchingDeviceType::Class() { return *((IfcPar // Function implementations for IfcSystem -std::vector<::Ifc4::IfcRelServicesBuildings> Ifc4::IfcSystem::ServicesBuildings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[840], 4)); } +std::vector<::Ifc4::IfcRelServicesBuildings> Ifc4::IfcSystem::ServicesBuildings() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[840], 4)); } // const IfcParse::entity& Ifc4::IfcSystem::declaration() const { return *((IfcParse::entity*)IFC4_types[1026]); } const IfcParse::entity& Ifc4::IfcSystem::Class() { return *((IfcParse::entity*)IFC4_types[1026]); } @@ -15176,8 +15176,8 @@ const IfcParse::entity& Ifc4::IfcTendonType::Class() { return *((IfcParse::entit ::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(data()->file()->getInverse(data()->id(), IFC4_types[479], 0)); } -std::vector<::Ifc4::IfcIndexedTextureMap> Ifc4::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[483], 1)); } +std::vector<::Ifc4::IfcIndexedColourMap> Ifc4::IfcTessellatedFaceSet::HasColours() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[479], 0)); } +std::vector<::Ifc4::IfcIndexedTextureMap> Ifc4::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[483], 1)); } // const IfcParse::entity& Ifc4::IfcTessellatedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4_types[1051]); } const IfcParse::entity& Ifc4::IfcTessellatedFaceSet::Class() { return *((IfcParse::entity*)IFC4_types[1051]); } @@ -15370,7 +15370,7 @@ void Ifc4::IfcTimeSeries::setUserDefinedDataOrigin(const std::optional< std::str ::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(data()->file()->getInverse(data()->id(), IFC4_types[380], 3)); } +std::vector<::Ifc4::IfcExternalReferenceRelationship> Ifc4::IfcTimeSeries::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[380], 3)); } // const IfcParse::entity& Ifc4::IfcTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4_types[1081]); } const IfcParse::entity& Ifc4::IfcTimeSeries::Class() { return *((IfcParse::entity*)IFC4_types[1081]); } @@ -15531,7 +15531,7 @@ void Ifc4::IfcTypeObject::setApplicableOccurrence(const std::optional< std::stri 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(data()->file()->getInverse(data()->id(), IFC4_types[832], 5)); } +std::vector<::Ifc4::IfcRelDefinesByType> Ifc4::IfcTypeObject::Types() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[832], 5)); } // const IfcParse::entity& Ifc4::IfcTypeObject::declaration() const { return *((IfcParse::entity*)IFC4_types[1106]); } const IfcParse::entity& Ifc4::IfcTypeObject::Class() { return *((IfcParse::entity*)IFC4_types[1106]); } @@ -15546,7 +15546,7 @@ void Ifc4::IfcTypeProcess::setLongDescription(const std::optional< std::string > std::optional< std::string > Ifc4::IfcTypeProcess::ProcessType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4::IfcTypeProcess::setProcessType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -std::vector<::Ifc4::IfcRelAssignsToProcess> Ifc4::IfcTypeProcess::OperatesOn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[803], 6)); } +std::vector<::Ifc4::IfcRelAssignsToProcess> Ifc4::IfcTypeProcess::OperatesOn() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[803], 6)); } // const IfcParse::entity& Ifc4::IfcTypeProcess::declaration() const { return *((IfcParse::entity*)IFC4_types[1107]); } const IfcParse::entity& Ifc4::IfcTypeProcess::Class() { return *((IfcParse::entity*)IFC4_types[1107]); } @@ -15559,7 +15559,7 @@ void Ifc4::IfcTypeProduct::setRepresentationMaps(const std::optional< std::vecto 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(data()->file()->getInverse(data()->id(), IFC4_types[804], 6)); } +std::vector<::Ifc4::IfcRelAssignsToProduct> Ifc4::IfcTypeProduct::ReferencedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[804], 6)); } // const IfcParse::entity& Ifc4::IfcTypeProduct::declaration() const { return *((IfcParse::entity*)IFC4_types[1108]); } const IfcParse::entity& Ifc4::IfcTypeProduct::Class() { return *((IfcParse::entity*)IFC4_types[1108]); } @@ -15574,7 +15574,7 @@ void Ifc4::IfcTypeResource::setLongDescription(const std::optional< std::string std::optional< std::string > Ifc4::IfcTypeResource::ResourceType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4::IfcTypeResource::setResourceType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -std::vector<::Ifc4::IfcRelAssignsToResource> Ifc4::IfcTypeResource::ResourceOf() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4_types[805], 6)); } +std::vector<::Ifc4::IfcRelAssignsToResource> Ifc4::IfcTypeResource::ResourceOf() const { return cast_vector(file()->getInverse(data()->id(), IFC4_types[805], 6)); } // const IfcParse::entity& Ifc4::IfcTypeResource::declaration() const { return *((IfcParse::entity*)IFC4_types[1109]); } const IfcParse::entity& Ifc4::IfcTypeResource::Class() { return *((IfcParse::entity*)IFC4_types[1109]); } diff --git a/src/ifcparse/Ifc4x1.cpp b/src/ifcparse/Ifc4x1.cpp index 5bc60294a6..1674a22484 100644 --- a/src/ifcparse/Ifc4x1.cpp +++ b/src/ifcparse/Ifc4x1.cpp @@ -6789,7 +6789,7 @@ const IfcParse::entity& Ifc4x1::IfcActionRequest::Class() { return *((IfcParse:: ::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(data()->file()->getInverse(data()->id(), IFC4X1_types[822], 6)); } +std::vector<::Ifc4x1::IfcRelAssignsToActor> Ifc4x1::IfcActor::IsActingUpon() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[822], 6)); } // const IfcParse::entity& Ifc4x1::IfcActor::declaration() const { return *((IfcParse::entity*)IFC4X1_types[6]); } const IfcParse::entity& Ifc4x1::IfcActor::Class() { return *((IfcParse::entity*)IFC4X1_types[6]); } @@ -6804,7 +6804,7 @@ void Ifc4x1::IfcActorRole::setUserDefinedRole(const std::optional< std::string > std::optional< std::string > Ifc4x1::IfcActorRole::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcActorRole::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcActorRole::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[394], 3)); } +std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcActorRole::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[394], 3)); } // const IfcParse::entity& Ifc4x1::IfcActorRole::declaration() const { return *((IfcParse::entity*)IFC4X1_types[7]); } const IfcParse::entity& Ifc4x1::IfcActorRole::Class() { return *((IfcParse::entity*)IFC4X1_types[7]); } @@ -6839,8 +6839,8 @@ void Ifc4x1::IfcAddress::setDescription(const std::optional< std::string >& v) { std::optional< std::string > Ifc4x1::IfcAddress::UserDefinedPurpose() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcAddress::setUserDefinedPurpose(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x1::IfcPerson> Ifc4x1::IfcAddress::OfPerson() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[667], 7)); } -std::vector<::Ifc4x1::IfcOrganization> Ifc4x1::IfcAddress::OfOrganization() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[648], 4)); } +std::vector<::Ifc4x1::IfcPerson> Ifc4x1::IfcAddress::OfPerson() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[667], 7)); } +std::vector<::Ifc4x1::IfcOrganization> Ifc4x1::IfcAddress::OfOrganization() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[648], 4)); } // const IfcParse::entity& Ifc4x1::IfcAddress::declaration() const { return *((IfcParse::entity*)IFC4X1_types[12]); } const IfcParse::entity& Ifc4x1::IfcAddress::Class() { return *((IfcParse::entity*)IFC4X1_types[12]); } @@ -6969,7 +6969,7 @@ void Ifc4x1::IfcAlignment2DHorizontal::setStartDistAlong(const std::optional< do 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(data()->file()->getInverse(data()->id(), IFC4X1_types[38], 0)); } +std::vector<::Ifc4x1::IfcAlignmentCurve> Ifc4x1::IfcAlignment2DHorizontal::ToAlignmentCurve() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[38], 0)); } // const IfcParse::entity& Ifc4x1::IfcAlignment2DHorizontal::declaration() const { return *((IfcParse::entity*)IFC4X1_types[30]); } const IfcParse::entity& Ifc4x1::IfcAlignment2DHorizontal::Class() { return *((IfcParse::entity*)IFC4X1_types[30]); } @@ -6980,7 +6980,7 @@ const IfcParse::entity& Ifc4x1::IfcAlignment2DHorizontal::Class() { return *((If ::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(data()->file()->getInverse(data()->id(), IFC4X1_types[30], 1)); } +std::vector<::Ifc4x1::IfcAlignment2DHorizontal> Ifc4x1::IfcAlignment2DHorizontalSegment::ToHorizontal() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[30], 1)); } // const IfcParse::entity& Ifc4x1::IfcAlignment2DHorizontalSegment::declaration() const { return *((IfcParse::entity*)IFC4X1_types[31]); } const IfcParse::entity& Ifc4x1::IfcAlignment2DHorizontalSegment::Class() { return *((IfcParse::entity*)IFC4X1_types[31]); } @@ -7037,7 +7037,7 @@ const IfcParse::entity& Ifc4x1::IfcAlignment2DVerSegParabolicArc::Class() { retu 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(data()->file()->getInverse(data()->id(), IFC4X1_types[38], 1)); } +std::vector<::Ifc4x1::IfcAlignmentCurve> Ifc4x1::IfcAlignment2DVertical::ToAlignmentCurve() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[38], 1)); } // const IfcParse::entity& Ifc4x1::IfcAlignment2DVertical::declaration() const { return *((IfcParse::entity*)IFC4X1_types[36]); } const IfcParse::entity& Ifc4x1::IfcAlignment2DVertical::Class() { return *((IfcParse::entity*)IFC4X1_types[36]); } @@ -7054,7 +7054,7 @@ void Ifc4x1::IfcAlignment2DVerticalSegment::setStartHeight(const double& v) { se double Ifc4x1::IfcAlignment2DVerticalSegment::StartGradient() const { double v = get_attribute_value(6); return v; } void Ifc4x1::IfcAlignment2DVerticalSegment::setStartGradient(const double& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::vector<::Ifc4x1::IfcAlignment2DVertical> Ifc4x1::IfcAlignment2DVerticalSegment::ToVertical() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[36], 0)); } +std::vector<::Ifc4x1::IfcAlignment2DVertical> Ifc4x1::IfcAlignment2DVerticalSegment::ToVertical() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[36], 0)); } // const IfcParse::entity& Ifc4x1::IfcAlignment2DVerticalSegment::declaration() const { return *((IfcParse::entity*)IFC4X1_types[37]); } const IfcParse::entity& Ifc4x1::IfcAlignment2DVerticalSegment::Class() { return *((IfcParse::entity*)IFC4X1_types[37]); } @@ -7077,7 +7077,7 @@ const IfcParse::entity& Ifc4x1::IfcAlignmentCurve::Class() { return *((IfcParse: // Function implementations for IfcAnnotation -std::vector<::Ifc4x1::IfcRelContainedInSpatialStructure> Ifc4x1::IfcAnnotation::ContainedInStructure() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[846], 4)); } +std::vector<::Ifc4x1::IfcRelContainedInSpatialStructure> Ifc4x1::IfcAnnotation::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[846], 4)); } // const IfcParse::entity& Ifc4x1::IfcAnnotation::declaration() const { return *((IfcParse::entity*)IFC4X1_types[44]); } const IfcParse::entity& Ifc4x1::IfcAnnotation::Class() { return *((IfcParse::entity*)IFC4X1_types[44]); } @@ -7134,7 +7134,7 @@ void Ifc4x1::IfcAppliedValue::setArithmeticOperator(const std::optional< ::Ifc4x 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(data()->file()->getInverse(data()->id(), IFC4X1_types[394], 3)); } +std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcAppliedValue::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[394], 3)); } // const IfcParse::entity& Ifc4x1::IfcAppliedValue::declaration() const { return *((IfcParse::entity*)IFC4X1_types[47]); } const IfcParse::entity& Ifc4x1::IfcAppliedValue::Class() { return *((IfcParse::entity*)IFC4X1_types[47]); } @@ -7161,11 +7161,11 @@ void Ifc4x1::IfcApproval::setRequestingApproval(const ::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(data()->file()->getInverse(data()->id(), IFC4X1_types[394], 3)); } -std::vector<::Ifc4x1::IfcRelAssociatesApproval> Ifc4x1::IfcApproval::ApprovedObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[830], 5)); } -std::vector<::Ifc4x1::IfcResourceApprovalRelationship> Ifc4x1::IfcApproval::ApprovedResources() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[874], 3)); } -std::vector<::Ifc4x1::IfcApprovalRelationship> Ifc4x1::IfcApproval::IsRelatedWith() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[50], 3)); } -std::vector<::Ifc4x1::IfcApprovalRelationship> Ifc4x1::IfcApproval::Relates() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[50], 2)); } +std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcApproval::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[394], 3)); } +std::vector<::Ifc4x1::IfcRelAssociatesApproval> Ifc4x1::IfcApproval::ApprovedObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[830], 5)); } +std::vector<::Ifc4x1::IfcResourceApprovalRelationship> Ifc4x1::IfcApproval::ApprovedResources() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[874], 3)); } +std::vector<::Ifc4x1::IfcApprovalRelationship> Ifc4x1::IfcApproval::IsRelatedWith() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[50], 3)); } +std::vector<::Ifc4x1::IfcApprovalRelationship> Ifc4x1::IfcApproval::Relates() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[50], 2)); } // const IfcParse::entity& Ifc4x1::IfcApproval::declaration() const { return *((IfcParse::entity*)IFC4X1_types[49]); } const IfcParse::entity& Ifc4x1::IfcApproval::Class() { return *((IfcParse::entity*)IFC4X1_types[49]); } @@ -8048,8 +8048,8 @@ void Ifc4x1::IfcClassification::setLocation(const std::optional< std::string >& std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::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 Ifc4x1::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<::Ifc4x1::IfcRelAssociatesClassification> Ifc4x1::IfcClassification::ClassificationForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[831], 5)); } -std::vector<::Ifc4x1::IfcClassificationReference> Ifc4x1::IfcClassification::HasReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[154], 3)); } +std::vector<::Ifc4x1::IfcRelAssociatesClassification> Ifc4x1::IfcClassification::ClassificationForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[831], 5)); } +std::vector<::Ifc4x1::IfcClassificationReference> Ifc4x1::IfcClassification::HasReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[154], 3)); } // const IfcParse::entity& Ifc4x1::IfcClassification::declaration() const { return *((IfcParse::entity*)IFC4X1_types[153]); } const IfcParse::entity& Ifc4x1::IfcClassification::Class() { return *((IfcParse::entity*)IFC4X1_types[153]); } @@ -8064,8 +8064,8 @@ void Ifc4x1::IfcClassificationReference::setDescription(const std::optional< std std::optional< std::string > Ifc4x1::IfcClassificationReference::Sort() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcClassificationReference::setSort(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x1::IfcRelAssociatesClassification> Ifc4x1::IfcClassificationReference::ClassificationRefForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[831], 5)); } -std::vector<::Ifc4x1::IfcClassificationReference> Ifc4x1::IfcClassificationReference::HasReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[154], 3)); } +std::vector<::Ifc4x1::IfcRelAssociatesClassification> Ifc4x1::IfcClassificationReference::ClassificationRefForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[831], 5)); } +std::vector<::Ifc4x1::IfcClassificationReference> Ifc4x1::IfcClassificationReference::HasReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[154], 3)); } // const IfcParse::entity& Ifc4x1::IfcClassificationReference::declaration() const { return *((IfcParse::entity*)IFC4X1_types[154]); } const IfcParse::entity& Ifc4x1::IfcClassificationReference::Class() { return *((IfcParse::entity*)IFC4X1_types[154]); } @@ -8236,7 +8236,7 @@ void Ifc4x1::IfcCompositeCurveSegment::setSameSense(const bool& v) { set_attribu ::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(data()->file()->getInverse(data()->id(), IFC4X1_types[177], 0)); } +std::vector<::Ifc4x1::IfcCompositeCurve> Ifc4x1::IfcCompositeCurveSegment::UsingCurves() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[177], 0)); } // const IfcParse::entity& Ifc4x1::IfcCompositeCurveSegment::declaration() const { return *((IfcParse::entity*)IFC4X1_types[179]); } const IfcParse::entity& Ifc4x1::IfcCompositeCurveSegment::Class() { return *((IfcParse::entity*)IFC4X1_types[179]); } @@ -8401,8 +8401,8 @@ void Ifc4x1::IfcConstraint::setCreationTime(const std::optional< std::string >& std::optional< std::string > Ifc4x1::IfcConstraint::UserDefinedGrade() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x1::IfcConstraint::setUserDefinedGrade(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcConstraint::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[394], 3)); } -std::vector<::Ifc4x1::IfcResourceConstraintRelationship> Ifc4x1::IfcConstraint::PropertiesForConstraint() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[875], 2)); } +std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcConstraint::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[394], 3)); } +std::vector<::Ifc4x1::IfcResourceConstraintRelationship> Ifc4x1::IfcConstraint::PropertiesForConstraint() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[875], 2)); } // const IfcParse::entity& Ifc4x1::IfcConstraint::declaration() const { return *((IfcParse::entity*)IFC4X1_types[197]); } const IfcParse::entity& Ifc4x1::IfcConstraint::Class() { return *((IfcParse::entity*)IFC4X1_types[197]); } @@ -8507,8 +8507,8 @@ void Ifc4x1::IfcContext::setRepresentationContexts(const std::optional< std::vec ::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(data()->file()->getInverse(data()->id(), IFC4X1_types[853], 4)); } -std::vector<::Ifc4x1::IfcRelDeclares> Ifc4x1::IfcContext::Declares() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[849], 4)); } +std::vector<::Ifc4x1::IfcRelDefinesByProperties> Ifc4x1::IfcContext::IsDefinedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[853], 4)); } +std::vector<::Ifc4x1::IfcRelDeclares> Ifc4x1::IfcContext::Declares() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[849], 4)); } // const IfcParse::entity& Ifc4x1::IfcContext::declaration() const { return *((IfcParse::entity*)IFC4X1_types[210]); } const IfcParse::entity& Ifc4x1::IfcContext::Class() { return *((IfcParse::entity*)IFC4X1_types[210]); } @@ -8519,7 +8519,7 @@ const IfcParse::entity& Ifc4x1::IfcContext::Class() { return *((IfcParse::entity std::string Ifc4x1::IfcContextDependentUnit::Name() const { std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcContextDependentUnit::setName(const std::string& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcContextDependentUnit::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[394], 3)); } +std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcContextDependentUnit::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[394], 3)); } // const IfcParse::entity& Ifc4x1::IfcContextDependentUnit::declaration() const { return *((IfcParse::entity*)IFC4X1_types[212]); } const IfcParse::entity& Ifc4x1::IfcContextDependentUnit::Class() { return *((IfcParse::entity*)IFC4X1_types[212]); } @@ -8530,7 +8530,7 @@ const IfcParse::entity& Ifc4x1::IfcContextDependentUnit::Class() { return *((Ifc std::optional< std::string > Ifc4x1::IfcControl::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcControl::setIdentification(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x1::IfcRelAssignsToControl> Ifc4x1::IfcControl::Controls() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[823], 6)); } +std::vector<::Ifc4x1::IfcRelAssignsToControl> Ifc4x1::IfcControl::Controls() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[823], 6)); } // const IfcParse::entity& Ifc4x1::IfcControl::declaration() const { return *((IfcParse::entity*)IFC4X1_types[213]); } const IfcParse::entity& Ifc4x1::IfcControl::Class() { return *((IfcParse::entity*)IFC4X1_types[213]); } @@ -8563,7 +8563,7 @@ void Ifc4x1::IfcConversionBasedUnit::setName(const std::string& v) { set_attribu ::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(data()->file()->getInverse(data()->id(), IFC4X1_types[394], 3)); } +std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[394], 3)); } // const IfcParse::entity& Ifc4x1::IfcConversionBasedUnit::declaration() const { return *((IfcParse::entity*)IFC4X1_types[217]); } const IfcParse::entity& Ifc4x1::IfcConversionBasedUnit::Class() { return *((IfcParse::entity*)IFC4X1_types[217]); } @@ -8642,7 +8642,7 @@ void Ifc4x1::IfcCoordinateReferenceSystem::setGeodeticDatum(const std::optional< std::optional< std::string > Ifc4x1::IfcCoordinateReferenceSystem::VerticalDatum() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x1::IfcCoordinateReferenceSystem::setVerticalDatum(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -std::vector<::Ifc4x1::IfcCoordinateOperation> Ifc4x1::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[225], 0)); } +std::vector<::Ifc4x1::IfcCoordinateOperation> Ifc4x1::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[225], 0)); } // const IfcParse::entity& Ifc4x1::IfcCoordinateReferenceSystem::declaration() const { return *((IfcParse::entity*)IFC4X1_types[226]); } const IfcParse::entity& Ifc4x1::IfcCoordinateReferenceSystem::Class() { return *((IfcParse::entity*)IFC4X1_types[226]); } @@ -8691,8 +8691,8 @@ const IfcParse::entity& Ifc4x1::IfcCostValue::Class() { return *((IfcParse::enti 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)); } void Ifc4x1::IfcCovering::setPredefinedType(const std::optional< ::Ifc4x1::IfcCoveringTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcCoveringTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x1::IfcRelCoversSpaces> Ifc4x1::IfcCovering::CoversSpaces() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[848], 5)); } -std::vector<::Ifc4x1::IfcRelCoversBldgElements> Ifc4x1::IfcCovering::CoversElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[847], 5)); } +std::vector<::Ifc4x1::IfcRelCoversSpaces> Ifc4x1::IfcCovering::CoversSpaces() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[848], 5)); } +std::vector<::Ifc4x1::IfcRelCoversBldgElements> Ifc4x1::IfcCovering::CoversElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[847], 5)); } // const IfcParse::entity& Ifc4x1::IfcCovering::declaration() const { return *((IfcParse::entity*)IFC4X1_types[234]); } const IfcParse::entity& Ifc4x1::IfcCovering::Class() { return *((IfcParse::entity*)IFC4X1_types[234]); } @@ -9061,7 +9061,7 @@ const IfcParse::entity& Ifc4x1::IfcDistributionCircuit::Class() { return *((IfcP // Function implementations for IfcDistributionControlElement -std::vector<::Ifc4x1::IfcRelFlowControlElements> Ifc4x1::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[857], 4)); } +std::vector<::Ifc4x1::IfcRelFlowControlElements> Ifc4x1::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[857], 4)); } // const IfcParse::entity& Ifc4x1::IfcDistributionControlElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[290]); } const IfcParse::entity& Ifc4x1::IfcDistributionControlElement::Class() { return *((IfcParse::entity*)IFC4X1_types[290]); } @@ -9078,7 +9078,7 @@ const IfcParse::entity& Ifc4x1::IfcDistributionControlElementType::Class() { ret // Function implementations for IfcDistributionElement -std::vector<::Ifc4x1::IfcRelConnectsPortToElement> Ifc4x1::IfcDistributionElement::HasPorts() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[841], 5)); } +std::vector<::Ifc4x1::IfcRelConnectsPortToElement> Ifc4x1::IfcDistributionElement::HasPorts() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[841], 5)); } // const IfcParse::entity& Ifc4x1::IfcDistributionElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[292]); } const IfcParse::entity& Ifc4x1::IfcDistributionElement::Class() { return *((IfcParse::entity*)IFC4X1_types[292]); } @@ -9095,7 +9095,7 @@ const IfcParse::entity& Ifc4x1::IfcDistributionElementType::Class() { return *(( // Function implementations for IfcDistributionFlowElement -std::vector<::Ifc4x1::IfcRelFlowControlElements> Ifc4x1::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[857], 5)); } +std::vector<::Ifc4x1::IfcRelFlowControlElements> Ifc4x1::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[857], 5)); } // const IfcParse::entity& Ifc4x1::IfcDistributionFlowElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[294]); } const IfcParse::entity& Ifc4x1::IfcDistributionFlowElement::Class() { return *((IfcParse::entity*)IFC4X1_types[294]); } @@ -9172,10 +9172,10 @@ void Ifc4x1::IfcDocumentInformation::setConfidentiality(const std::optional< ::I std::optional< ::Ifc4x1::IfcDocumentStatusEnum::Value > Ifc4x1::IfcDocumentInformation::Status() const { if(get_attribute_value(16).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcDocumentStatusEnum::FromString(get_attribute_value(16)); } void Ifc4x1::IfcDocumentInformation::setStatus(const std::optional< ::Ifc4x1::IfcDocumentStatusEnum::Value >& v) { if (v) {set_attribute_value(16, EnumerationReference(&::Ifc4x1::IfcDocumentStatusEnum::Class(), (size_t) *v));} else {unset_attribute_value(16);} } -std::vector<::Ifc4x1::IfcRelAssociatesDocument> Ifc4x1::IfcDocumentInformation::DocumentInfoForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[833], 5)); } -std::vector<::Ifc4x1::IfcDocumentReference> Ifc4x1::IfcDocumentInformation::HasDocumentReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[303], 4)); } -std::vector<::Ifc4x1::IfcDocumentInformationRelationship> Ifc4x1::IfcDocumentInformation::IsPointedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[302], 3)); } -std::vector<::Ifc4x1::IfcDocumentInformationRelationship> Ifc4x1::IfcDocumentInformation::IsPointer() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[302], 2)); } +std::vector<::Ifc4x1::IfcRelAssociatesDocument> Ifc4x1::IfcDocumentInformation::DocumentInfoForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[833], 5)); } +std::vector<::Ifc4x1::IfcDocumentReference> Ifc4x1::IfcDocumentInformation::HasDocumentReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[303], 4)); } +std::vector<::Ifc4x1::IfcDocumentInformationRelationship> Ifc4x1::IfcDocumentInformation::IsPointedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[302], 3)); } +std::vector<::Ifc4x1::IfcDocumentInformationRelationship> Ifc4x1::IfcDocumentInformation::IsPointer() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[302], 2)); } // const IfcParse::entity& Ifc4x1::IfcDocumentInformation::declaration() const { return *((IfcParse::entity*)IFC4X1_types[301]); } const IfcParse::entity& Ifc4x1::IfcDocumentInformation::Class() { return *((IfcParse::entity*)IFC4X1_types[301]); } @@ -9202,7 +9202,7 @@ void Ifc4x1::IfcDocumentReference::setDescription(const std::optional< std::stri ::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(data()->file()->getInverse(data()->id(), IFC4X1_types[833], 5)); } +std::vector<::Ifc4x1::IfcRelAssociatesDocument> Ifc4x1::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[833], 5)); } // const IfcParse::entity& Ifc4x1::IfcDocumentReference::declaration() const { return *((IfcParse::entity*)IFC4X1_types[303]); } const IfcParse::entity& Ifc4x1::IfcDocumentReference::Class() { return *((IfcParse::entity*)IFC4X1_types[303]); } @@ -9553,18 +9553,18 @@ const IfcParse::entity& Ifc4x1::IfcElectricTimeControlType::Class() { return *(( 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; } void Ifc4x1::IfcElement::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -std::vector<::Ifc4x1::IfcRelFillsElement> Ifc4x1::IfcElement::FillsVoids() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[856], 5)); } -std::vector<::Ifc4x1::IfcRelConnectsElements> Ifc4x1::IfcElement::ConnectedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[838], 5)); } -std::vector<::Ifc4x1::IfcRelInterferesElements> Ifc4x1::IfcElement::IsInterferedByElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[858], 5)); } -std::vector<::Ifc4x1::IfcRelInterferesElements> Ifc4x1::IfcElement::InterferesElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[858], 4)); } -std::vector<::Ifc4x1::IfcRelProjectsElement> Ifc4x1::IfcElement::HasProjections() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[860], 4)); } -std::vector<::Ifc4x1::IfcRelReferencedInSpatialStructure> Ifc4x1::IfcElement::ReferencedInStructures() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[861], 4)); } -std::vector<::Ifc4x1::IfcRelVoidsElement> Ifc4x1::IfcElement::HasOpenings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[867], 4)); } -std::vector<::Ifc4x1::IfcRelConnectsWithRealizingElements> Ifc4x1::IfcElement::IsConnectionRealization() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[845], 7)); } -std::vector<::Ifc4x1::IfcRelSpaceBoundary> Ifc4x1::IfcElement::ProvidesBoundaries() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[864], 5)); } -std::vector<::Ifc4x1::IfcRelConnectsElements> Ifc4x1::IfcElement::ConnectedFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[838], 6)); } -std::vector<::Ifc4x1::IfcRelContainedInSpatialStructure> Ifc4x1::IfcElement::ContainedInStructure() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[846], 4)); } -std::vector<::Ifc4x1::IfcRelCoversBldgElements> Ifc4x1::IfcElement::HasCoverings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[847], 4)); } +std::vector<::Ifc4x1::IfcRelFillsElement> Ifc4x1::IfcElement::FillsVoids() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[856], 5)); } +std::vector<::Ifc4x1::IfcRelConnectsElements> Ifc4x1::IfcElement::ConnectedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[838], 5)); } +std::vector<::Ifc4x1::IfcRelInterferesElements> Ifc4x1::IfcElement::IsInterferedByElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[858], 5)); } +std::vector<::Ifc4x1::IfcRelInterferesElements> Ifc4x1::IfcElement::InterferesElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[858], 4)); } +std::vector<::Ifc4x1::IfcRelProjectsElement> Ifc4x1::IfcElement::HasProjections() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[860], 4)); } +std::vector<::Ifc4x1::IfcRelReferencedInSpatialStructure> Ifc4x1::IfcElement::ReferencedInStructures() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[861], 4)); } +std::vector<::Ifc4x1::IfcRelVoidsElement> Ifc4x1::IfcElement::HasOpenings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[867], 4)); } +std::vector<::Ifc4x1::IfcRelConnectsWithRealizingElements> Ifc4x1::IfcElement::IsConnectionRealization() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[845], 7)); } +std::vector<::Ifc4x1::IfcRelSpaceBoundary> Ifc4x1::IfcElement::ProvidesBoundaries() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[864], 5)); } +std::vector<::Ifc4x1::IfcRelConnectsElements> Ifc4x1::IfcElement::ConnectedFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[838], 6)); } +std::vector<::Ifc4x1::IfcRelContainedInSpatialStructure> Ifc4x1::IfcElement::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[846], 4)); } +std::vector<::Ifc4x1::IfcRelCoversBldgElements> Ifc4x1::IfcElement::HasCoverings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[847], 4)); } // const IfcParse::entity& Ifc4x1::IfcElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[359]); } const IfcParse::entity& Ifc4x1::IfcElement::Class() { return *((IfcParse::entity*)IFC4X1_types[359]); } @@ -9817,7 +9817,7 @@ void Ifc4x1::IfcExternalReference::setIdentification(const std::optional< std::s std::optional< std::string > Ifc4x1::IfcExternalReference::Name() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcExternalReference::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[394], 2)); } +std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[394], 2)); } // const IfcParse::entity& Ifc4x1::IfcExternalReference::declaration() const { return *((IfcParse::entity*)IFC4X1_types[393]); } const IfcParse::entity& Ifc4x1::IfcExternalReference::Class() { return *((IfcParse::entity*)IFC4X1_types[393]); } @@ -9840,7 +9840,7 @@ const IfcParse::entity& Ifc4x1::IfcExternalReferenceRelationship::Class() { retu 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)); } void Ifc4x1::IfcExternalSpatialElement::setPredefinedType(const std::optional< ::Ifc4x1::IfcExternalSpatialElementTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcExternalSpatialElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x1::IfcRelSpaceBoundary> Ifc4x1::IfcExternalSpatialElement::BoundedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[864], 4)); } +std::vector<::Ifc4x1::IfcRelSpaceBoundary> Ifc4x1::IfcExternalSpatialElement::BoundedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[864], 4)); } // const IfcParse::entity& Ifc4x1::IfcExternalSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[395]); } const IfcParse::entity& Ifc4x1::IfcExternalSpatialElement::Class() { return *((IfcParse::entity*)IFC4X1_types[395]); } @@ -9905,7 +9905,7 @@ const IfcParse::entity& Ifc4x1::IfcExtrudedAreaSolidTapered::Class() { return *( 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(data()->file()->getInverse(data()->id(), IFC4X1_types[1093], 2)); } +std::vector<::Ifc4x1::IfcTextureMap> Ifc4x1::IfcFace::HasTextureMaps() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[1093], 2)); } // const IfcParse::entity& Ifc4x1::IfcFace::declaration() const { return *((IfcParse::entity*)IFC4X1_types[400]); } const IfcParse::entity& Ifc4x1::IfcFace::Class() { return *((IfcParse::entity*)IFC4X1_types[400]); } @@ -10042,7 +10042,7 @@ const IfcParse::entity& Ifc4x1::IfcFeatureElement::Class() { return *((IfcParse: // Function implementations for IfcFeatureElementAddition -std::vector<::Ifc4x1::IfcRelProjectsElement> Ifc4x1::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[860], 5)); } +std::vector<::Ifc4x1::IfcRelProjectsElement> Ifc4x1::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[860], 5)); } // const IfcParse::entity& Ifc4x1::IfcFeatureElementAddition::declaration() const { return *((IfcParse::entity*)IFC4X1_types[415]); } const IfcParse::entity& Ifc4x1::IfcFeatureElementAddition::Class() { return *((IfcParse::entity*)IFC4X1_types[415]); } @@ -10051,7 +10051,7 @@ const IfcParse::entity& Ifc4x1::IfcFeatureElementAddition::Class() { return *((I // Function implementations for IfcFeatureElementSubtraction -std::vector<::Ifc4x1::IfcRelVoidsElement> Ifc4x1::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[867], 5)); } +std::vector<::Ifc4x1::IfcRelVoidsElement> Ifc4x1::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[867], 5)); } // const IfcParse::entity& Ifc4x1::IfcFeatureElementSubtraction::declaration() const { return *((IfcParse::entity*)IFC4X1_types[416]); } const IfcParse::entity& Ifc4x1::IfcFeatureElementSubtraction::Class() { return *((IfcParse::entity*)IFC4X1_types[416]); } @@ -10406,8 +10406,8 @@ void Ifc4x1::IfcGeometricRepresentationContext::setWorldCoordinateSystem(const : ::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(data()->file()->getInverse(data()->id(), IFC4X1_types[469], 6)); } -std::vector<::Ifc4x1::IfcCoordinateOperation> Ifc4x1::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[225], 0)); } +std::vector<::Ifc4x1::IfcGeometricRepresentationSubContext> Ifc4x1::IfcGeometricRepresentationContext::HasSubContexts() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[469], 6)); } +std::vector<::Ifc4x1::IfcCoordinateOperation> Ifc4x1::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[225], 0)); } // const IfcParse::entity& Ifc4x1::IfcGeometricRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X1_types[467]); } const IfcParse::entity& Ifc4x1::IfcGeometricRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X1_types[467]); } @@ -10472,10 +10472,10 @@ void Ifc4x1::IfcGridAxis::setAxisCurve(const ::Ifc4x1::IfcCurve& v) { set_attrib 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); } -std::vector<::Ifc4x1::IfcGrid> Ifc4x1::IfcGridAxis::PartOfW() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[474], 9)); } -std::vector<::Ifc4x1::IfcGrid> Ifc4x1::IfcGridAxis::PartOfV() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[474], 8)); } -std::vector<::Ifc4x1::IfcGrid> Ifc4x1::IfcGridAxis::PartOfU() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[474], 7)); } -std::vector<::Ifc4x1::IfcVirtualGridIntersection> Ifc4x1::IfcGridAxis::HasIntersections() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[1163], 0)); } +std::vector<::Ifc4x1::IfcGrid> Ifc4x1::IfcGridAxis::PartOfW() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[474], 9)); } +std::vector<::Ifc4x1::IfcGrid> Ifc4x1::IfcGridAxis::PartOfV() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[474], 8)); } +std::vector<::Ifc4x1::IfcGrid> Ifc4x1::IfcGridAxis::PartOfU() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[474], 7)); } +std::vector<::Ifc4x1::IfcVirtualGridIntersection> Ifc4x1::IfcGridAxis::HasIntersections() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[1163], 0)); } // const IfcParse::entity& Ifc4x1::IfcGridAxis::declaration() const { return *((IfcParse::entity*)IFC4X1_types[475]); } const IfcParse::entity& Ifc4x1::IfcGridAxis::Class() { return *((IfcParse::entity*)IFC4X1_types[475]); } @@ -10496,7 +10496,7 @@ const IfcParse::entity& Ifc4x1::IfcGridPlacement::Class() { return *((IfcParse:: // Function implementations for IfcGroup -std::vector<::Ifc4x1::IfcRelAssignsToGroup> Ifc4x1::IfcGroup::IsGroupedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[824], 6)); } +std::vector<::Ifc4x1::IfcRelAssignsToGroup> Ifc4x1::IfcGroup::IsGroupedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[824], 6)); } // const IfcParse::entity& Ifc4x1::IfcGroup::declaration() const { return *((IfcParse::entity*)IFC4X1_types[479]); } const IfcParse::entity& Ifc4x1::IfcGroup::Class() { return *((IfcParse::entity*)IFC4X1_types[479]); } @@ -10621,7 +10621,7 @@ const IfcParse::entity& Ifc4x1::IfcIndexedPolyCurve::Class() { return *((IfcPars std::vector< int > /*[3:?]*/ Ifc4x1::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } void Ifc4x1::IfcIndexedPolygonalFace::setCoordIndex(const std::vector< int > /*[3:?]*/& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector<::Ifc4x1::IfcPolygonalFaceSet> Ifc4x1::IfcIndexedPolygonalFace::ToFaceSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[700], 2)); } +std::vector<::Ifc4x1::IfcPolygonalFaceSet> Ifc4x1::IfcIndexedPolygonalFace::ToFaceSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[700], 2)); } // const IfcParse::entity& Ifc4x1::IfcIndexedPolygonalFace::declaration() const { return *((IfcParse::entity*)IFC4X1_types[495]); } const IfcParse::entity& Ifc4x1::IfcIndexedPolygonalFace::Class() { return *((IfcParse::entity*)IFC4X1_types[495]); } @@ -10836,8 +10836,8 @@ void Ifc4x1::IfcLibraryInformation::setLocation(const std::optional< std::string std::optional< std::string > Ifc4x1::IfcLibraryInformation::Description() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcLibraryInformation::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x1::IfcRelAssociatesLibrary> Ifc4x1::IfcLibraryInformation::LibraryInfoForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[834], 5)); } -std::vector<::Ifc4x1::IfcLibraryReference> Ifc4x1::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[532], 5)); } +std::vector<::Ifc4x1::IfcRelAssociatesLibrary> Ifc4x1::IfcLibraryInformation::LibraryInfoForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[834], 5)); } +std::vector<::Ifc4x1::IfcLibraryReference> Ifc4x1::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[532], 5)); } // const IfcParse::entity& Ifc4x1::IfcLibraryInformation::declaration() const { return *((IfcParse::entity*)IFC4X1_types[531]); } const IfcParse::entity& Ifc4x1::IfcLibraryInformation::Class() { return *((IfcParse::entity*)IFC4X1_types[531]); } @@ -10852,7 +10852,7 @@ void Ifc4x1::IfcLibraryReference::setLanguage(const std::optional< std::string > ::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(data()->file()->getInverse(data()->id(), IFC4X1_types[834], 5)); } +std::vector<::Ifc4x1::IfcRelAssociatesLibrary> Ifc4x1::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[834], 5)); } // const IfcParse::entity& Ifc4x1::IfcLibraryReference::declaration() const { return *((IfcParse::entity*)IFC4X1_types[532]); } const IfcParse::entity& Ifc4x1::IfcLibraryReference::Class() { return *((IfcParse::entity*)IFC4X1_types[532]); } @@ -11109,9 +11109,9 @@ void Ifc4x1::IfcMaterial::setDescription(const std::optional< std::string >& v) std::optional< std::string > Ifc4x1::IfcMaterial::Category() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcMaterial::setCategory(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x1::IfcMaterialDefinitionRepresentation> Ifc4x1::IfcMaterial::HasRepresentation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[580], 3)); } -std::vector<::Ifc4x1::IfcMaterialRelationship> Ifc4x1::IfcMaterial::IsRelatedWith() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[592], 3)); } -std::vector<::Ifc4x1::IfcMaterialRelationship> Ifc4x1::IfcMaterial::RelatesTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[592], 2)); } +std::vector<::Ifc4x1::IfcMaterialDefinitionRepresentation> Ifc4x1::IfcMaterial::HasRepresentation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[580], 3)); } +std::vector<::Ifc4x1::IfcMaterialRelationship> Ifc4x1::IfcMaterial::IsRelatedWith() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[592], 3)); } +std::vector<::Ifc4x1::IfcMaterialRelationship> Ifc4x1::IfcMaterial::RelatesTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[592], 2)); } // const IfcParse::entity& Ifc4x1::IfcMaterial::declaration() const { return *((IfcParse::entity*)IFC4X1_types[575]); } const IfcParse::entity& Ifc4x1::IfcMaterial::Class() { return *((IfcParse::entity*)IFC4X1_types[575]); } @@ -11142,7 +11142,7 @@ void Ifc4x1::IfcMaterialConstituent::setFraction(const std::optional< double >& std::optional< std::string > Ifc4x1::IfcMaterialConstituent::Category() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcMaterialConstituent::setCategory(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector<::Ifc4x1::IfcMaterialConstituentSet> Ifc4x1::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[578], 2)); } +std::vector<::Ifc4x1::IfcMaterialConstituentSet> Ifc4x1::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[578], 2)); } // const IfcParse::entity& Ifc4x1::IfcMaterialConstituent::declaration() const { return *((IfcParse::entity*)IFC4X1_types[577]); } const IfcParse::entity& Ifc4x1::IfcMaterialConstituent::Class() { return *((IfcParse::entity*)IFC4X1_types[577]); } @@ -11165,9 +11165,9 @@ const IfcParse::entity& Ifc4x1::IfcMaterialConstituentSet::Class() { return *((I // Function implementations for IfcMaterialDefinition -std::vector<::Ifc4x1::IfcRelAssociatesMaterial> Ifc4x1::IfcMaterialDefinition::AssociatedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[835], 5)); } -std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcMaterialDefinition::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[394], 3)); } -std::vector<::Ifc4x1::IfcMaterialProperties> Ifc4x1::IfcMaterialDefinition::HasProperties() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[591], 3)); } +std::vector<::Ifc4x1::IfcRelAssociatesMaterial> Ifc4x1::IfcMaterialDefinition::AssociatedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[835], 5)); } +std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcMaterialDefinition::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[394], 3)); } +std::vector<::Ifc4x1::IfcMaterialProperties> Ifc4x1::IfcMaterialDefinition::HasProperties() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[591], 3)); } // const IfcParse::entity& Ifc4x1::IfcMaterialDefinition::declaration() const { return *((IfcParse::entity*)IFC4X1_types[579]); } const IfcParse::entity& Ifc4x1::IfcMaterialDefinition::Class() { return *((IfcParse::entity*)IFC4X1_types[579]); } @@ -11200,7 +11200,7 @@ void Ifc4x1::IfcMaterialLayer::setCategory(const std::optional< std::string >& v std::optional< int > Ifc4x1::IfcMaterialLayer::Priority() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } int v = get_attribute_value(6); return v; } void Ifc4x1::IfcMaterialLayer::setPriority(const std::optional< int >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x1::IfcMaterialLayerSet> Ifc4x1::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[582], 0)); } +std::vector<::Ifc4x1::IfcMaterialLayerSet> Ifc4x1::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[582], 0)); } // const IfcParse::entity& Ifc4x1::IfcMaterialLayer::declaration() const { return *((IfcParse::entity*)IFC4X1_types[581]); } const IfcParse::entity& Ifc4x1::IfcMaterialLayer::Class() { return *((IfcParse::entity*)IFC4X1_types[581]); } @@ -11275,7 +11275,7 @@ void Ifc4x1::IfcMaterialProfile::setPriority(const std::optional< int >& v) { if std::optional< std::string > Ifc4x1::IfcMaterialProfile::Category() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcMaterialProfile::setCategory(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x1::IfcMaterialProfileSet> Ifc4x1::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[587], 2)); } +std::vector<::Ifc4x1::IfcMaterialProfileSet> Ifc4x1::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[587], 2)); } // const IfcParse::entity& Ifc4x1::IfcMaterialProfile::declaration() const { return *((IfcParse::entity*)IFC4X1_types[586]); } const IfcParse::entity& Ifc4x1::IfcMaterialProfile::Class() { return *((IfcParse::entity*)IFC4X1_types[586]); } @@ -11360,7 +11360,7 @@ const IfcParse::entity& Ifc4x1::IfcMaterialRelationship::Class() { return *((Ifc // Function implementations for IfcMaterialUsageDefinition -std::vector<::Ifc4x1::IfcRelAssociatesMaterial> Ifc4x1::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[835], 5)); } +std::vector<::Ifc4x1::IfcRelAssociatesMaterial> Ifc4x1::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[835], 5)); } // const IfcParse::entity& Ifc4x1::IfcMaterialUsageDefinition::declaration() const { return *((IfcParse::entity*)IFC4X1_types[594]); } const IfcParse::entity& Ifc4x1::IfcMaterialUsageDefinition::Class() { return *((IfcParse::entity*)IFC4X1_types[594]); } @@ -11525,10 +11525,10 @@ const IfcParse::entity& Ifc4x1::IfcNamedUnit::Class() { return *((IfcParse::enti std::optional< std::string > Ifc4x1::IfcObject::ObjectType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcObject::setObjectType(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector<::Ifc4x1::IfcRelDefinesByObject> Ifc4x1::IfcObject::IsDeclaredBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[852], 4)); } -std::vector<::Ifc4x1::IfcRelDefinesByObject> Ifc4x1::IfcObject::Declares() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[852], 5)); } -std::vector<::Ifc4x1::IfcRelDefinesByType> Ifc4x1::IfcObject::IsTypedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[855], 4)); } -std::vector<::Ifc4x1::IfcRelDefinesByProperties> Ifc4x1::IfcObject::IsDefinedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[853], 4)); } +std::vector<::Ifc4x1::IfcRelDefinesByObject> Ifc4x1::IfcObject::IsDeclaredBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[852], 4)); } +std::vector<::Ifc4x1::IfcRelDefinesByObject> Ifc4x1::IfcObject::Declares() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[852], 5)); } +std::vector<::Ifc4x1::IfcRelDefinesByType> Ifc4x1::IfcObject::IsTypedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[855], 4)); } +std::vector<::Ifc4x1::IfcRelDefinesByProperties> Ifc4x1::IfcObject::IsDefinedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[853], 4)); } // const IfcParse::entity& Ifc4x1::IfcObject::declaration() const { return *((IfcParse::entity*)IFC4X1_types[631]); } const IfcParse::entity& Ifc4x1::IfcObject::Class() { return *((IfcParse::entity*)IFC4X1_types[631]); } @@ -11537,13 +11537,13 @@ const IfcParse::entity& Ifc4x1::IfcObject::Class() { return *((IfcParse::entity* // Function implementations for IfcObjectDefinition -std::vector<::Ifc4x1::IfcRelAssigns> Ifc4x1::IfcObjectDefinition::HasAssignments() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[821], 4)); } -std::vector<::Ifc4x1::IfcRelNests> Ifc4x1::IfcObjectDefinition::Nests() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[859], 5)); } -std::vector<::Ifc4x1::IfcRelNests> Ifc4x1::IfcObjectDefinition::IsNestedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[859], 4)); } -std::vector<::Ifc4x1::IfcRelDeclares> Ifc4x1::IfcObjectDefinition::HasContext() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[849], 5)); } -std::vector<::Ifc4x1::IfcRelAggregates> Ifc4x1::IfcObjectDefinition::IsDecomposedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[820], 4)); } -std::vector<::Ifc4x1::IfcRelAggregates> Ifc4x1::IfcObjectDefinition::Decomposes() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[820], 5)); } -std::vector<::Ifc4x1::IfcRelAssociates> Ifc4x1::IfcObjectDefinition::HasAssociations() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[829], 4)); } +std::vector<::Ifc4x1::IfcRelAssigns> Ifc4x1::IfcObjectDefinition::HasAssignments() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[821], 4)); } +std::vector<::Ifc4x1::IfcRelNests> Ifc4x1::IfcObjectDefinition::Nests() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[859], 5)); } +std::vector<::Ifc4x1::IfcRelNests> Ifc4x1::IfcObjectDefinition::IsNestedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[859], 4)); } +std::vector<::Ifc4x1::IfcRelDeclares> Ifc4x1::IfcObjectDefinition::HasContext() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[849], 5)); } +std::vector<::Ifc4x1::IfcRelAggregates> Ifc4x1::IfcObjectDefinition::IsDecomposedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[820], 4)); } +std::vector<::Ifc4x1::IfcRelAggregates> Ifc4x1::IfcObjectDefinition::Decomposes() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[820], 5)); } +std::vector<::Ifc4x1::IfcRelAssociates> Ifc4x1::IfcObjectDefinition::HasAssociations() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[829], 4)); } // const IfcParse::entity& Ifc4x1::IfcObjectDefinition::declaration() const { return *((IfcParse::entity*)IFC4X1_types[632]); } const IfcParse::entity& Ifc4x1::IfcObjectDefinition::Class() { return *((IfcParse::entity*)IFC4X1_types[632]); } @@ -11552,8 +11552,8 @@ const IfcParse::entity& Ifc4x1::IfcObjectDefinition::Class() { return *((IfcPars // Function implementations for IfcObjectPlacement -std::vector<::Ifc4x1::IfcProduct> Ifc4x1::IfcObjectPlacement::PlacesObject() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[731], 5)); } -std::vector<::Ifc4x1::IfcLocalPlacement> Ifc4x1::IfcObjectPlacement::ReferencedByPlacements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[558], 0)); } +std::vector<::Ifc4x1::IfcProduct> Ifc4x1::IfcObjectPlacement::PlacesObject() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[731], 5)); } +std::vector<::Ifc4x1::IfcLocalPlacement> Ifc4x1::IfcObjectPlacement::ReferencedByPlacements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[558], 0)); } // const IfcParse::entity& Ifc4x1::IfcObjectPlacement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[635]); } const IfcParse::entity& Ifc4x1::IfcObjectPlacement::Class() { return *((IfcParse::entity*)IFC4X1_types[635]); } @@ -11646,7 +11646,7 @@ const IfcParse::entity& Ifc4x1::IfcOpenShell::Class() { return *((IfcParse::enti 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)); } void Ifc4x1::IfcOpeningElement::setPredefinedType(const std::optional< ::Ifc4x1::IfcOpeningElementTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcOpeningElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x1::IfcRelFillsElement> Ifc4x1::IfcOpeningElement::HasFillings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[856], 4)); } +std::vector<::Ifc4x1::IfcRelFillsElement> Ifc4x1::IfcOpeningElement::HasFillings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[856], 4)); } // const IfcParse::entity& Ifc4x1::IfcOpeningElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[644]); } const IfcParse::entity& Ifc4x1::IfcOpeningElement::Class() { return *((IfcParse::entity*)IFC4X1_types[644]); } @@ -11673,9 +11673,9 @@ void Ifc4x1::IfcOrganization::setRoles(const std::optional< std::vector< ::Ifc4x 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(data()->file()->getInverse(data()->id(), IFC4X1_types[649], 3)); } -std::vector<::Ifc4x1::IfcOrganizationRelationship> Ifc4x1::IfcOrganization::Relates() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[649], 2)); } -std::vector<::Ifc4x1::IfcPersonAndOrganization> Ifc4x1::IfcOrganization::Engages() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[668], 1)); } +std::vector<::Ifc4x1::IfcOrganizationRelationship> Ifc4x1::IfcOrganization::IsRelatedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[649], 3)); } +std::vector<::Ifc4x1::IfcOrganizationRelationship> Ifc4x1::IfcOrganization::Relates() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[649], 2)); } +std::vector<::Ifc4x1::IfcPersonAndOrganization> Ifc4x1::IfcOrganization::Engages() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[668], 1)); } // const IfcParse::entity& Ifc4x1::IfcOrganization::declaration() const { return *((IfcParse::entity*)IFC4X1_types[648]); } const IfcParse::entity& Ifc4x1::IfcOrganization::Class() { return *((IfcParse::entity*)IFC4X1_types[648]); } @@ -11864,7 +11864,7 @@ void Ifc4x1::IfcPerson::setRoles(const std::optional< std::vector< ::Ifc4x1::Ifc 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(data()->file()->getInverse(data()->id(), IFC4X1_types[668], 0)); } +std::vector<::Ifc4x1::IfcPersonAndOrganization> Ifc4x1::IfcPerson::EngagedIn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[668], 0)); } // const IfcParse::entity& Ifc4x1::IfcPerson::declaration() const { return *((IfcParse::entity*)IFC4X1_types[667]); } const IfcParse::entity& Ifc4x1::IfcPerson::Class() { return *((IfcParse::entity*)IFC4X1_types[667]); } @@ -11907,8 +11907,8 @@ void Ifc4x1::IfcPhysicalQuantity::setName(const std::string& v) { set_attribute_ std::optional< std::string > Ifc4x1::IfcPhysicalQuantity::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcPhysicalQuantity::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcPhysicalQuantity::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[394], 3)); } -std::vector<::Ifc4x1::IfcPhysicalComplexQuantity> Ifc4x1::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[670], 2)); } +std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcPhysicalQuantity::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[394], 3)); } +std::vector<::Ifc4x1::IfcPhysicalComplexQuantity> Ifc4x1::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[670], 2)); } // const IfcParse::entity& Ifc4x1::IfcPhysicalQuantity::declaration() const { return *((IfcParse::entity*)IFC4X1_types[672]); } const IfcParse::entity& Ifc4x1::IfcPhysicalQuantity::Class() { return *((IfcParse::entity*)IFC4X1_types[672]); } @@ -12153,9 +12153,9 @@ const IfcParse::entity& Ifc4x1::IfcPolyline::Class() { return *((IfcParse::entit // Function implementations for IfcPort -std::vector<::Ifc4x1::IfcRelConnectsPortToElement> Ifc4x1::IfcPort::ContainedIn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[841], 4)); } -std::vector<::Ifc4x1::IfcRelConnectsPorts> Ifc4x1::IfcPort::ConnectedFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[840], 5)); } -std::vector<::Ifc4x1::IfcRelConnectsPorts> Ifc4x1::IfcPort::ConnectedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[840], 4)); } +std::vector<::Ifc4x1::IfcRelConnectsPortToElement> Ifc4x1::IfcPort::ContainedIn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[841], 4)); } +std::vector<::Ifc4x1::IfcRelConnectsPorts> Ifc4x1::IfcPort::ConnectedFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[840], 5)); } +std::vector<::Ifc4x1::IfcRelConnectsPorts> Ifc4x1::IfcPort::ConnectedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[840], 4)); } // const IfcParse::entity& Ifc4x1::IfcPort::declaration() const { return *((IfcParse::entity*)IFC4X1_types[703]); } const IfcParse::entity& Ifc4x1::IfcPort::Class() { return *((IfcParse::entity*)IFC4X1_types[703]); } @@ -12164,7 +12164,7 @@ const IfcParse::entity& Ifc4x1::IfcPort::Class() { return *((IfcParse::entity*)I // Function implementations for IfcPositioningElement -std::vector<::Ifc4x1::IfcRelContainedInSpatialStructure> Ifc4x1::IfcPositioningElement::ContainedInStructure() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[846], 4)); } +std::vector<::Ifc4x1::IfcRelContainedInSpatialStructure> Ifc4x1::IfcPositioningElement::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[846], 4)); } // const IfcParse::entity& Ifc4x1::IfcPositioningElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[704]); } const IfcParse::entity& Ifc4x1::IfcPositioningElement::Class() { return *((IfcParse::entity*)IFC4X1_types[704]); } @@ -12329,9 +12329,9 @@ void Ifc4x1::IfcProcess::setIdentification(const std::optional< std::string >& v std::optional< std::string > Ifc4x1::IfcProcess::LongDescription() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x1::IfcProcess::setLongDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x1::IfcRelSequence> Ifc4x1::IfcProcess::IsPredecessorTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[862], 4)); } -std::vector<::Ifc4x1::IfcRelSequence> Ifc4x1::IfcProcess::IsSuccessorFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[862], 5)); } -std::vector<::Ifc4x1::IfcRelAssignsToProcess> Ifc4x1::IfcProcess::OperatesOn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[826], 6)); } +std::vector<::Ifc4x1::IfcRelSequence> Ifc4x1::IfcProcess::IsPredecessorTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[862], 4)); } +std::vector<::Ifc4x1::IfcRelSequence> Ifc4x1::IfcProcess::IsSuccessorFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[862], 5)); } +std::vector<::Ifc4x1::IfcRelAssignsToProcess> Ifc4x1::IfcProcess::OperatesOn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[826], 6)); } // const IfcParse::entity& Ifc4x1::IfcProcess::declaration() const { return *((IfcParse::entity*)IFC4X1_types[729]); } const IfcParse::entity& Ifc4x1::IfcProcess::Class() { return *((IfcParse::entity*)IFC4X1_types[729]); } @@ -12344,7 +12344,7 @@ void Ifc4x1::IfcProduct::setObjectPlacement(const ::Ifc4x1::IfcObjectPlacement& ::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(data()->file()->getInverse(data()->id(), IFC4X1_types[827], 6)); } +std::vector<::Ifc4x1::IfcRelAssignsToProduct> Ifc4x1::IfcProduct::ReferencedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[827], 6)); } // const IfcParse::entity& Ifc4x1::IfcProduct::declaration() const { return *((IfcParse::entity*)IFC4X1_types[731]); } const IfcParse::entity& Ifc4x1::IfcProduct::Class() { return *((IfcParse::entity*)IFC4X1_types[731]); } @@ -12353,8 +12353,8 @@ const IfcParse::entity& Ifc4x1::IfcProduct::Class() { return *((IfcParse::entity // Function implementations for IfcProductDefinitionShape -std::vector<::Ifc4x1::IfcProduct> Ifc4x1::IfcProductDefinitionShape::ShapeOfProduct() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[731], 6)); } -std::vector<::Ifc4x1::IfcShapeAspect> Ifc4x1::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[915], 4)); } +std::vector<::Ifc4x1::IfcProduct> Ifc4x1::IfcProductDefinitionShape::ShapeOfProduct() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[731], 6)); } +std::vector<::Ifc4x1::IfcShapeAspect> Ifc4x1::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[915], 4)); } // const IfcParse::entity& Ifc4x1::IfcProductDefinitionShape::declaration() const { return *((IfcParse::entity*)IFC4X1_types[732]); } const IfcParse::entity& Ifc4x1::IfcProductDefinitionShape::Class() { return *((IfcParse::entity*)IFC4X1_types[732]); } @@ -12381,8 +12381,8 @@ void Ifc4x1::IfcProfileDef::setProfileType(const ::Ifc4x1::IfcProfileTypeEnum::V std::optional< std::string > Ifc4x1::IfcProfileDef::ProfileName() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcProfileDef::setProfileName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcProfileDef::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[394], 3)); } -std::vector<::Ifc4x1::IfcProfileProperties> Ifc4x1::IfcProfileDef::HasProperties() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[737], 3)); } +std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcProfileDef::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[394], 3)); } +std::vector<::Ifc4x1::IfcProfileProperties> Ifc4x1::IfcProfileDef::HasProperties() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[737], 3)); } // const IfcParse::entity& Ifc4x1::IfcProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X1_types[736]); } const IfcParse::entity& Ifc4x1::IfcProfileDef::Class() { return *((IfcParse::entity*)IFC4X1_types[736]); } @@ -12459,12 +12459,12 @@ void Ifc4x1::IfcProperty::setName(const std::string& v) { set_attribute_value(0, std::optional< std::string > Ifc4x1::IfcProperty::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcProperty::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x1::IfcPropertySet> Ifc4x1::IfcProperty::PartOfPset() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[756], 4)); } -std::vector<::Ifc4x1::IfcPropertyDependencyRelationship> Ifc4x1::IfcProperty::PropertyForDependance() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[751], 2)); } -std::vector<::Ifc4x1::IfcPropertyDependencyRelationship> Ifc4x1::IfcProperty::PropertyDependsOn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[751], 3)); } -std::vector<::Ifc4x1::IfcComplexProperty> Ifc4x1::IfcProperty::PartOfComplex() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[174], 3)); } -std::vector<::Ifc4x1::IfcResourceConstraintRelationship> Ifc4x1::IfcProperty::HasConstraints() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[875], 3)); } -std::vector<::Ifc4x1::IfcResourceApprovalRelationship> Ifc4x1::IfcProperty::HasApprovals() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[874], 2)); } +std::vector<::Ifc4x1::IfcPropertySet> Ifc4x1::IfcProperty::PartOfPset() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[756], 4)); } +std::vector<::Ifc4x1::IfcPropertyDependencyRelationship> Ifc4x1::IfcProperty::PropertyForDependance() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[751], 2)); } +std::vector<::Ifc4x1::IfcPropertyDependencyRelationship> Ifc4x1::IfcProperty::PropertyDependsOn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[751], 3)); } +std::vector<::Ifc4x1::IfcComplexProperty> Ifc4x1::IfcProperty::PartOfComplex() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[174], 3)); } +std::vector<::Ifc4x1::IfcResourceConstraintRelationship> Ifc4x1::IfcProperty::HasConstraints() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[875], 3)); } +std::vector<::Ifc4x1::IfcResourceApprovalRelationship> Ifc4x1::IfcProperty::HasApprovals() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[874], 2)); } // const IfcParse::entity& Ifc4x1::IfcProperty::declaration() const { return *((IfcParse::entity*)IFC4X1_types[747]); } const IfcParse::entity& Ifc4x1::IfcProperty::Class() { return *((IfcParse::entity*)IFC4X1_types[747]); } @@ -12473,7 +12473,7 @@ const IfcParse::entity& Ifc4x1::IfcProperty::Class() { return *((IfcParse::entit // Function implementations for IfcPropertyAbstraction -std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[394], 3)); } +std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[394], 3)); } // const IfcParse::entity& Ifc4x1::IfcPropertyAbstraction::declaration() const { return *((IfcParse::entity*)IFC4X1_types[748]); } const IfcParse::entity& Ifc4x1::IfcPropertyAbstraction::Class() { return *((IfcParse::entity*)IFC4X1_types[748]); } @@ -12498,8 +12498,8 @@ const IfcParse::entity& Ifc4x1::IfcPropertyBoundedValue::Class() { return *((Ifc // Function implementations for IfcPropertyDefinition -std::vector<::Ifc4x1::IfcRelDeclares> Ifc4x1::IfcPropertyDefinition::HasContext() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[849], 5)); } -std::vector<::Ifc4x1::IfcRelAssociates> Ifc4x1::IfcPropertyDefinition::HasAssociations() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[829], 4)); } +std::vector<::Ifc4x1::IfcRelDeclares> Ifc4x1::IfcPropertyDefinition::HasContext() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[849], 5)); } +std::vector<::Ifc4x1::IfcRelAssociates> Ifc4x1::IfcPropertyDefinition::HasAssociations() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[829], 4)); } // const IfcParse::entity& Ifc4x1::IfcPropertyDefinition::declaration() const { return *((IfcParse::entity*)IFC4X1_types[750]); } const IfcParse::entity& Ifc4x1::IfcPropertyDefinition::Class() { return *((IfcParse::entity*)IFC4X1_types[750]); } @@ -12582,9 +12582,9 @@ const IfcParse::entity& Ifc4x1::IfcPropertySet::Class() { return *((IfcParse::en // Function implementations for IfcPropertySetDefinition -std::vector<::Ifc4x1::IfcTypeObject> Ifc4x1::IfcPropertySetDefinition::DefinesType() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[1134], 5)); } -std::vector<::Ifc4x1::IfcRelDefinesByTemplate> Ifc4x1::IfcPropertySetDefinition::IsDefinedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[854], 4)); } -std::vector<::Ifc4x1::IfcRelDefinesByProperties> Ifc4x1::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[853], 5)); } +std::vector<::Ifc4x1::IfcTypeObject> Ifc4x1::IfcPropertySetDefinition::DefinesType() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[1134], 5)); } +std::vector<::Ifc4x1::IfcRelDefinesByTemplate> Ifc4x1::IfcPropertySetDefinition::IsDefinedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[854], 4)); } +std::vector<::Ifc4x1::IfcRelDefinesByProperties> Ifc4x1::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[853], 5)); } // const IfcParse::entity& Ifc4x1::IfcPropertySetDefinition::declaration() const { return *((IfcParse::entity*)IFC4X1_types[757]); } const IfcParse::entity& Ifc4x1::IfcPropertySetDefinition::Class() { return *((IfcParse::entity*)IFC4X1_types[757]); } @@ -12599,7 +12599,7 @@ void Ifc4x1::IfcPropertySetTemplate::setApplicableEntity(const std::optional< st 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(data()->file()->getInverse(data()->id(), IFC4X1_types[854], 5)); } +std::vector<::Ifc4x1::IfcRelDefinesByTemplate> Ifc4x1::IfcPropertySetTemplate::Defines() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[854], 5)); } // const IfcParse::entity& Ifc4x1::IfcPropertySetTemplate::declaration() const { return *((IfcParse::entity*)IFC4X1_types[760]); } const IfcParse::entity& Ifc4x1::IfcPropertySetTemplate::Class() { return *((IfcParse::entity*)IFC4X1_types[760]); } @@ -12640,8 +12640,8 @@ const IfcParse::entity& Ifc4x1::IfcPropertyTableValue::Class() { return *((IfcPa // Function implementations for IfcPropertyTemplate -std::vector<::Ifc4x1::IfcComplexPropertyTemplate> Ifc4x1::IfcPropertyTemplate::PartOfComplexTemplate() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[175], 6)); } -std::vector<::Ifc4x1::IfcPropertySetTemplate> Ifc4x1::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[760], 6)); } +std::vector<::Ifc4x1::IfcComplexPropertyTemplate> Ifc4x1::IfcPropertyTemplate::PartOfComplexTemplate() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[175], 6)); } +std::vector<::Ifc4x1::IfcPropertySetTemplate> Ifc4x1::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[760], 6)); } // const IfcParse::entity& Ifc4x1::IfcPropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X1_types[764]); } const IfcParse::entity& Ifc4x1::IfcPropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X1_types[764]); } @@ -13692,7 +13692,7 @@ const IfcParse::entity& Ifc4x1::IfcRelSpaceBoundary::Class() { return *((IfcPars ::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(data()->file()->getInverse(data()->id(), IFC4X1_types[865], 9)); } +std::vector<::Ifc4x1::IfcRelSpaceBoundary1stLevel> Ifc4x1::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[865], 9)); } // const IfcParse::entity& Ifc4x1::IfcRelSpaceBoundary1stLevel::declaration() const { return *((IfcParse::entity*)IFC4X1_types[865]); } const IfcParse::entity& Ifc4x1::IfcRelSpaceBoundary1stLevel::Class() { return *((IfcParse::entity*)IFC4X1_types[865]); } @@ -13703,7 +13703,7 @@ const IfcParse::entity& Ifc4x1::IfcRelSpaceBoundary1stLevel::Class() { return *( ::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(data()->file()->getInverse(data()->id(), IFC4X1_types[866], 10)); } +std::vector<::Ifc4x1::IfcRelSpaceBoundary2ndLevel> Ifc4x1::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[866], 10)); } // const IfcParse::entity& Ifc4x1::IfcRelSpaceBoundary2ndLevel::declaration() const { return *((IfcParse::entity*)IFC4X1_types[866]); } const IfcParse::entity& Ifc4x1::IfcRelSpaceBoundary2ndLevel::Class() { return *((IfcParse::entity*)IFC4X1_types[866]); } @@ -13750,9 +13750,9 @@ void Ifc4x1::IfcRepresentation::setRepresentationType(const std::optional< std:: 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(data()->file()->getInverse(data()->id(), IFC4X1_types[872], 1)); } -std::vector<::Ifc4x1::IfcPresentationLayerAssignment> Ifc4x1::IfcRepresentation::LayerAssignments() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[720], 2)); } -std::vector<::Ifc4x1::IfcProductRepresentation> Ifc4x1::IfcRepresentation::OfProductRepresentation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[733], 2)); } +std::vector<::Ifc4x1::IfcRepresentationMap> Ifc4x1::IfcRepresentation::RepresentationMap() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[872], 1)); } +std::vector<::Ifc4x1::IfcPresentationLayerAssignment> Ifc4x1::IfcRepresentation::LayerAssignments() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[720], 2)); } +std::vector<::Ifc4x1::IfcProductRepresentation> Ifc4x1::IfcRepresentation::OfProductRepresentation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[733], 2)); } // const IfcParse::entity& Ifc4x1::IfcRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X1_types[869]); } const IfcParse::entity& Ifc4x1::IfcRepresentation::Class() { return *((IfcParse::entity*)IFC4X1_types[869]); } @@ -13765,7 +13765,7 @@ void Ifc4x1::IfcRepresentationContext::setContextIdentifier(const std::optional< std::optional< std::string > Ifc4x1::IfcRepresentationContext::ContextType() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcRepresentationContext::setContextType(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x1::IfcRepresentation> Ifc4x1::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[869], 0)); } +std::vector<::Ifc4x1::IfcRepresentation> Ifc4x1::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[869], 0)); } // const IfcParse::entity& Ifc4x1::IfcRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X1_types[870]); } const IfcParse::entity& Ifc4x1::IfcRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X1_types[870]); } @@ -13774,8 +13774,8 @@ const IfcParse::entity& Ifc4x1::IfcRepresentationContext::Class() { return *((If // Function implementations for IfcRepresentationItem -std::vector<::Ifc4x1::IfcPresentationLayerAssignment> Ifc4x1::IfcRepresentationItem::LayerAssignment() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[720], 2)); } -std::vector<::Ifc4x1::IfcStyledItem> Ifc4x1::IfcRepresentationItem::StyledByItem() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[1019], 0)); } +std::vector<::Ifc4x1::IfcPresentationLayerAssignment> Ifc4x1::IfcRepresentationItem::LayerAssignment() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[720], 2)); } +std::vector<::Ifc4x1::IfcStyledItem> Ifc4x1::IfcRepresentationItem::StyledByItem() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[1019], 0)); } // const IfcParse::entity& Ifc4x1::IfcRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X1_types[871]); } const IfcParse::entity& Ifc4x1::IfcRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X1_types[871]); } @@ -13788,8 +13788,8 @@ void Ifc4x1::IfcRepresentationMap::setMappingOrigin(const ::Ifc4x1::IfcAxis2Plac ::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(data()->file()->getInverse(data()->id(), IFC4X1_types[915], 4)); } -std::vector<::Ifc4x1::IfcMappedItem> Ifc4x1::IfcRepresentationMap::MapUsage() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[570], 0)); } +std::vector<::Ifc4x1::IfcShapeAspect> Ifc4x1::IfcRepresentationMap::HasShapeAspects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[915], 4)); } +std::vector<::Ifc4x1::IfcMappedItem> Ifc4x1::IfcRepresentationMap::MapUsage() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[570], 0)); } // const IfcParse::entity& Ifc4x1::IfcRepresentationMap::declaration() const { return *((IfcParse::entity*)IFC4X1_types[872]); } const IfcParse::entity& Ifc4x1::IfcRepresentationMap::Class() { return *((IfcParse::entity*)IFC4X1_types[872]); } @@ -13802,7 +13802,7 @@ void Ifc4x1::IfcResource::setIdentification(const std::optional< std::string >& std::optional< std::string > Ifc4x1::IfcResource::LongDescription() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x1::IfcResource::setLongDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x1::IfcRelAssignsToResource> Ifc4x1::IfcResource::ResourceOf() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[828], 6)); } +std::vector<::Ifc4x1::IfcRelAssignsToResource> Ifc4x1::IfcResource::ResourceOf() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[828], 6)); } // const IfcParse::entity& Ifc4x1::IfcResource::declaration() const { return *((IfcParse::entity*)IFC4X1_types[873]); } const IfcParse::entity& Ifc4x1::IfcResource::Class() { return *((IfcParse::entity*)IFC4X1_types[873]); } @@ -14153,7 +14153,7 @@ void Ifc4x1::IfcShapeAspect::setProductDefinitional(const boost::logic::tribool& ::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(data()->file()->getInverse(data()->id(), IFC4X1_types[394], 3)); } +std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcShapeAspect::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[394], 3)); } // const IfcParse::entity& Ifc4x1::IfcShapeAspect::declaration() const { return *((IfcParse::entity*)IFC4X1_types[915]); } const IfcParse::entity& Ifc4x1::IfcShapeAspect::Class() { return *((IfcParse::entity*)IFC4X1_types[915]); } @@ -14162,7 +14162,7 @@ const IfcParse::entity& Ifc4x1::IfcShapeAspect::Class() { return *((IfcParse::en // Function implementations for IfcShapeModel -std::vector<::Ifc4x1::IfcShapeAspect> Ifc4x1::IfcShapeModel::OfShapeAspect() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[915], 0)); } +std::vector<::Ifc4x1::IfcShapeAspect> Ifc4x1::IfcShapeModel::OfShapeAspect() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[915], 0)); } // const IfcParse::entity& Ifc4x1::IfcShapeModel::declaration() const { return *((IfcParse::entity*)IFC4X1_types[916]); } const IfcParse::entity& Ifc4x1::IfcShapeModel::Class() { return *((IfcParse::entity*)IFC4X1_types[916]); } @@ -14321,8 +14321,8 @@ void Ifc4x1::IfcSpace::setPredefinedType(const std::optional< ::Ifc4x1::IfcSpace std::optional< double > Ifc4x1::IfcSpace::ElevationWithFlooring() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } double v = get_attribute_value(10); return v; } void Ifc4x1::IfcSpace::setElevationWithFlooring(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -std::vector<::Ifc4x1::IfcRelCoversSpaces> Ifc4x1::IfcSpace::HasCoverings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[848], 4)); } -std::vector<::Ifc4x1::IfcRelSpaceBoundary> Ifc4x1::IfcSpace::BoundedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[864], 4)); } +std::vector<::Ifc4x1::IfcRelCoversSpaces> Ifc4x1::IfcSpace::HasCoverings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[848], 4)); } +std::vector<::Ifc4x1::IfcRelSpaceBoundary> Ifc4x1::IfcSpace::BoundedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[864], 4)); } // const IfcParse::entity& Ifc4x1::IfcSpace::declaration() const { return *((IfcParse::entity*)IFC4X1_types[946]); } const IfcParse::entity& Ifc4x1::IfcSpace::Class() { return *((IfcParse::entity*)IFC4X1_types[946]); } @@ -14365,9 +14365,9 @@ const IfcParse::entity& Ifc4x1::IfcSpaceType::Class() { return *((IfcParse::enti 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; } void Ifc4x1::IfcSpatialElement::setLongName(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -std::vector<::Ifc4x1::IfcRelContainedInSpatialStructure> Ifc4x1::IfcSpatialElement::ContainsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[846], 5)); } -std::vector<::Ifc4x1::IfcRelServicesBuildings> Ifc4x1::IfcSpatialElement::ServicedBySystems() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[863], 5)); } -std::vector<::Ifc4x1::IfcRelReferencedInSpatialStructure> Ifc4x1::IfcSpatialElement::ReferencesElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[861], 5)); } +std::vector<::Ifc4x1::IfcRelContainedInSpatialStructure> Ifc4x1::IfcSpatialElement::ContainsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[846], 5)); } +std::vector<::Ifc4x1::IfcRelServicesBuildings> Ifc4x1::IfcSpatialElement::ServicedBySystems() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[863], 5)); } +std::vector<::Ifc4x1::IfcRelReferencedInSpatialStructure> Ifc4x1::IfcSpatialElement::ReferencesElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[861], 5)); } // const IfcParse::entity& Ifc4x1::IfcSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[953]); } const IfcParse::entity& Ifc4x1::IfcSpatialElement::Class() { return *((IfcParse::entity*)IFC4X1_types[953]); } @@ -14528,7 +14528,7 @@ void Ifc4x1::IfcStructuralActivity::setAppliedLoad(const ::Ifc4x1::IfcStructural ::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, EnumerationReference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -std::vector<::Ifc4x1::IfcRelConnectsStructuralActivity> Ifc4x1::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[842], 5)); } +std::vector<::Ifc4x1::IfcRelConnectsStructuralActivity> Ifc4x1::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[842], 5)); } // const IfcParse::entity& Ifc4x1::IfcStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC4X1_types[977]); } const IfcParse::entity& Ifc4x1::IfcStructuralActivity::Class() { return *((IfcParse::entity*)IFC4X1_types[977]); } @@ -14557,7 +14557,7 @@ const IfcParse::entity& Ifc4x1::IfcStructuralAnalysisModel::Class() { return *(( ::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(data()->file()->getInverse(data()->id(), IFC4X1_types[843], 5)); } +std::vector<::Ifc4x1::IfcRelConnectsStructuralMember> Ifc4x1::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[843], 5)); } // const IfcParse::entity& Ifc4x1::IfcStructuralConnection::declaration() const { return *((IfcParse::entity*)IFC4X1_types[980]); } const IfcParse::entity& Ifc4x1::IfcStructuralConnection::Class() { return *((IfcParse::entity*)IFC4X1_types[980]); } @@ -14628,7 +14628,7 @@ const IfcParse::entity& Ifc4x1::IfcStructuralCurveReaction::Class() { return *(( // Function implementations for IfcStructuralItem -std::vector<::Ifc4x1::IfcRelConnectsStructuralActivity> Ifc4x1::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[842], 4)); } +std::vector<::Ifc4x1::IfcRelConnectsStructuralActivity> Ifc4x1::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[842], 4)); } // const IfcParse::entity& Ifc4x1::IfcStructuralItem::declaration() const { return *((IfcParse::entity*)IFC4X1_types[989]); } const IfcParse::entity& Ifc4x1::IfcStructuralItem::Class() { return *((IfcParse::entity*)IFC4X1_types[989]); } @@ -14687,8 +14687,8 @@ void Ifc4x1::IfcStructuralLoadGroup::setCoefficient(const std::optional< double std::optional< std::string > Ifc4x1::IfcStructuralLoadGroup::Purpose() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::string v = get_attribute_value(9); return v; } void Ifc4x1::IfcStructuralLoadGroup::setPurpose(const std::optional< std::string >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -std::vector<::Ifc4x1::IfcStructuralResultGroup> Ifc4x1::IfcStructuralLoadGroup::SourceOfResultGroup() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[1010], 6)); } -std::vector<::Ifc4x1::IfcStructuralAnalysisModel> Ifc4x1::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[979], 7)); } +std::vector<::Ifc4x1::IfcStructuralResultGroup> Ifc4x1::IfcStructuralLoadGroup::SourceOfResultGroup() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[1010], 6)); } +std::vector<::Ifc4x1::IfcStructuralAnalysisModel> Ifc4x1::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[979], 7)); } // const IfcParse::entity& Ifc4x1::IfcStructuralLoadGroup::declaration() const { return *((IfcParse::entity*)IFC4X1_types[994]); } const IfcParse::entity& Ifc4x1::IfcStructuralLoadGroup::Class() { return *((IfcParse::entity*)IFC4X1_types[994]); } @@ -14821,7 +14821,7 @@ const IfcParse::entity& Ifc4x1::IfcStructuralLoadTemperature::Class() { return * // Function implementations for IfcStructuralMember -std::vector<::Ifc4x1::IfcRelConnectsStructuralMember> Ifc4x1::IfcStructuralMember::ConnectedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[843], 4)); } +std::vector<::Ifc4x1::IfcRelConnectsStructuralMember> Ifc4x1::IfcStructuralMember::ConnectedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[843], 4)); } // const IfcParse::entity& Ifc4x1::IfcStructuralMember::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1004]); } const IfcParse::entity& Ifc4x1::IfcStructuralMember::Class() { return *((IfcParse::entity*)IFC4X1_types[1004]); } @@ -14878,7 +14878,7 @@ void Ifc4x1::IfcStructuralResultGroup::setResultForLoadGroup(const ::Ifc4x1::Ifc 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); } -std::vector<::Ifc4x1::IfcStructuralAnalysisModel> Ifc4x1::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[979], 8)); } +std::vector<::Ifc4x1::IfcStructuralAnalysisModel> Ifc4x1::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[979], 8)); } // const IfcParse::entity& Ifc4x1::IfcStructuralResultGroup::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1010]); } const IfcParse::entity& Ifc4x1::IfcStructuralResultGroup::Class() { return *((IfcParse::entity*)IFC4X1_types[1010]); } @@ -15175,8 +15175,8 @@ void Ifc4x1::IfcSurfaceTexture::setTextureTransform(const ::Ifc4x1::IfcCartesian 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);} } -std::vector<::Ifc4x1::IfcTextureCoordinate> Ifc4x1::IfcSurfaceTexture::IsMappedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[1091], 0)); } -std::vector<::Ifc4x1::IfcSurfaceStyleWithTextures> Ifc4x1::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[1042], 0)); } +std::vector<::Ifc4x1::IfcTextureCoordinate> Ifc4x1::IfcSurfaceTexture::IsMappedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[1091], 0)); } +std::vector<::Ifc4x1::IfcSurfaceStyleWithTextures> Ifc4x1::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[1042], 0)); } // const IfcParse::entity& Ifc4x1::IfcSurfaceTexture::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1043]); } const IfcParse::entity& Ifc4x1::IfcSurfaceTexture::Class() { return *((IfcParse::entity*)IFC4X1_types[1043]); } @@ -15257,7 +15257,7 @@ const IfcParse::entity& Ifc4x1::IfcSwitchingDeviceType::Class() { return *((IfcP // Function implementations for IfcSystem -std::vector<::Ifc4x1::IfcRelServicesBuildings> Ifc4x1::IfcSystem::ServicesBuildings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[863], 4)); } +std::vector<::Ifc4x1::IfcRelServicesBuildings> Ifc4x1::IfcSystem::ServicesBuildings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[863], 4)); } // const IfcParse::entity& Ifc4x1::IfcSystem::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1051]); } const IfcParse::entity& Ifc4x1::IfcSystem::Class() { return *((IfcParse::entity*)IFC4X1_types[1051]); } @@ -15542,8 +15542,8 @@ const IfcParse::entity& Ifc4x1::IfcTendonType::Class() { return *((IfcParse::ent ::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(data()->file()->getInverse(data()->id(), IFC4X1_types[493], 0)); } -std::vector<::Ifc4x1::IfcIndexedTextureMap> Ifc4x1::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[497], 1)); } +std::vector<::Ifc4x1::IfcIndexedColourMap> Ifc4x1::IfcTessellatedFaceSet::HasColours() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[493], 0)); } +std::vector<::Ifc4x1::IfcIndexedTextureMap> Ifc4x1::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[497], 1)); } // const IfcParse::entity& Ifc4x1::IfcTessellatedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1076]); } const IfcParse::entity& Ifc4x1::IfcTessellatedFaceSet::Class() { return *((IfcParse::entity*)IFC4X1_types[1076]); } @@ -15736,7 +15736,7 @@ void Ifc4x1::IfcTimeSeries::setUserDefinedDataOrigin(const std::optional< std::s ::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(data()->file()->getInverse(data()->id(), IFC4X1_types[394], 3)); } +std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcTimeSeries::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[394], 3)); } // const IfcParse::entity& Ifc4x1::IfcTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1106]); } const IfcParse::entity& Ifc4x1::IfcTimeSeries::Class() { return *((IfcParse::entity*)IFC4X1_types[1106]); } @@ -15925,7 +15925,7 @@ void Ifc4x1::IfcTypeObject::setApplicableOccurrence(const std::optional< std::st 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(data()->file()->getInverse(data()->id(), IFC4X1_types[855], 5)); } +std::vector<::Ifc4x1::IfcRelDefinesByType> Ifc4x1::IfcTypeObject::Types() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[855], 5)); } // const IfcParse::entity& Ifc4x1::IfcTypeObject::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1134]); } const IfcParse::entity& Ifc4x1::IfcTypeObject::Class() { return *((IfcParse::entity*)IFC4X1_types[1134]); } @@ -15940,7 +15940,7 @@ void Ifc4x1::IfcTypeProcess::setLongDescription(const std::optional< std::string std::optional< std::string > Ifc4x1::IfcTypeProcess::ProcessType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x1::IfcTypeProcess::setProcessType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -std::vector<::Ifc4x1::IfcRelAssignsToProcess> Ifc4x1::IfcTypeProcess::OperatesOn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[826], 6)); } +std::vector<::Ifc4x1::IfcRelAssignsToProcess> Ifc4x1::IfcTypeProcess::OperatesOn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[826], 6)); } // const IfcParse::entity& Ifc4x1::IfcTypeProcess::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1135]); } const IfcParse::entity& Ifc4x1::IfcTypeProcess::Class() { return *((IfcParse::entity*)IFC4X1_types[1135]); } @@ -15953,7 +15953,7 @@ void Ifc4x1::IfcTypeProduct::setRepresentationMaps(const std::optional< std::vec 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(data()->file()->getInverse(data()->id(), IFC4X1_types[827], 6)); } +std::vector<::Ifc4x1::IfcRelAssignsToProduct> Ifc4x1::IfcTypeProduct::ReferencedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[827], 6)); } // const IfcParse::entity& Ifc4x1::IfcTypeProduct::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1136]); } const IfcParse::entity& Ifc4x1::IfcTypeProduct::Class() { return *((IfcParse::entity*)IFC4X1_types[1136]); } @@ -15968,7 +15968,7 @@ void Ifc4x1::IfcTypeResource::setLongDescription(const std::optional< std::strin std::optional< std::string > Ifc4x1::IfcTypeResource::ResourceType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x1::IfcTypeResource::setResourceType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -std::vector<::Ifc4x1::IfcRelAssignsToResource> Ifc4x1::IfcTypeResource::ResourceOf() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X1_types[828], 6)); } +std::vector<::Ifc4x1::IfcRelAssignsToResource> Ifc4x1::IfcTypeResource::ResourceOf() const { return cast_vector(file()->getInverse(data()->id(), IFC4X1_types[828], 6)); } // const IfcParse::entity& Ifc4x1::IfcTypeResource::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1137]); } const IfcParse::entity& Ifc4x1::IfcTypeResource::Class() { return *((IfcParse::entity*)IFC4X1_types[1137]); } diff --git a/src/ifcparse/Ifc4x2.cpp b/src/ifcparse/Ifc4x2.cpp index 6c5d36d107..4e346fa6b6 100644 --- a/src/ifcparse/Ifc4x2.cpp +++ b/src/ifcparse/Ifc4x2.cpp @@ -6992,7 +6992,7 @@ const IfcParse::entity& Ifc4x2::IfcActionRequest::Class() { return *((IfcParse:: ::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(data()->file()->getInverse(data()->id(), IFC4X2_types[837], 6)); } +std::vector<::Ifc4x2::IfcRelAssignsToActor> Ifc4x2::IfcActor::IsActingUpon() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[837], 6)); } // const IfcParse::entity& Ifc4x2::IfcActor::declaration() const { return *((IfcParse::entity*)IFC4X2_types[6]); } const IfcParse::entity& Ifc4x2::IfcActor::Class() { return *((IfcParse::entity*)IFC4X2_types[6]); } @@ -7007,7 +7007,7 @@ void Ifc4x2::IfcActorRole::setUserDefinedRole(const std::optional< std::string > std::optional< std::string > Ifc4x2::IfcActorRole::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcActorRole::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcActorRole::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[407], 3)); } +std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcActorRole::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[407], 3)); } // const IfcParse::entity& Ifc4x2::IfcActorRole::declaration() const { return *((IfcParse::entity*)IFC4X2_types[7]); } const IfcParse::entity& Ifc4x2::IfcActorRole::Class() { return *((IfcParse::entity*)IFC4X2_types[7]); } @@ -7042,8 +7042,8 @@ void Ifc4x2::IfcAddress::setDescription(const std::optional< std::string >& v) { std::optional< std::string > Ifc4x2::IfcAddress::UserDefinedPurpose() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcAddress::setUserDefinedPurpose(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x2::IfcPerson> Ifc4x2::IfcAddress::OfPerson() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[682], 7)); } -std::vector<::Ifc4x2::IfcOrganization> Ifc4x2::IfcAddress::OfOrganization() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[663], 4)); } +std::vector<::Ifc4x2::IfcPerson> Ifc4x2::IfcAddress::OfPerson() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[682], 7)); } +std::vector<::Ifc4x2::IfcOrganization> Ifc4x2::IfcAddress::OfOrganization() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[663], 4)); } // const IfcParse::entity& Ifc4x2::IfcAddress::declaration() const { return *((IfcParse::entity*)IFC4X2_types[12]); } const IfcParse::entity& Ifc4x2::IfcAddress::Class() { return *((IfcParse::entity*)IFC4X2_types[12]); } @@ -7172,7 +7172,7 @@ void Ifc4x2::IfcAlignment2DHorizontal::setStartDistAlong(const std::optional< do 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(data()->file()->getInverse(data()->id(), IFC4X2_types[38], 0)); } +std::vector<::Ifc4x2::IfcAlignmentCurve> Ifc4x2::IfcAlignment2DHorizontal::ToAlignmentCurve() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[38], 0)); } // const IfcParse::entity& Ifc4x2::IfcAlignment2DHorizontal::declaration() const { return *((IfcParse::entity*)IFC4X2_types[30]); } const IfcParse::entity& Ifc4x2::IfcAlignment2DHorizontal::Class() { return *((IfcParse::entity*)IFC4X2_types[30]); } @@ -7183,7 +7183,7 @@ const IfcParse::entity& Ifc4x2::IfcAlignment2DHorizontal::Class() { return *((If ::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(data()->file()->getInverse(data()->id(), IFC4X2_types[30], 1)); } +std::vector<::Ifc4x2::IfcAlignment2DHorizontal> Ifc4x2::IfcAlignment2DHorizontalSegment::ToHorizontal() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[30], 1)); } // const IfcParse::entity& Ifc4x2::IfcAlignment2DHorizontalSegment::declaration() const { return *((IfcParse::entity*)IFC4X2_types[31]); } const IfcParse::entity& Ifc4x2::IfcAlignment2DHorizontalSegment::Class() { return *((IfcParse::entity*)IFC4X2_types[31]); } @@ -7240,7 +7240,7 @@ const IfcParse::entity& Ifc4x2::IfcAlignment2DVerSegParabolicArc::Class() { retu 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(data()->file()->getInverse(data()->id(), IFC4X2_types[38], 1)); } +std::vector<::Ifc4x2::IfcAlignmentCurve> Ifc4x2::IfcAlignment2DVertical::ToAlignmentCurve() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[38], 1)); } // const IfcParse::entity& Ifc4x2::IfcAlignment2DVertical::declaration() const { return *((IfcParse::entity*)IFC4X2_types[36]); } const IfcParse::entity& Ifc4x2::IfcAlignment2DVertical::Class() { return *((IfcParse::entity*)IFC4X2_types[36]); } @@ -7257,7 +7257,7 @@ void Ifc4x2::IfcAlignment2DVerticalSegment::setStartHeight(const double& v) { se double Ifc4x2::IfcAlignment2DVerticalSegment::StartGradient() const { double v = get_attribute_value(6); return v; } void Ifc4x2::IfcAlignment2DVerticalSegment::setStartGradient(const double& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::vector<::Ifc4x2::IfcAlignment2DVertical> Ifc4x2::IfcAlignment2DVerticalSegment::ToVertical() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[36], 0)); } +std::vector<::Ifc4x2::IfcAlignment2DVertical> Ifc4x2::IfcAlignment2DVerticalSegment::ToVertical() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[36], 0)); } // const IfcParse::entity& Ifc4x2::IfcAlignment2DVerticalSegment::declaration() const { return *((IfcParse::entity*)IFC4X2_types[37]); } const IfcParse::entity& Ifc4x2::IfcAlignment2DVerticalSegment::Class() { return *((IfcParse::entity*)IFC4X2_types[37]); } @@ -7280,7 +7280,7 @@ const IfcParse::entity& Ifc4x2::IfcAlignmentCurve::Class() { return *((IfcParse: // Function implementations for IfcAnnotation -std::vector<::Ifc4x2::IfcRelContainedInSpatialStructure> Ifc4x2::IfcAnnotation::ContainedInStructure() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[861], 4)); } +std::vector<::Ifc4x2::IfcRelContainedInSpatialStructure> Ifc4x2::IfcAnnotation::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[861], 4)); } // const IfcParse::entity& Ifc4x2::IfcAnnotation::declaration() const { return *((IfcParse::entity*)IFC4X2_types[44]); } const IfcParse::entity& Ifc4x2::IfcAnnotation::Class() { return *((IfcParse::entity*)IFC4X2_types[44]); } @@ -7337,7 +7337,7 @@ void Ifc4x2::IfcAppliedValue::setArithmeticOperator(const std::optional< ::Ifc4x 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(data()->file()->getInverse(data()->id(), IFC4X2_types[407], 3)); } +std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcAppliedValue::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[407], 3)); } // const IfcParse::entity& Ifc4x2::IfcAppliedValue::declaration() const { return *((IfcParse::entity*)IFC4X2_types[47]); } const IfcParse::entity& Ifc4x2::IfcAppliedValue::Class() { return *((IfcParse::entity*)IFC4X2_types[47]); } @@ -7364,11 +7364,11 @@ void Ifc4x2::IfcApproval::setRequestingApproval(const ::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(data()->file()->getInverse(data()->id(), IFC4X2_types[407], 3)); } -std::vector<::Ifc4x2::IfcRelAssociatesApproval> Ifc4x2::IfcApproval::ApprovedObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[845], 5)); } -std::vector<::Ifc4x2::IfcResourceApprovalRelationship> Ifc4x2::IfcApproval::ApprovedResources() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[890], 3)); } -std::vector<::Ifc4x2::IfcApprovalRelationship> Ifc4x2::IfcApproval::IsRelatedWith() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[50], 3)); } -std::vector<::Ifc4x2::IfcApprovalRelationship> Ifc4x2::IfcApproval::Relates() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[50], 2)); } +std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcApproval::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[407], 3)); } +std::vector<::Ifc4x2::IfcRelAssociatesApproval> Ifc4x2::IfcApproval::ApprovedObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[845], 5)); } +std::vector<::Ifc4x2::IfcResourceApprovalRelationship> Ifc4x2::IfcApproval::ApprovedResources() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[890], 3)); } +std::vector<::Ifc4x2::IfcApprovalRelationship> Ifc4x2::IfcApproval::IsRelatedWith() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[50], 3)); } +std::vector<::Ifc4x2::IfcApprovalRelationship> Ifc4x2::IfcApproval::Relates() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[50], 2)); } // const IfcParse::entity& Ifc4x2::IfcApproval::declaration() const { return *((IfcParse::entity*)IFC4X2_types[49]); } const IfcParse::entity& Ifc4x2::IfcApproval::Class() { return *((IfcParse::entity*)IFC4X2_types[49]); } @@ -7799,7 +7799,7 @@ const IfcParse::entity& Ifc4x2::IfcBoundaryNodeConditionWarping::Class() { retur // Function implementations for IfcBoundedCurve -std::vector<::Ifc4x2::IfcLinearPositioningElement> Ifc4x2::IfcBoundedCurve::PositioningElement() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[567], 7)); } +std::vector<::Ifc4x2::IfcLinearPositioningElement> Ifc4x2::IfcBoundedCurve::PositioningElement() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[567], 7)); } // const IfcParse::entity& Ifc4x2::IfcBoundedCurve::declaration() const { return *((IfcParse::entity*)IFC4X2_types[95]); } const IfcParse::entity& Ifc4x2::IfcBoundedCurve::Class() { return *((IfcParse::entity*)IFC4X2_types[95]); } @@ -8312,8 +8312,8 @@ void Ifc4x2::IfcClassification::setLocation(const std::optional< std::string >& std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::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 Ifc4x2::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<::Ifc4x2::IfcRelAssociatesClassification> Ifc4x2::IfcClassification::ClassificationForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[846], 5)); } -std::vector<::Ifc4x2::IfcClassificationReference> Ifc4x2::IfcClassification::HasReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[165], 3)); } +std::vector<::Ifc4x2::IfcRelAssociatesClassification> Ifc4x2::IfcClassification::ClassificationForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[846], 5)); } +std::vector<::Ifc4x2::IfcClassificationReference> Ifc4x2::IfcClassification::HasReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[165], 3)); } // const IfcParse::entity& Ifc4x2::IfcClassification::declaration() const { return *((IfcParse::entity*)IFC4X2_types[164]); } const IfcParse::entity& Ifc4x2::IfcClassification::Class() { return *((IfcParse::entity*)IFC4X2_types[164]); } @@ -8328,8 +8328,8 @@ void Ifc4x2::IfcClassificationReference::setDescription(const std::optional< std std::optional< std::string > Ifc4x2::IfcClassificationReference::Sort() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcClassificationReference::setSort(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x2::IfcRelAssociatesClassification> Ifc4x2::IfcClassificationReference::ClassificationRefForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[846], 5)); } -std::vector<::Ifc4x2::IfcClassificationReference> Ifc4x2::IfcClassificationReference::HasReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[165], 3)); } +std::vector<::Ifc4x2::IfcRelAssociatesClassification> Ifc4x2::IfcClassificationReference::ClassificationRefForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[846], 5)); } +std::vector<::Ifc4x2::IfcClassificationReference> Ifc4x2::IfcClassificationReference::HasReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[165], 3)); } // const IfcParse::entity& Ifc4x2::IfcClassificationReference::declaration() const { return *((IfcParse::entity*)IFC4X2_types[165]); } const IfcParse::entity& Ifc4x2::IfcClassificationReference::Class() { return *((IfcParse::entity*)IFC4X2_types[165]); } @@ -8500,7 +8500,7 @@ void Ifc4x2::IfcCompositeCurveSegment::setSameSense(const bool& v) { set_attribu ::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(data()->file()->getInverse(data()->id(), IFC4X2_types[188], 0)); } +std::vector<::Ifc4x2::IfcCompositeCurve> Ifc4x2::IfcCompositeCurveSegment::UsingCurves() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[188], 0)); } // const IfcParse::entity& Ifc4x2::IfcCompositeCurveSegment::declaration() const { return *((IfcParse::entity*)IFC4X2_types[190]); } const IfcParse::entity& Ifc4x2::IfcCompositeCurveSegment::Class() { return *((IfcParse::entity*)IFC4X2_types[190]); } @@ -8665,8 +8665,8 @@ void Ifc4x2::IfcConstraint::setCreationTime(const std::optional< std::string >& std::optional< std::string > Ifc4x2::IfcConstraint::UserDefinedGrade() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x2::IfcConstraint::setUserDefinedGrade(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcConstraint::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[407], 3)); } -std::vector<::Ifc4x2::IfcResourceConstraintRelationship> Ifc4x2::IfcConstraint::PropertiesForConstraint() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[891], 2)); } +std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcConstraint::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[407], 3)); } +std::vector<::Ifc4x2::IfcResourceConstraintRelationship> Ifc4x2::IfcConstraint::PropertiesForConstraint() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[891], 2)); } // const IfcParse::entity& Ifc4x2::IfcConstraint::declaration() const { return *((IfcParse::entity*)IFC4X2_types[208]); } const IfcParse::entity& Ifc4x2::IfcConstraint::Class() { return *((IfcParse::entity*)IFC4X2_types[208]); } @@ -8771,8 +8771,8 @@ void Ifc4x2::IfcContext::setRepresentationContexts(const std::optional< std::vec ::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(data()->file()->getInverse(data()->id(), IFC4X2_types[868], 4)); } -std::vector<::Ifc4x2::IfcRelDeclares> Ifc4x2::IfcContext::Declares() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[864], 4)); } +std::vector<::Ifc4x2::IfcRelDefinesByProperties> Ifc4x2::IfcContext::IsDefinedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[868], 4)); } +std::vector<::Ifc4x2::IfcRelDeclares> Ifc4x2::IfcContext::Declares() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[864], 4)); } // const IfcParse::entity& Ifc4x2::IfcContext::declaration() const { return *((IfcParse::entity*)IFC4X2_types[221]); } const IfcParse::entity& Ifc4x2::IfcContext::Class() { return *((IfcParse::entity*)IFC4X2_types[221]); } @@ -8783,7 +8783,7 @@ const IfcParse::entity& Ifc4x2::IfcContext::Class() { return *((IfcParse::entity std::string Ifc4x2::IfcContextDependentUnit::Name() const { std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcContextDependentUnit::setName(const std::string& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcContextDependentUnit::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[407], 3)); } +std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcContextDependentUnit::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[407], 3)); } // const IfcParse::entity& Ifc4x2::IfcContextDependentUnit::declaration() const { return *((IfcParse::entity*)IFC4X2_types[223]); } const IfcParse::entity& Ifc4x2::IfcContextDependentUnit::Class() { return *((IfcParse::entity*)IFC4X2_types[223]); } @@ -8794,7 +8794,7 @@ const IfcParse::entity& Ifc4x2::IfcContextDependentUnit::Class() { return *((Ifc std::optional< std::string > Ifc4x2::IfcControl::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcControl::setIdentification(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x2::IfcRelAssignsToControl> Ifc4x2::IfcControl::Controls() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[838], 6)); } +std::vector<::Ifc4x2::IfcRelAssignsToControl> Ifc4x2::IfcControl::Controls() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[838], 6)); } // const IfcParse::entity& Ifc4x2::IfcControl::declaration() const { return *((IfcParse::entity*)IFC4X2_types[224]); } const IfcParse::entity& Ifc4x2::IfcControl::Class() { return *((IfcParse::entity*)IFC4X2_types[224]); } @@ -8827,7 +8827,7 @@ void Ifc4x2::IfcConversionBasedUnit::setName(const std::string& v) { set_attribu ::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(data()->file()->getInverse(data()->id(), IFC4X2_types[407], 3)); } +std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[407], 3)); } // const IfcParse::entity& Ifc4x2::IfcConversionBasedUnit::declaration() const { return *((IfcParse::entity*)IFC4X2_types[228]); } const IfcParse::entity& Ifc4x2::IfcConversionBasedUnit::Class() { return *((IfcParse::entity*)IFC4X2_types[228]); } @@ -8906,7 +8906,7 @@ void Ifc4x2::IfcCoordinateReferenceSystem::setGeodeticDatum(const std::optional< std::optional< std::string > Ifc4x2::IfcCoordinateReferenceSystem::VerticalDatum() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x2::IfcCoordinateReferenceSystem::setVerticalDatum(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -std::vector<::Ifc4x2::IfcCoordinateOperation> Ifc4x2::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[236], 0)); } +std::vector<::Ifc4x2::IfcCoordinateOperation> Ifc4x2::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[236], 0)); } // const IfcParse::entity& Ifc4x2::IfcCoordinateReferenceSystem::declaration() const { return *((IfcParse::entity*)IFC4X2_types[237]); } const IfcParse::entity& Ifc4x2::IfcCoordinateReferenceSystem::Class() { return *((IfcParse::entity*)IFC4X2_types[237]); } @@ -8955,8 +8955,8 @@ const IfcParse::entity& Ifc4x2::IfcCostValue::Class() { return *((IfcParse::enti 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)); } void Ifc4x2::IfcCovering::setPredefinedType(const std::optional< ::Ifc4x2::IfcCoveringTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcCoveringTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x2::IfcRelCoversSpaces> Ifc4x2::IfcCovering::CoversSpaces() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[863], 5)); } -std::vector<::Ifc4x2::IfcRelCoversBldgElements> Ifc4x2::IfcCovering::CoversElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[862], 5)); } +std::vector<::Ifc4x2::IfcRelCoversSpaces> Ifc4x2::IfcCovering::CoversSpaces() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[863], 5)); } +std::vector<::Ifc4x2::IfcRelCoversBldgElements> Ifc4x2::IfcCovering::CoversElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[862], 5)); } // const IfcParse::entity& Ifc4x2::IfcCovering::declaration() const { return *((IfcParse::entity*)IFC4X2_types[245]); } const IfcParse::entity& Ifc4x2::IfcCovering::Class() { return *((IfcParse::entity*)IFC4X2_types[245]); } @@ -9341,7 +9341,7 @@ const IfcParse::entity& Ifc4x2::IfcDistributionCircuit::Class() { return *((IfcP // Function implementations for IfcDistributionControlElement -std::vector<::Ifc4x2::IfcRelFlowControlElements> Ifc4x2::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[872], 4)); } +std::vector<::Ifc4x2::IfcRelFlowControlElements> Ifc4x2::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[872], 4)); } // const IfcParse::entity& Ifc4x2::IfcDistributionControlElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[303]); } const IfcParse::entity& Ifc4x2::IfcDistributionControlElement::Class() { return *((IfcParse::entity*)IFC4X2_types[303]); } @@ -9358,7 +9358,7 @@ const IfcParse::entity& Ifc4x2::IfcDistributionControlElementType::Class() { ret // Function implementations for IfcDistributionElement -std::vector<::Ifc4x2::IfcRelConnectsPortToElement> Ifc4x2::IfcDistributionElement::HasPorts() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[856], 5)); } +std::vector<::Ifc4x2::IfcRelConnectsPortToElement> Ifc4x2::IfcDistributionElement::HasPorts() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[856], 5)); } // const IfcParse::entity& Ifc4x2::IfcDistributionElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[305]); } const IfcParse::entity& Ifc4x2::IfcDistributionElement::Class() { return *((IfcParse::entity*)IFC4X2_types[305]); } @@ -9375,7 +9375,7 @@ const IfcParse::entity& Ifc4x2::IfcDistributionElementType::Class() { return *(( // Function implementations for IfcDistributionFlowElement -std::vector<::Ifc4x2::IfcRelFlowControlElements> Ifc4x2::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[872], 5)); } +std::vector<::Ifc4x2::IfcRelFlowControlElements> Ifc4x2::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[872], 5)); } // const IfcParse::entity& Ifc4x2::IfcDistributionFlowElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[307]); } const IfcParse::entity& Ifc4x2::IfcDistributionFlowElement::Class() { return *((IfcParse::entity*)IFC4X2_types[307]); } @@ -9452,10 +9452,10 @@ void Ifc4x2::IfcDocumentInformation::setConfidentiality(const std::optional< ::I std::optional< ::Ifc4x2::IfcDocumentStatusEnum::Value > Ifc4x2::IfcDocumentInformation::Status() const { if(get_attribute_value(16).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcDocumentStatusEnum::FromString(get_attribute_value(16)); } void Ifc4x2::IfcDocumentInformation::setStatus(const std::optional< ::Ifc4x2::IfcDocumentStatusEnum::Value >& v) { if (v) {set_attribute_value(16, EnumerationReference(&::Ifc4x2::IfcDocumentStatusEnum::Class(), (size_t) *v));} else {unset_attribute_value(16);} } -std::vector<::Ifc4x2::IfcRelAssociatesDocument> Ifc4x2::IfcDocumentInformation::DocumentInfoForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[848], 5)); } -std::vector<::Ifc4x2::IfcDocumentReference> Ifc4x2::IfcDocumentInformation::HasDocumentReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[316], 4)); } -std::vector<::Ifc4x2::IfcDocumentInformationRelationship> Ifc4x2::IfcDocumentInformation::IsPointedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[315], 3)); } -std::vector<::Ifc4x2::IfcDocumentInformationRelationship> Ifc4x2::IfcDocumentInformation::IsPointer() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[315], 2)); } +std::vector<::Ifc4x2::IfcRelAssociatesDocument> Ifc4x2::IfcDocumentInformation::DocumentInfoForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[848], 5)); } +std::vector<::Ifc4x2::IfcDocumentReference> Ifc4x2::IfcDocumentInformation::HasDocumentReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[316], 4)); } +std::vector<::Ifc4x2::IfcDocumentInformationRelationship> Ifc4x2::IfcDocumentInformation::IsPointedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[315], 3)); } +std::vector<::Ifc4x2::IfcDocumentInformationRelationship> Ifc4x2::IfcDocumentInformation::IsPointer() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[315], 2)); } // const IfcParse::entity& Ifc4x2::IfcDocumentInformation::declaration() const { return *((IfcParse::entity*)IFC4X2_types[314]); } const IfcParse::entity& Ifc4x2::IfcDocumentInformation::Class() { return *((IfcParse::entity*)IFC4X2_types[314]); } @@ -9482,7 +9482,7 @@ void Ifc4x2::IfcDocumentReference::setDescription(const std::optional< std::stri ::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(data()->file()->getInverse(data()->id(), IFC4X2_types[848], 5)); } +std::vector<::Ifc4x2::IfcRelAssociatesDocument> Ifc4x2::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[848], 5)); } // const IfcParse::entity& Ifc4x2::IfcDocumentReference::declaration() const { return *((IfcParse::entity*)IFC4X2_types[316]); } const IfcParse::entity& Ifc4x2::IfcDocumentReference::Class() { return *((IfcParse::entity*)IFC4X2_types[316]); } @@ -9833,18 +9833,18 @@ const IfcParse::entity& Ifc4x2::IfcElectricTimeControlType::Class() { return *(( 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; } void Ifc4x2::IfcElement::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -std::vector<::Ifc4x2::IfcRelFillsElement> Ifc4x2::IfcElement::FillsVoids() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[871], 5)); } -std::vector<::Ifc4x2::IfcRelConnectsElements> Ifc4x2::IfcElement::ConnectedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[853], 5)); } -std::vector<::Ifc4x2::IfcRelInterferesElements> Ifc4x2::IfcElement::IsInterferedByElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[873], 5)); } -std::vector<::Ifc4x2::IfcRelInterferesElements> Ifc4x2::IfcElement::InterferesElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[873], 4)); } -std::vector<::Ifc4x2::IfcRelProjectsElement> Ifc4x2::IfcElement::HasProjections() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[876], 4)); } -std::vector<::Ifc4x2::IfcRelReferencedInSpatialStructure> Ifc4x2::IfcElement::ReferencedInStructures() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[877], 4)); } -std::vector<::Ifc4x2::IfcRelVoidsElement> Ifc4x2::IfcElement::HasOpenings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[883], 4)); } -std::vector<::Ifc4x2::IfcRelConnectsWithRealizingElements> Ifc4x2::IfcElement::IsConnectionRealization() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[860], 7)); } -std::vector<::Ifc4x2::IfcRelSpaceBoundary> Ifc4x2::IfcElement::ProvidesBoundaries() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[880], 5)); } -std::vector<::Ifc4x2::IfcRelConnectsElements> Ifc4x2::IfcElement::ConnectedFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[853], 6)); } -std::vector<::Ifc4x2::IfcRelContainedInSpatialStructure> Ifc4x2::IfcElement::ContainedInStructure() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[861], 4)); } -std::vector<::Ifc4x2::IfcRelCoversBldgElements> Ifc4x2::IfcElement::HasCoverings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[862], 4)); } +std::vector<::Ifc4x2::IfcRelFillsElement> Ifc4x2::IfcElement::FillsVoids() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[871], 5)); } +std::vector<::Ifc4x2::IfcRelConnectsElements> Ifc4x2::IfcElement::ConnectedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[853], 5)); } +std::vector<::Ifc4x2::IfcRelInterferesElements> Ifc4x2::IfcElement::IsInterferedByElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[873], 5)); } +std::vector<::Ifc4x2::IfcRelInterferesElements> Ifc4x2::IfcElement::InterferesElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[873], 4)); } +std::vector<::Ifc4x2::IfcRelProjectsElement> Ifc4x2::IfcElement::HasProjections() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[876], 4)); } +std::vector<::Ifc4x2::IfcRelReferencedInSpatialStructure> Ifc4x2::IfcElement::ReferencedInStructures() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[877], 4)); } +std::vector<::Ifc4x2::IfcRelVoidsElement> Ifc4x2::IfcElement::HasOpenings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[883], 4)); } +std::vector<::Ifc4x2::IfcRelConnectsWithRealizingElements> Ifc4x2::IfcElement::IsConnectionRealization() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[860], 7)); } +std::vector<::Ifc4x2::IfcRelSpaceBoundary> Ifc4x2::IfcElement::ProvidesBoundaries() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[880], 5)); } +std::vector<::Ifc4x2::IfcRelConnectsElements> Ifc4x2::IfcElement::ConnectedFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[853], 6)); } +std::vector<::Ifc4x2::IfcRelContainedInSpatialStructure> Ifc4x2::IfcElement::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[861], 4)); } +std::vector<::Ifc4x2::IfcRelCoversBldgElements> Ifc4x2::IfcElement::HasCoverings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[862], 4)); } // const IfcParse::entity& Ifc4x2::IfcElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[372]); } const IfcParse::entity& Ifc4x2::IfcElement::Class() { return *((IfcParse::entity*)IFC4X2_types[372]); } @@ -10097,7 +10097,7 @@ void Ifc4x2::IfcExternalReference::setIdentification(const std::optional< std::s std::optional< std::string > Ifc4x2::IfcExternalReference::Name() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcExternalReference::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[407], 2)); } +std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[407], 2)); } // const IfcParse::entity& Ifc4x2::IfcExternalReference::declaration() const { return *((IfcParse::entity*)IFC4X2_types[406]); } const IfcParse::entity& Ifc4x2::IfcExternalReference::Class() { return *((IfcParse::entity*)IFC4X2_types[406]); } @@ -10120,7 +10120,7 @@ const IfcParse::entity& Ifc4x2::IfcExternalReferenceRelationship::Class() { retu 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)); } void Ifc4x2::IfcExternalSpatialElement::setPredefinedType(const std::optional< ::Ifc4x2::IfcExternalSpatialElementTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcExternalSpatialElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x2::IfcRelSpaceBoundary> Ifc4x2::IfcExternalSpatialElement::BoundedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[880], 4)); } +std::vector<::Ifc4x2::IfcRelSpaceBoundary> Ifc4x2::IfcExternalSpatialElement::BoundedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[880], 4)); } // const IfcParse::entity& Ifc4x2::IfcExternalSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[408]); } const IfcParse::entity& Ifc4x2::IfcExternalSpatialElement::Class() { return *((IfcParse::entity*)IFC4X2_types[408]); } @@ -10185,7 +10185,7 @@ const IfcParse::entity& Ifc4x2::IfcExtrudedAreaSolidTapered::Class() { return *( 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(data()->file()->getInverse(data()->id(), IFC4X2_types[1112], 2)); } +std::vector<::Ifc4x2::IfcTextureMap> Ifc4x2::IfcFace::HasTextureMaps() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[1112], 2)); } // const IfcParse::entity& Ifc4x2::IfcFace::declaration() const { return *((IfcParse::entity*)IFC4X2_types[413]); } const IfcParse::entity& Ifc4x2::IfcFace::Class() { return *((IfcParse::entity*)IFC4X2_types[413]); } @@ -10338,7 +10338,7 @@ const IfcParse::entity& Ifc4x2::IfcFeatureElement::Class() { return *((IfcParse: // Function implementations for IfcFeatureElementAddition -std::vector<::Ifc4x2::IfcRelProjectsElement> Ifc4x2::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[876], 5)); } +std::vector<::Ifc4x2::IfcRelProjectsElement> Ifc4x2::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[876], 5)); } // const IfcParse::entity& Ifc4x2::IfcFeatureElementAddition::declaration() const { return *((IfcParse::entity*)IFC4X2_types[430]); } const IfcParse::entity& Ifc4x2::IfcFeatureElementAddition::Class() { return *((IfcParse::entity*)IFC4X2_types[430]); } @@ -10347,7 +10347,7 @@ const IfcParse::entity& Ifc4x2::IfcFeatureElementAddition::Class() { return *((I // Function implementations for IfcFeatureElementSubtraction -std::vector<::Ifc4x2::IfcRelVoidsElement> Ifc4x2::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[883], 5)); } +std::vector<::Ifc4x2::IfcRelVoidsElement> Ifc4x2::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[883], 5)); } // const IfcParse::entity& Ifc4x2::IfcFeatureElementSubtraction::declaration() const { return *((IfcParse::entity*)IFC4X2_types[431]); } const IfcParse::entity& Ifc4x2::IfcFeatureElementSubtraction::Class() { return *((IfcParse::entity*)IFC4X2_types[431]); } @@ -10702,8 +10702,8 @@ void Ifc4x2::IfcGeometricRepresentationContext::setWorldCoordinateSystem(const : ::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(data()->file()->getInverse(data()->id(), IFC4X2_types[484], 6)); } -std::vector<::Ifc4x2::IfcCoordinateOperation> Ifc4x2::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[236], 0)); } +std::vector<::Ifc4x2::IfcGeometricRepresentationSubContext> Ifc4x2::IfcGeometricRepresentationContext::HasSubContexts() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[484], 6)); } +std::vector<::Ifc4x2::IfcCoordinateOperation> Ifc4x2::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[236], 0)); } // const IfcParse::entity& Ifc4x2::IfcGeometricRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X2_types[482]); } const IfcParse::entity& Ifc4x2::IfcGeometricRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X2_types[482]); } @@ -10768,10 +10768,10 @@ void Ifc4x2::IfcGridAxis::setAxisCurve(const ::Ifc4x2::IfcCurve& v) { set_attrib 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); } -std::vector<::Ifc4x2::IfcGrid> Ifc4x2::IfcGridAxis::PartOfW() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[489], 9)); } -std::vector<::Ifc4x2::IfcGrid> Ifc4x2::IfcGridAxis::PartOfV() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[489], 8)); } -std::vector<::Ifc4x2::IfcGrid> Ifc4x2::IfcGridAxis::PartOfU() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[489], 7)); } -std::vector<::Ifc4x2::IfcVirtualGridIntersection> Ifc4x2::IfcGridAxis::HasIntersections() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[1185], 0)); } +std::vector<::Ifc4x2::IfcGrid> Ifc4x2::IfcGridAxis::PartOfW() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[489], 9)); } +std::vector<::Ifc4x2::IfcGrid> Ifc4x2::IfcGridAxis::PartOfV() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[489], 8)); } +std::vector<::Ifc4x2::IfcGrid> Ifc4x2::IfcGridAxis::PartOfU() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[489], 7)); } +std::vector<::Ifc4x2::IfcVirtualGridIntersection> Ifc4x2::IfcGridAxis::HasIntersections() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[1185], 0)); } // const IfcParse::entity& Ifc4x2::IfcGridAxis::declaration() const { return *((IfcParse::entity*)IFC4X2_types[490]); } const IfcParse::entity& Ifc4x2::IfcGridAxis::Class() { return *((IfcParse::entity*)IFC4X2_types[490]); } @@ -10792,7 +10792,7 @@ const IfcParse::entity& Ifc4x2::IfcGridPlacement::Class() { return *((IfcParse:: // Function implementations for IfcGroup -std::vector<::Ifc4x2::IfcRelAssignsToGroup> Ifc4x2::IfcGroup::IsGroupedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[839], 6)); } +std::vector<::Ifc4x2::IfcRelAssignsToGroup> Ifc4x2::IfcGroup::IsGroupedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[839], 6)); } // const IfcParse::entity& Ifc4x2::IfcGroup::declaration() const { return *((IfcParse::entity*)IFC4X2_types[494]); } const IfcParse::entity& Ifc4x2::IfcGroup::Class() { return *((IfcParse::entity*)IFC4X2_types[494]); } @@ -10917,7 +10917,7 @@ const IfcParse::entity& Ifc4x2::IfcIndexedPolyCurve::Class() { return *((IfcPars std::vector< int > /*[3:?]*/ Ifc4x2::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } void Ifc4x2::IfcIndexedPolygonalFace::setCoordIndex(const std::vector< int > /*[3:?]*/& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector<::Ifc4x2::IfcPolygonalFaceSet> Ifc4x2::IfcIndexedPolygonalFace::ToFaceSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[715], 2)); } +std::vector<::Ifc4x2::IfcPolygonalFaceSet> Ifc4x2::IfcIndexedPolygonalFace::ToFaceSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[715], 2)); } // const IfcParse::entity& Ifc4x2::IfcIndexedPolygonalFace::declaration() const { return *((IfcParse::entity*)IFC4X2_types[510]); } const IfcParse::entity& Ifc4x2::IfcIndexedPolygonalFace::Class() { return *((IfcParse::entity*)IFC4X2_types[510]); } @@ -11132,8 +11132,8 @@ void Ifc4x2::IfcLibraryInformation::setLocation(const std::optional< std::string std::optional< std::string > Ifc4x2::IfcLibraryInformation::Description() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcLibraryInformation::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x2::IfcRelAssociatesLibrary> Ifc4x2::IfcLibraryInformation::LibraryInfoForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[849], 5)); } -std::vector<::Ifc4x2::IfcLibraryReference> Ifc4x2::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[547], 5)); } +std::vector<::Ifc4x2::IfcRelAssociatesLibrary> Ifc4x2::IfcLibraryInformation::LibraryInfoForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[849], 5)); } +std::vector<::Ifc4x2::IfcLibraryReference> Ifc4x2::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[547], 5)); } // const IfcParse::entity& Ifc4x2::IfcLibraryInformation::declaration() const { return *((IfcParse::entity*)IFC4X2_types[546]); } const IfcParse::entity& Ifc4x2::IfcLibraryInformation::Class() { return *((IfcParse::entity*)IFC4X2_types[546]); } @@ -11148,7 +11148,7 @@ void Ifc4x2::IfcLibraryReference::setLanguage(const std::optional< std::string > ::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(data()->file()->getInverse(data()->id(), IFC4X2_types[849], 5)); } +std::vector<::Ifc4x2::IfcRelAssociatesLibrary> Ifc4x2::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[849], 5)); } // const IfcParse::entity& Ifc4x2::IfcLibraryReference::declaration() const { return *((IfcParse::entity*)IFC4X2_types[547]); } const IfcParse::entity& Ifc4x2::IfcLibraryReference::Class() { return *((IfcParse::entity*)IFC4X2_types[547]); } @@ -11403,9 +11403,9 @@ void Ifc4x2::IfcMaterial::setDescription(const std::optional< std::string >& v) std::optional< std::string > Ifc4x2::IfcMaterial::Category() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcMaterial::setCategory(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x2::IfcMaterialDefinitionRepresentation> Ifc4x2::IfcMaterial::HasRepresentation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[595], 3)); } -std::vector<::Ifc4x2::IfcMaterialRelationship> Ifc4x2::IfcMaterial::IsRelatedWith() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[607], 3)); } -std::vector<::Ifc4x2::IfcMaterialRelationship> Ifc4x2::IfcMaterial::RelatesTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[607], 2)); } +std::vector<::Ifc4x2::IfcMaterialDefinitionRepresentation> Ifc4x2::IfcMaterial::HasRepresentation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[595], 3)); } +std::vector<::Ifc4x2::IfcMaterialRelationship> Ifc4x2::IfcMaterial::IsRelatedWith() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[607], 3)); } +std::vector<::Ifc4x2::IfcMaterialRelationship> Ifc4x2::IfcMaterial::RelatesTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[607], 2)); } // const IfcParse::entity& Ifc4x2::IfcMaterial::declaration() const { return *((IfcParse::entity*)IFC4X2_types[590]); } const IfcParse::entity& Ifc4x2::IfcMaterial::Class() { return *((IfcParse::entity*)IFC4X2_types[590]); } @@ -11436,7 +11436,7 @@ void Ifc4x2::IfcMaterialConstituent::setFraction(const std::optional< double >& std::optional< std::string > Ifc4x2::IfcMaterialConstituent::Category() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcMaterialConstituent::setCategory(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector<::Ifc4x2::IfcMaterialConstituentSet> Ifc4x2::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[593], 2)); } +std::vector<::Ifc4x2::IfcMaterialConstituentSet> Ifc4x2::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[593], 2)); } // const IfcParse::entity& Ifc4x2::IfcMaterialConstituent::declaration() const { return *((IfcParse::entity*)IFC4X2_types[592]); } const IfcParse::entity& Ifc4x2::IfcMaterialConstituent::Class() { return *((IfcParse::entity*)IFC4X2_types[592]); } @@ -11459,9 +11459,9 @@ const IfcParse::entity& Ifc4x2::IfcMaterialConstituentSet::Class() { return *((I // Function implementations for IfcMaterialDefinition -std::vector<::Ifc4x2::IfcRelAssociatesMaterial> Ifc4x2::IfcMaterialDefinition::AssociatedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[850], 5)); } -std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcMaterialDefinition::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[407], 3)); } -std::vector<::Ifc4x2::IfcMaterialProperties> Ifc4x2::IfcMaterialDefinition::HasProperties() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[606], 3)); } +std::vector<::Ifc4x2::IfcRelAssociatesMaterial> Ifc4x2::IfcMaterialDefinition::AssociatedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[850], 5)); } +std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcMaterialDefinition::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[407], 3)); } +std::vector<::Ifc4x2::IfcMaterialProperties> Ifc4x2::IfcMaterialDefinition::HasProperties() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[606], 3)); } // const IfcParse::entity& Ifc4x2::IfcMaterialDefinition::declaration() const { return *((IfcParse::entity*)IFC4X2_types[594]); } const IfcParse::entity& Ifc4x2::IfcMaterialDefinition::Class() { return *((IfcParse::entity*)IFC4X2_types[594]); } @@ -11494,7 +11494,7 @@ void Ifc4x2::IfcMaterialLayer::setCategory(const std::optional< std::string >& v std::optional< int > Ifc4x2::IfcMaterialLayer::Priority() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } int v = get_attribute_value(6); return v; } void Ifc4x2::IfcMaterialLayer::setPriority(const std::optional< int >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x2::IfcMaterialLayerSet> Ifc4x2::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[597], 0)); } +std::vector<::Ifc4x2::IfcMaterialLayerSet> Ifc4x2::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[597], 0)); } // const IfcParse::entity& Ifc4x2::IfcMaterialLayer::declaration() const { return *((IfcParse::entity*)IFC4X2_types[596]); } const IfcParse::entity& Ifc4x2::IfcMaterialLayer::Class() { return *((IfcParse::entity*)IFC4X2_types[596]); } @@ -11569,7 +11569,7 @@ void Ifc4x2::IfcMaterialProfile::setPriority(const std::optional< int >& v) { if std::optional< std::string > Ifc4x2::IfcMaterialProfile::Category() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcMaterialProfile::setCategory(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x2::IfcMaterialProfileSet> Ifc4x2::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[602], 2)); } +std::vector<::Ifc4x2::IfcMaterialProfileSet> Ifc4x2::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[602], 2)); } // const IfcParse::entity& Ifc4x2::IfcMaterialProfile::declaration() const { return *((IfcParse::entity*)IFC4X2_types[601]); } const IfcParse::entity& Ifc4x2::IfcMaterialProfile::Class() { return *((IfcParse::entity*)IFC4X2_types[601]); } @@ -11654,7 +11654,7 @@ const IfcParse::entity& Ifc4x2::IfcMaterialRelationship::Class() { return *((Ifc // Function implementations for IfcMaterialUsageDefinition -std::vector<::Ifc4x2::IfcRelAssociatesMaterial> Ifc4x2::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[850], 5)); } +std::vector<::Ifc4x2::IfcRelAssociatesMaterial> Ifc4x2::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[850], 5)); } // const IfcParse::entity& Ifc4x2::IfcMaterialUsageDefinition::declaration() const { return *((IfcParse::entity*)IFC4X2_types[609]); } const IfcParse::entity& Ifc4x2::IfcMaterialUsageDefinition::Class() { return *((IfcParse::entity*)IFC4X2_types[609]); } @@ -11819,10 +11819,10 @@ const IfcParse::entity& Ifc4x2::IfcNamedUnit::Class() { return *((IfcParse::enti std::optional< std::string > Ifc4x2::IfcObject::ObjectType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcObject::setObjectType(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector<::Ifc4x2::IfcRelDefinesByObject> Ifc4x2::IfcObject::IsDeclaredBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[867], 4)); } -std::vector<::Ifc4x2::IfcRelDefinesByObject> Ifc4x2::IfcObject::Declares() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[867], 5)); } -std::vector<::Ifc4x2::IfcRelDefinesByType> Ifc4x2::IfcObject::IsTypedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[870], 4)); } -std::vector<::Ifc4x2::IfcRelDefinesByProperties> Ifc4x2::IfcObject::IsDefinedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[868], 4)); } +std::vector<::Ifc4x2::IfcRelDefinesByObject> Ifc4x2::IfcObject::IsDeclaredBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[867], 4)); } +std::vector<::Ifc4x2::IfcRelDefinesByObject> Ifc4x2::IfcObject::Declares() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[867], 5)); } +std::vector<::Ifc4x2::IfcRelDefinesByType> Ifc4x2::IfcObject::IsTypedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[870], 4)); } +std::vector<::Ifc4x2::IfcRelDefinesByProperties> Ifc4x2::IfcObject::IsDefinedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[868], 4)); } // const IfcParse::entity& Ifc4x2::IfcObject::declaration() const { return *((IfcParse::entity*)IFC4X2_types[646]); } const IfcParse::entity& Ifc4x2::IfcObject::Class() { return *((IfcParse::entity*)IFC4X2_types[646]); } @@ -11831,13 +11831,13 @@ const IfcParse::entity& Ifc4x2::IfcObject::Class() { return *((IfcParse::entity* // Function implementations for IfcObjectDefinition -std::vector<::Ifc4x2::IfcRelAssigns> Ifc4x2::IfcObjectDefinition::HasAssignments() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[836], 4)); } -std::vector<::Ifc4x2::IfcRelNests> Ifc4x2::IfcObjectDefinition::Nests() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[874], 5)); } -std::vector<::Ifc4x2::IfcRelNests> Ifc4x2::IfcObjectDefinition::IsNestedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[874], 4)); } -std::vector<::Ifc4x2::IfcRelDeclares> Ifc4x2::IfcObjectDefinition::HasContext() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[864], 5)); } -std::vector<::Ifc4x2::IfcRelAggregates> Ifc4x2::IfcObjectDefinition::IsDecomposedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[835], 4)); } -std::vector<::Ifc4x2::IfcRelAggregates> Ifc4x2::IfcObjectDefinition::Decomposes() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[835], 5)); } -std::vector<::Ifc4x2::IfcRelAssociates> Ifc4x2::IfcObjectDefinition::HasAssociations() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[844], 4)); } +std::vector<::Ifc4x2::IfcRelAssigns> Ifc4x2::IfcObjectDefinition::HasAssignments() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[836], 4)); } +std::vector<::Ifc4x2::IfcRelNests> Ifc4x2::IfcObjectDefinition::Nests() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[874], 5)); } +std::vector<::Ifc4x2::IfcRelNests> Ifc4x2::IfcObjectDefinition::IsNestedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[874], 4)); } +std::vector<::Ifc4x2::IfcRelDeclares> Ifc4x2::IfcObjectDefinition::HasContext() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[864], 5)); } +std::vector<::Ifc4x2::IfcRelAggregates> Ifc4x2::IfcObjectDefinition::IsDecomposedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[835], 4)); } +std::vector<::Ifc4x2::IfcRelAggregates> Ifc4x2::IfcObjectDefinition::Decomposes() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[835], 5)); } +std::vector<::Ifc4x2::IfcRelAssociates> Ifc4x2::IfcObjectDefinition::HasAssociations() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[844], 4)); } // const IfcParse::entity& Ifc4x2::IfcObjectDefinition::declaration() const { return *((IfcParse::entity*)IFC4X2_types[647]); } const IfcParse::entity& Ifc4x2::IfcObjectDefinition::Class() { return *((IfcParse::entity*)IFC4X2_types[647]); } @@ -11848,7 +11848,7 @@ const IfcParse::entity& Ifc4x2::IfcObjectDefinition::Class() { return *((IfcPars ::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(data()->file()->getInverse(data()->id(), IFC4X2_types[746], 5)); } +std::vector<::Ifc4x2::IfcProduct> Ifc4x2::IfcObjectPlacement::PlacesObject() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[746], 5)); } // const IfcParse::entity& Ifc4x2::IfcObjectPlacement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[650]); } const IfcParse::entity& Ifc4x2::IfcObjectPlacement::Class() { return *((IfcParse::entity*)IFC4X2_types[650]); } @@ -11941,7 +11941,7 @@ const IfcParse::entity& Ifc4x2::IfcOpenShell::Class() { return *((IfcParse::enti 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)); } void Ifc4x2::IfcOpeningElement::setPredefinedType(const std::optional< ::Ifc4x2::IfcOpeningElementTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcOpeningElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x2::IfcRelFillsElement> Ifc4x2::IfcOpeningElement::HasFillings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[871], 4)); } +std::vector<::Ifc4x2::IfcRelFillsElement> Ifc4x2::IfcOpeningElement::HasFillings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[871], 4)); } // const IfcParse::entity& Ifc4x2::IfcOpeningElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[659]); } const IfcParse::entity& Ifc4x2::IfcOpeningElement::Class() { return *((IfcParse::entity*)IFC4X2_types[659]); } @@ -11968,9 +11968,9 @@ void Ifc4x2::IfcOrganization::setRoles(const std::optional< std::vector< ::Ifc4x 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(data()->file()->getInverse(data()->id(), IFC4X2_types[664], 3)); } -std::vector<::Ifc4x2::IfcOrganizationRelationship> Ifc4x2::IfcOrganization::Relates() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[664], 2)); } -std::vector<::Ifc4x2::IfcPersonAndOrganization> Ifc4x2::IfcOrganization::Engages() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[683], 1)); } +std::vector<::Ifc4x2::IfcOrganizationRelationship> Ifc4x2::IfcOrganization::IsRelatedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[664], 3)); } +std::vector<::Ifc4x2::IfcOrganizationRelationship> Ifc4x2::IfcOrganization::Relates() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[664], 2)); } +std::vector<::Ifc4x2::IfcPersonAndOrganization> Ifc4x2::IfcOrganization::Engages() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[683], 1)); } // const IfcParse::entity& Ifc4x2::IfcOrganization::declaration() const { return *((IfcParse::entity*)IFC4X2_types[663]); } const IfcParse::entity& Ifc4x2::IfcOrganization::Class() { return *((IfcParse::entity*)IFC4X2_types[663]); } @@ -12159,7 +12159,7 @@ void Ifc4x2::IfcPerson::setRoles(const std::optional< std::vector< ::Ifc4x2::Ifc 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(data()->file()->getInverse(data()->id(), IFC4X2_types[683], 0)); } +std::vector<::Ifc4x2::IfcPersonAndOrganization> Ifc4x2::IfcPerson::EngagedIn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[683], 0)); } // const IfcParse::entity& Ifc4x2::IfcPerson::declaration() const { return *((IfcParse::entity*)IFC4X2_types[682]); } const IfcParse::entity& Ifc4x2::IfcPerson::Class() { return *((IfcParse::entity*)IFC4X2_types[682]); } @@ -12202,8 +12202,8 @@ void Ifc4x2::IfcPhysicalQuantity::setName(const std::string& v) { set_attribute_ std::optional< std::string > Ifc4x2::IfcPhysicalQuantity::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcPhysicalQuantity::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcPhysicalQuantity::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[407], 3)); } -std::vector<::Ifc4x2::IfcPhysicalComplexQuantity> Ifc4x2::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[685], 2)); } +std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcPhysicalQuantity::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[407], 3)); } +std::vector<::Ifc4x2::IfcPhysicalComplexQuantity> Ifc4x2::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[685], 2)); } // const IfcParse::entity& Ifc4x2::IfcPhysicalQuantity::declaration() const { return *((IfcParse::entity*)IFC4X2_types[687]); } const IfcParse::entity& Ifc4x2::IfcPhysicalQuantity::Class() { return *((IfcParse::entity*)IFC4X2_types[687]); } @@ -12448,9 +12448,9 @@ const IfcParse::entity& Ifc4x2::IfcPolyline::Class() { return *((IfcParse::entit // Function implementations for IfcPort -std::vector<::Ifc4x2::IfcRelConnectsPortToElement> Ifc4x2::IfcPort::ContainedIn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[856], 4)); } -std::vector<::Ifc4x2::IfcRelConnectsPorts> Ifc4x2::IfcPort::ConnectedFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[855], 5)); } -std::vector<::Ifc4x2::IfcRelConnectsPorts> Ifc4x2::IfcPort::ConnectedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[855], 4)); } +std::vector<::Ifc4x2::IfcRelConnectsPortToElement> Ifc4x2::IfcPort::ContainedIn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[856], 4)); } +std::vector<::Ifc4x2::IfcRelConnectsPorts> Ifc4x2::IfcPort::ConnectedFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[855], 5)); } +std::vector<::Ifc4x2::IfcRelConnectsPorts> Ifc4x2::IfcPort::ConnectedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[855], 4)); } // const IfcParse::entity& Ifc4x2::IfcPort::declaration() const { return *((IfcParse::entity*)IFC4X2_types[718]); } const IfcParse::entity& Ifc4x2::IfcPort::Class() { return *((IfcParse::entity*)IFC4X2_types[718]); } @@ -12459,8 +12459,8 @@ const IfcParse::entity& Ifc4x2::IfcPort::Class() { return *((IfcParse::entity*)I // Function implementations for IfcPositioningElement -std::vector<::Ifc4x2::IfcRelContainedInSpatialStructure> Ifc4x2::IfcPositioningElement::ContainedInStructure() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[861], 4)); } -std::vector<::Ifc4x2::IfcRelPositions> Ifc4x2::IfcPositioningElement::Positions() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[875], 4)); } +std::vector<::Ifc4x2::IfcRelContainedInSpatialStructure> Ifc4x2::IfcPositioningElement::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[861], 4)); } +std::vector<::Ifc4x2::IfcRelPositions> Ifc4x2::IfcPositioningElement::Positions() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[875], 4)); } // const IfcParse::entity& Ifc4x2::IfcPositioningElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[719]); } const IfcParse::entity& Ifc4x2::IfcPositioningElement::Class() { return *((IfcParse::entity*)IFC4X2_types[719]); } @@ -12625,9 +12625,9 @@ void Ifc4x2::IfcProcess::setIdentification(const std::optional< std::string >& v std::optional< std::string > Ifc4x2::IfcProcess::LongDescription() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x2::IfcProcess::setLongDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x2::IfcRelSequence> Ifc4x2::IfcProcess::IsPredecessorTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[878], 4)); } -std::vector<::Ifc4x2::IfcRelSequence> Ifc4x2::IfcProcess::IsSuccessorFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[878], 5)); } -std::vector<::Ifc4x2::IfcRelAssignsToProcess> Ifc4x2::IfcProcess::OperatesOn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[841], 6)); } +std::vector<::Ifc4x2::IfcRelSequence> Ifc4x2::IfcProcess::IsPredecessorTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[878], 4)); } +std::vector<::Ifc4x2::IfcRelSequence> Ifc4x2::IfcProcess::IsSuccessorFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[878], 5)); } +std::vector<::Ifc4x2::IfcRelAssignsToProcess> Ifc4x2::IfcProcess::OperatesOn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[841], 6)); } // const IfcParse::entity& Ifc4x2::IfcProcess::declaration() const { return *((IfcParse::entity*)IFC4X2_types[744]); } const IfcParse::entity& Ifc4x2::IfcProcess::Class() { return *((IfcParse::entity*)IFC4X2_types[744]); } @@ -12640,8 +12640,8 @@ void Ifc4x2::IfcProduct::setObjectPlacement(const ::Ifc4x2::IfcObjectPlacement& ::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(data()->file()->getInverse(data()->id(), IFC4X2_types[842], 6)); } -std::vector<::Ifc4x2::IfcRelPositions> Ifc4x2::IfcProduct::PositionedRelativeTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[875], 5)); } +std::vector<::Ifc4x2::IfcRelAssignsToProduct> Ifc4x2::IfcProduct::ReferencedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[842], 6)); } +std::vector<::Ifc4x2::IfcRelPositions> Ifc4x2::IfcProduct::PositionedRelativeTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[875], 5)); } // const IfcParse::entity& Ifc4x2::IfcProduct::declaration() const { return *((IfcParse::entity*)IFC4X2_types[746]); } const IfcParse::entity& Ifc4x2::IfcProduct::Class() { return *((IfcParse::entity*)IFC4X2_types[746]); } @@ -12650,8 +12650,8 @@ const IfcParse::entity& Ifc4x2::IfcProduct::Class() { return *((IfcParse::entity // Function implementations for IfcProductDefinitionShape -std::vector<::Ifc4x2::IfcProduct> Ifc4x2::IfcProductDefinitionShape::ShapeOfProduct() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[746], 6)); } -std::vector<::Ifc4x2::IfcShapeAspect> Ifc4x2::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[931], 4)); } +std::vector<::Ifc4x2::IfcProduct> Ifc4x2::IfcProductDefinitionShape::ShapeOfProduct() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[746], 6)); } +std::vector<::Ifc4x2::IfcShapeAspect> Ifc4x2::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[931], 4)); } // const IfcParse::entity& Ifc4x2::IfcProductDefinitionShape::declaration() const { return *((IfcParse::entity*)IFC4X2_types[747]); } const IfcParse::entity& Ifc4x2::IfcProductDefinitionShape::Class() { return *((IfcParse::entity*)IFC4X2_types[747]); } @@ -12678,8 +12678,8 @@ void Ifc4x2::IfcProfileDef::setProfileType(const ::Ifc4x2::IfcProfileTypeEnum::V std::optional< std::string > Ifc4x2::IfcProfileDef::ProfileName() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcProfileDef::setProfileName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcProfileDef::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[407], 3)); } -std::vector<::Ifc4x2::IfcProfileProperties> Ifc4x2::IfcProfileDef::HasProperties() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[752], 3)); } +std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcProfileDef::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[407], 3)); } +std::vector<::Ifc4x2::IfcProfileProperties> Ifc4x2::IfcProfileDef::HasProperties() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[752], 3)); } // const IfcParse::entity& Ifc4x2::IfcProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X2_types[751]); } const IfcParse::entity& Ifc4x2::IfcProfileDef::Class() { return *((IfcParse::entity*)IFC4X2_types[751]); } @@ -12756,12 +12756,12 @@ void Ifc4x2::IfcProperty::setName(const std::string& v) { set_attribute_value(0, std::optional< std::string > Ifc4x2::IfcProperty::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcProperty::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x2::IfcPropertySet> Ifc4x2::IfcProperty::PartOfPset() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[771], 4)); } -std::vector<::Ifc4x2::IfcPropertyDependencyRelationship> Ifc4x2::IfcProperty::PropertyForDependance() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[766], 2)); } -std::vector<::Ifc4x2::IfcPropertyDependencyRelationship> Ifc4x2::IfcProperty::PropertyDependsOn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[766], 3)); } -std::vector<::Ifc4x2::IfcComplexProperty> Ifc4x2::IfcProperty::PartOfComplex() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[185], 3)); } -std::vector<::Ifc4x2::IfcResourceConstraintRelationship> Ifc4x2::IfcProperty::HasConstraints() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[891], 3)); } -std::vector<::Ifc4x2::IfcResourceApprovalRelationship> Ifc4x2::IfcProperty::HasApprovals() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[890], 2)); } +std::vector<::Ifc4x2::IfcPropertySet> Ifc4x2::IfcProperty::PartOfPset() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[771], 4)); } +std::vector<::Ifc4x2::IfcPropertyDependencyRelationship> Ifc4x2::IfcProperty::PropertyForDependance() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[766], 2)); } +std::vector<::Ifc4x2::IfcPropertyDependencyRelationship> Ifc4x2::IfcProperty::PropertyDependsOn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[766], 3)); } +std::vector<::Ifc4x2::IfcComplexProperty> Ifc4x2::IfcProperty::PartOfComplex() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[185], 3)); } +std::vector<::Ifc4x2::IfcResourceConstraintRelationship> Ifc4x2::IfcProperty::HasConstraints() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[891], 3)); } +std::vector<::Ifc4x2::IfcResourceApprovalRelationship> Ifc4x2::IfcProperty::HasApprovals() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[890], 2)); } // const IfcParse::entity& Ifc4x2::IfcProperty::declaration() const { return *((IfcParse::entity*)IFC4X2_types[762]); } const IfcParse::entity& Ifc4x2::IfcProperty::Class() { return *((IfcParse::entity*)IFC4X2_types[762]); } @@ -12770,7 +12770,7 @@ const IfcParse::entity& Ifc4x2::IfcProperty::Class() { return *((IfcParse::entit // Function implementations for IfcPropertyAbstraction -std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[407], 3)); } +std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[407], 3)); } // const IfcParse::entity& Ifc4x2::IfcPropertyAbstraction::declaration() const { return *((IfcParse::entity*)IFC4X2_types[763]); } const IfcParse::entity& Ifc4x2::IfcPropertyAbstraction::Class() { return *((IfcParse::entity*)IFC4X2_types[763]); } @@ -12795,8 +12795,8 @@ const IfcParse::entity& Ifc4x2::IfcPropertyBoundedValue::Class() { return *((Ifc // Function implementations for IfcPropertyDefinition -std::vector<::Ifc4x2::IfcRelDeclares> Ifc4x2::IfcPropertyDefinition::HasContext() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[864], 5)); } -std::vector<::Ifc4x2::IfcRelAssociates> Ifc4x2::IfcPropertyDefinition::HasAssociations() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[844], 4)); } +std::vector<::Ifc4x2::IfcRelDeclares> Ifc4x2::IfcPropertyDefinition::HasContext() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[864], 5)); } +std::vector<::Ifc4x2::IfcRelAssociates> Ifc4x2::IfcPropertyDefinition::HasAssociations() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[844], 4)); } // const IfcParse::entity& Ifc4x2::IfcPropertyDefinition::declaration() const { return *((IfcParse::entity*)IFC4X2_types[765]); } const IfcParse::entity& Ifc4x2::IfcPropertyDefinition::Class() { return *((IfcParse::entity*)IFC4X2_types[765]); } @@ -12879,9 +12879,9 @@ const IfcParse::entity& Ifc4x2::IfcPropertySet::Class() { return *((IfcParse::en // Function implementations for IfcPropertySetDefinition -std::vector<::Ifc4x2::IfcTypeObject> Ifc4x2::IfcPropertySetDefinition::DefinesType() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[1153], 5)); } -std::vector<::Ifc4x2::IfcRelDefinesByTemplate> Ifc4x2::IfcPropertySetDefinition::IsDefinedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[869], 4)); } -std::vector<::Ifc4x2::IfcRelDefinesByProperties> Ifc4x2::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[868], 5)); } +std::vector<::Ifc4x2::IfcTypeObject> Ifc4x2::IfcPropertySetDefinition::DefinesType() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[1153], 5)); } +std::vector<::Ifc4x2::IfcRelDefinesByTemplate> Ifc4x2::IfcPropertySetDefinition::IsDefinedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[869], 4)); } +std::vector<::Ifc4x2::IfcRelDefinesByProperties> Ifc4x2::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[868], 5)); } // const IfcParse::entity& Ifc4x2::IfcPropertySetDefinition::declaration() const { return *((IfcParse::entity*)IFC4X2_types[772]); } const IfcParse::entity& Ifc4x2::IfcPropertySetDefinition::Class() { return *((IfcParse::entity*)IFC4X2_types[772]); } @@ -12896,7 +12896,7 @@ void Ifc4x2::IfcPropertySetTemplate::setApplicableEntity(const std::optional< st 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(data()->file()->getInverse(data()->id(), IFC4X2_types[869], 5)); } +std::vector<::Ifc4x2::IfcRelDefinesByTemplate> Ifc4x2::IfcPropertySetTemplate::Defines() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[869], 5)); } // const IfcParse::entity& Ifc4x2::IfcPropertySetTemplate::declaration() const { return *((IfcParse::entity*)IFC4X2_types[775]); } const IfcParse::entity& Ifc4x2::IfcPropertySetTemplate::Class() { return *((IfcParse::entity*)IFC4X2_types[775]); } @@ -12937,8 +12937,8 @@ const IfcParse::entity& Ifc4x2::IfcPropertyTableValue::Class() { return *((IfcPa // Function implementations for IfcPropertyTemplate -std::vector<::Ifc4x2::IfcComplexPropertyTemplate> Ifc4x2::IfcPropertyTemplate::PartOfComplexTemplate() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[186], 6)); } -std::vector<::Ifc4x2::IfcPropertySetTemplate> Ifc4x2::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[775], 6)); } +std::vector<::Ifc4x2::IfcComplexPropertyTemplate> Ifc4x2::IfcPropertyTemplate::PartOfComplexTemplate() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[186], 6)); } +std::vector<::Ifc4x2::IfcPropertySetTemplate> Ifc4x2::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[775], 6)); } // const IfcParse::entity& Ifc4x2::IfcPropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X2_types[779]); } const IfcParse::entity& Ifc4x2::IfcPropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X2_types[779]); } @@ -14001,7 +14001,7 @@ const IfcParse::entity& Ifc4x2::IfcRelSpaceBoundary::Class() { return *((IfcPars ::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(data()->file()->getInverse(data()->id(), IFC4X2_types[881], 9)); } +std::vector<::Ifc4x2::IfcRelSpaceBoundary1stLevel> Ifc4x2::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[881], 9)); } // const IfcParse::entity& Ifc4x2::IfcRelSpaceBoundary1stLevel::declaration() const { return *((IfcParse::entity*)IFC4X2_types[881]); } const IfcParse::entity& Ifc4x2::IfcRelSpaceBoundary1stLevel::Class() { return *((IfcParse::entity*)IFC4X2_types[881]); } @@ -14012,7 +14012,7 @@ const IfcParse::entity& Ifc4x2::IfcRelSpaceBoundary1stLevel::Class() { return *( ::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(data()->file()->getInverse(data()->id(), IFC4X2_types[882], 10)); } +std::vector<::Ifc4x2::IfcRelSpaceBoundary2ndLevel> Ifc4x2::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[882], 10)); } // const IfcParse::entity& Ifc4x2::IfcRelSpaceBoundary2ndLevel::declaration() const { return *((IfcParse::entity*)IFC4X2_types[882]); } const IfcParse::entity& Ifc4x2::IfcRelSpaceBoundary2ndLevel::Class() { return *((IfcParse::entity*)IFC4X2_types[882]); } @@ -14059,9 +14059,9 @@ void Ifc4x2::IfcRepresentation::setRepresentationType(const std::optional< std:: 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(data()->file()->getInverse(data()->id(), IFC4X2_types[888], 1)); } -std::vector<::Ifc4x2::IfcPresentationLayerAssignment> Ifc4x2::IfcRepresentation::LayerAssignments() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[735], 2)); } -std::vector<::Ifc4x2::IfcProductRepresentation> Ifc4x2::IfcRepresentation::OfProductRepresentation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[748], 2)); } +std::vector<::Ifc4x2::IfcRepresentationMap> Ifc4x2::IfcRepresentation::RepresentationMap() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[888], 1)); } +std::vector<::Ifc4x2::IfcPresentationLayerAssignment> Ifc4x2::IfcRepresentation::LayerAssignments() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[735], 2)); } +std::vector<::Ifc4x2::IfcProductRepresentation> Ifc4x2::IfcRepresentation::OfProductRepresentation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[748], 2)); } // const IfcParse::entity& Ifc4x2::IfcRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X2_types[885]); } const IfcParse::entity& Ifc4x2::IfcRepresentation::Class() { return *((IfcParse::entity*)IFC4X2_types[885]); } @@ -14074,7 +14074,7 @@ void Ifc4x2::IfcRepresentationContext::setContextIdentifier(const std::optional< std::optional< std::string > Ifc4x2::IfcRepresentationContext::ContextType() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcRepresentationContext::setContextType(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x2::IfcRepresentation> Ifc4x2::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[885], 0)); } +std::vector<::Ifc4x2::IfcRepresentation> Ifc4x2::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[885], 0)); } // const IfcParse::entity& Ifc4x2::IfcRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X2_types[886]); } const IfcParse::entity& Ifc4x2::IfcRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X2_types[886]); } @@ -14083,8 +14083,8 @@ const IfcParse::entity& Ifc4x2::IfcRepresentationContext::Class() { return *((If // Function implementations for IfcRepresentationItem -std::vector<::Ifc4x2::IfcPresentationLayerAssignment> Ifc4x2::IfcRepresentationItem::LayerAssignment() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[735], 2)); } -std::vector<::Ifc4x2::IfcStyledItem> Ifc4x2::IfcRepresentationItem::StyledByItem() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[1035], 0)); } +std::vector<::Ifc4x2::IfcPresentationLayerAssignment> Ifc4x2::IfcRepresentationItem::LayerAssignment() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[735], 2)); } +std::vector<::Ifc4x2::IfcStyledItem> Ifc4x2::IfcRepresentationItem::StyledByItem() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[1035], 0)); } // const IfcParse::entity& Ifc4x2::IfcRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X2_types[887]); } const IfcParse::entity& Ifc4x2::IfcRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X2_types[887]); } @@ -14097,8 +14097,8 @@ void Ifc4x2::IfcRepresentationMap::setMappingOrigin(const ::Ifc4x2::IfcAxis2Plac ::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(data()->file()->getInverse(data()->id(), IFC4X2_types[931], 4)); } -std::vector<::Ifc4x2::IfcMappedItem> Ifc4x2::IfcRepresentationMap::MapUsage() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[585], 0)); } +std::vector<::Ifc4x2::IfcShapeAspect> Ifc4x2::IfcRepresentationMap::HasShapeAspects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[931], 4)); } +std::vector<::Ifc4x2::IfcMappedItem> Ifc4x2::IfcRepresentationMap::MapUsage() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[585], 0)); } // const IfcParse::entity& Ifc4x2::IfcRepresentationMap::declaration() const { return *((IfcParse::entity*)IFC4X2_types[888]); } const IfcParse::entity& Ifc4x2::IfcRepresentationMap::Class() { return *((IfcParse::entity*)IFC4X2_types[888]); } @@ -14111,7 +14111,7 @@ void Ifc4x2::IfcResource::setIdentification(const std::optional< std::string >& std::optional< std::string > Ifc4x2::IfcResource::LongDescription() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x2::IfcResource::setLongDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x2::IfcRelAssignsToResource> Ifc4x2::IfcResource::ResourceOf() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[843], 6)); } +std::vector<::Ifc4x2::IfcRelAssignsToResource> Ifc4x2::IfcResource::ResourceOf() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[843], 6)); } // const IfcParse::entity& Ifc4x2::IfcResource::declaration() const { return *((IfcParse::entity*)IFC4X2_types[889]); } const IfcParse::entity& Ifc4x2::IfcResource::Class() { return *((IfcParse::entity*)IFC4X2_types[889]); } @@ -14462,7 +14462,7 @@ void Ifc4x2::IfcShapeAspect::setProductDefinitional(const boost::logic::tribool& ::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(data()->file()->getInverse(data()->id(), IFC4X2_types[407], 3)); } +std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcShapeAspect::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[407], 3)); } // const IfcParse::entity& Ifc4x2::IfcShapeAspect::declaration() const { return *((IfcParse::entity*)IFC4X2_types[931]); } const IfcParse::entity& Ifc4x2::IfcShapeAspect::Class() { return *((IfcParse::entity*)IFC4X2_types[931]); } @@ -14471,7 +14471,7 @@ const IfcParse::entity& Ifc4x2::IfcShapeAspect::Class() { return *((IfcParse::en // Function implementations for IfcShapeModel -std::vector<::Ifc4x2::IfcShapeAspect> Ifc4x2::IfcShapeModel::OfShapeAspect() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[931], 0)); } +std::vector<::Ifc4x2::IfcShapeAspect> Ifc4x2::IfcShapeModel::OfShapeAspect() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[931], 0)); } // const IfcParse::entity& Ifc4x2::IfcShapeModel::declaration() const { return *((IfcParse::entity*)IFC4X2_types[932]); } const IfcParse::entity& Ifc4x2::IfcShapeModel::Class() { return *((IfcParse::entity*)IFC4X2_types[932]); } @@ -14630,8 +14630,8 @@ void Ifc4x2::IfcSpace::setPredefinedType(const std::optional< ::Ifc4x2::IfcSpace std::optional< double > Ifc4x2::IfcSpace::ElevationWithFlooring() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } double v = get_attribute_value(10); return v; } void Ifc4x2::IfcSpace::setElevationWithFlooring(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -std::vector<::Ifc4x2::IfcRelCoversSpaces> Ifc4x2::IfcSpace::HasCoverings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[863], 4)); } -std::vector<::Ifc4x2::IfcRelSpaceBoundary> Ifc4x2::IfcSpace::BoundedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[880], 4)); } +std::vector<::Ifc4x2::IfcRelCoversSpaces> Ifc4x2::IfcSpace::HasCoverings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[863], 4)); } +std::vector<::Ifc4x2::IfcRelSpaceBoundary> Ifc4x2::IfcSpace::BoundedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[880], 4)); } // const IfcParse::entity& Ifc4x2::IfcSpace::declaration() const { return *((IfcParse::entity*)IFC4X2_types[962]); } const IfcParse::entity& Ifc4x2::IfcSpace::Class() { return *((IfcParse::entity*)IFC4X2_types[962]); } @@ -14674,9 +14674,9 @@ const IfcParse::entity& Ifc4x2::IfcSpaceType::Class() { return *((IfcParse::enti 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; } void Ifc4x2::IfcSpatialElement::setLongName(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -std::vector<::Ifc4x2::IfcRelContainedInSpatialStructure> Ifc4x2::IfcSpatialElement::ContainsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[861], 5)); } -std::vector<::Ifc4x2::IfcRelServicesBuildings> Ifc4x2::IfcSpatialElement::ServicedBySystems() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[879], 5)); } -std::vector<::Ifc4x2::IfcRelReferencedInSpatialStructure> Ifc4x2::IfcSpatialElement::ReferencesElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[877], 5)); } +std::vector<::Ifc4x2::IfcRelContainedInSpatialStructure> Ifc4x2::IfcSpatialElement::ContainsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[861], 5)); } +std::vector<::Ifc4x2::IfcRelServicesBuildings> Ifc4x2::IfcSpatialElement::ServicedBySystems() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[879], 5)); } +std::vector<::Ifc4x2::IfcRelReferencedInSpatialStructure> Ifc4x2::IfcSpatialElement::ReferencesElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[877], 5)); } // const IfcParse::entity& Ifc4x2::IfcSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[969]); } const IfcParse::entity& Ifc4x2::IfcSpatialElement::Class() { return *((IfcParse::entity*)IFC4X2_types[969]); } @@ -14837,7 +14837,7 @@ void Ifc4x2::IfcStructuralActivity::setAppliedLoad(const ::Ifc4x2::IfcStructural ::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, EnumerationReference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -std::vector<::Ifc4x2::IfcRelConnectsStructuralActivity> Ifc4x2::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[857], 5)); } +std::vector<::Ifc4x2::IfcRelConnectsStructuralActivity> Ifc4x2::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[857], 5)); } // const IfcParse::entity& Ifc4x2::IfcStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC4X2_types[993]); } const IfcParse::entity& Ifc4x2::IfcStructuralActivity::Class() { return *((IfcParse::entity*)IFC4X2_types[993]); } @@ -14866,7 +14866,7 @@ const IfcParse::entity& Ifc4x2::IfcStructuralAnalysisModel::Class() { return *(( ::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(data()->file()->getInverse(data()->id(), IFC4X2_types[858], 5)); } +std::vector<::Ifc4x2::IfcRelConnectsStructuralMember> Ifc4x2::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[858], 5)); } // const IfcParse::entity& Ifc4x2::IfcStructuralConnection::declaration() const { return *((IfcParse::entity*)IFC4X2_types[996]); } const IfcParse::entity& Ifc4x2::IfcStructuralConnection::Class() { return *((IfcParse::entity*)IFC4X2_types[996]); } @@ -14937,7 +14937,7 @@ const IfcParse::entity& Ifc4x2::IfcStructuralCurveReaction::Class() { return *(( // Function implementations for IfcStructuralItem -std::vector<::Ifc4x2::IfcRelConnectsStructuralActivity> Ifc4x2::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[857], 4)); } +std::vector<::Ifc4x2::IfcRelConnectsStructuralActivity> Ifc4x2::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[857], 4)); } // const IfcParse::entity& Ifc4x2::IfcStructuralItem::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1005]); } const IfcParse::entity& Ifc4x2::IfcStructuralItem::Class() { return *((IfcParse::entity*)IFC4X2_types[1005]); } @@ -14996,8 +14996,8 @@ void Ifc4x2::IfcStructuralLoadGroup::setCoefficient(const std::optional< double std::optional< std::string > Ifc4x2::IfcStructuralLoadGroup::Purpose() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::string v = get_attribute_value(9); return v; } void Ifc4x2::IfcStructuralLoadGroup::setPurpose(const std::optional< std::string >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -std::vector<::Ifc4x2::IfcStructuralResultGroup> Ifc4x2::IfcStructuralLoadGroup::SourceOfResultGroup() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[1026], 6)); } -std::vector<::Ifc4x2::IfcStructuralAnalysisModel> Ifc4x2::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[995], 7)); } +std::vector<::Ifc4x2::IfcStructuralResultGroup> Ifc4x2::IfcStructuralLoadGroup::SourceOfResultGroup() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[1026], 6)); } +std::vector<::Ifc4x2::IfcStructuralAnalysisModel> Ifc4x2::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[995], 7)); } // const IfcParse::entity& Ifc4x2::IfcStructuralLoadGroup::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1010]); } const IfcParse::entity& Ifc4x2::IfcStructuralLoadGroup::Class() { return *((IfcParse::entity*)IFC4X2_types[1010]); } @@ -15130,7 +15130,7 @@ const IfcParse::entity& Ifc4x2::IfcStructuralLoadTemperature::Class() { return * // Function implementations for IfcStructuralMember -std::vector<::Ifc4x2::IfcRelConnectsStructuralMember> Ifc4x2::IfcStructuralMember::ConnectedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[858], 4)); } +std::vector<::Ifc4x2::IfcRelConnectsStructuralMember> Ifc4x2::IfcStructuralMember::ConnectedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[858], 4)); } // const IfcParse::entity& Ifc4x2::IfcStructuralMember::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1020]); } const IfcParse::entity& Ifc4x2::IfcStructuralMember::Class() { return *((IfcParse::entity*)IFC4X2_types[1020]); } @@ -15187,7 +15187,7 @@ void Ifc4x2::IfcStructuralResultGroup::setResultForLoadGroup(const ::Ifc4x2::Ifc 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); } -std::vector<::Ifc4x2::IfcStructuralAnalysisModel> Ifc4x2::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[995], 8)); } +std::vector<::Ifc4x2::IfcStructuralAnalysisModel> Ifc4x2::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[995], 8)); } // const IfcParse::entity& Ifc4x2::IfcStructuralResultGroup::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1026]); } const IfcParse::entity& Ifc4x2::IfcStructuralResultGroup::Class() { return *((IfcParse::entity*)IFC4X2_types[1026]); } @@ -15484,8 +15484,8 @@ void Ifc4x2::IfcSurfaceTexture::setTextureTransform(const ::Ifc4x2::IfcCartesian 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);} } -std::vector<::Ifc4x2::IfcTextureCoordinate> Ifc4x2::IfcSurfaceTexture::IsMappedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[1110], 0)); } -std::vector<::Ifc4x2::IfcSurfaceStyleWithTextures> Ifc4x2::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[1058], 0)); } +std::vector<::Ifc4x2::IfcTextureCoordinate> Ifc4x2::IfcSurfaceTexture::IsMappedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[1110], 0)); } +std::vector<::Ifc4x2::IfcSurfaceStyleWithTextures> Ifc4x2::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[1058], 0)); } // const IfcParse::entity& Ifc4x2::IfcSurfaceTexture::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1059]); } const IfcParse::entity& Ifc4x2::IfcSurfaceTexture::Class() { return *((IfcParse::entity*)IFC4X2_types[1059]); } @@ -15566,7 +15566,7 @@ const IfcParse::entity& Ifc4x2::IfcSwitchingDeviceType::Class() { return *((IfcP // Function implementations for IfcSystem -std::vector<::Ifc4x2::IfcRelServicesBuildings> Ifc4x2::IfcSystem::ServicesBuildings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[879], 4)); } +std::vector<::Ifc4x2::IfcRelServicesBuildings> Ifc4x2::IfcSystem::ServicesBuildings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[879], 4)); } // const IfcParse::entity& Ifc4x2::IfcSystem::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1067]); } const IfcParse::entity& Ifc4x2::IfcSystem::Class() { return *((IfcParse::entity*)IFC4X2_types[1067]); } @@ -15871,8 +15871,8 @@ const IfcParse::entity& Ifc4x2::IfcTendonType::Class() { return *((IfcParse::ent ::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(data()->file()->getInverse(data()->id(), IFC4X2_types[508], 0)); } -std::vector<::Ifc4x2::IfcIndexedTextureMap> Ifc4x2::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[512], 1)); } +std::vector<::Ifc4x2::IfcIndexedColourMap> Ifc4x2::IfcTessellatedFaceSet::HasColours() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[508], 0)); } +std::vector<::Ifc4x2::IfcIndexedTextureMap> Ifc4x2::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[512], 1)); } // const IfcParse::entity& Ifc4x2::IfcTessellatedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1095]); } const IfcParse::entity& Ifc4x2::IfcTessellatedFaceSet::Class() { return *((IfcParse::entity*)IFC4X2_types[1095]); } @@ -16065,7 +16065,7 @@ void Ifc4x2::IfcTimeSeries::setUserDefinedDataOrigin(const std::optional< std::s ::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(data()->file()->getInverse(data()->id(), IFC4X2_types[407], 3)); } +std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcTimeSeries::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[407], 3)); } // const IfcParse::entity& Ifc4x2::IfcTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1125]); } const IfcParse::entity& Ifc4x2::IfcTimeSeries::Class() { return *((IfcParse::entity*)IFC4X2_types[1125]); } @@ -16254,7 +16254,7 @@ void Ifc4x2::IfcTypeObject::setApplicableOccurrence(const std::optional< std::st 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(data()->file()->getInverse(data()->id(), IFC4X2_types[870], 5)); } +std::vector<::Ifc4x2::IfcRelDefinesByType> Ifc4x2::IfcTypeObject::Types() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[870], 5)); } // const IfcParse::entity& Ifc4x2::IfcTypeObject::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1153]); } const IfcParse::entity& Ifc4x2::IfcTypeObject::Class() { return *((IfcParse::entity*)IFC4X2_types[1153]); } @@ -16269,7 +16269,7 @@ void Ifc4x2::IfcTypeProcess::setLongDescription(const std::optional< std::string std::optional< std::string > Ifc4x2::IfcTypeProcess::ProcessType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x2::IfcTypeProcess::setProcessType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -std::vector<::Ifc4x2::IfcRelAssignsToProcess> Ifc4x2::IfcTypeProcess::OperatesOn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[841], 6)); } +std::vector<::Ifc4x2::IfcRelAssignsToProcess> Ifc4x2::IfcTypeProcess::OperatesOn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[841], 6)); } // const IfcParse::entity& Ifc4x2::IfcTypeProcess::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1154]); } const IfcParse::entity& Ifc4x2::IfcTypeProcess::Class() { return *((IfcParse::entity*)IFC4X2_types[1154]); } @@ -16282,7 +16282,7 @@ void Ifc4x2::IfcTypeProduct::setRepresentationMaps(const std::optional< std::vec 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(data()->file()->getInverse(data()->id(), IFC4X2_types[842], 6)); } +std::vector<::Ifc4x2::IfcRelAssignsToProduct> Ifc4x2::IfcTypeProduct::ReferencedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[842], 6)); } // const IfcParse::entity& Ifc4x2::IfcTypeProduct::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1155]); } const IfcParse::entity& Ifc4x2::IfcTypeProduct::Class() { return *((IfcParse::entity*)IFC4X2_types[1155]); } @@ -16297,7 +16297,7 @@ void Ifc4x2::IfcTypeResource::setLongDescription(const std::optional< std::strin std::optional< std::string > Ifc4x2::IfcTypeResource::ResourceType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x2::IfcTypeResource::setResourceType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -std::vector<::Ifc4x2::IfcRelAssignsToResource> Ifc4x2::IfcTypeResource::ResourceOf() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X2_types[843], 6)); } +std::vector<::Ifc4x2::IfcRelAssignsToResource> Ifc4x2::IfcTypeResource::ResourceOf() const { return cast_vector(file()->getInverse(data()->id(), IFC4X2_types[843], 6)); } // const IfcParse::entity& Ifc4x2::IfcTypeResource::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1156]); } const IfcParse::entity& Ifc4x2::IfcTypeResource::Class() { return *((IfcParse::entity*)IFC4X2_types[1156]); } diff --git a/src/ifcparse/Ifc4x3.cpp b/src/ifcparse/Ifc4x3.cpp index 1dd03ba83f..8fc5fbcfd7 100644 --- a/src/ifcparse/Ifc4x3.cpp +++ b/src/ifcparse/Ifc4x3.cpp @@ -7893,7 +7893,7 @@ const IfcParse::entity& Ifc4x3::IfcActionRequest::Class() { return *((IfcParse:: ::Ifc4x3::IfcActorSelect Ifc4x3::IfcActor::TheActor() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3::IfcActorSelect>(); } void Ifc4x3::IfcActor::setTheActor(const ::Ifc4x3::IfcActorSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -std::vector<::Ifc4x3::IfcRelAssignsToActor> Ifc4x3::IfcActor::IsActingUpon() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[902], 6)); } +std::vector<::Ifc4x3::IfcRelAssignsToActor> Ifc4x3::IfcActor::IsActingUpon() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[902], 6)); } // const IfcParse::entity& Ifc4x3::IfcActor::declaration() const { return *((IfcParse::entity*)IFC4X3_types[6]); } const IfcParse::entity& Ifc4x3::IfcActor::Class() { return *((IfcParse::entity*)IFC4X3_types[6]); } @@ -7908,7 +7908,7 @@ void Ifc4x3::IfcActorRole::setUserDefinedRole(const std::optional< std::string > std::optional< std::string > Ifc4x3::IfcActorRole::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3::IfcActorRole::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcActorRole::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[430], 3)); } +std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcActorRole::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[430], 3)); } // const IfcParse::entity& Ifc4x3::IfcActorRole::declaration() const { return *((IfcParse::entity*)IFC4X3_types[7]); } const IfcParse::entity& Ifc4x3::IfcActorRole::Class() { return *((IfcParse::entity*)IFC4X3_types[7]); } @@ -7943,8 +7943,8 @@ void Ifc4x3::IfcAddress::setDescription(const std::optional< std::string >& v) { std::optional< std::string > Ifc4x3::IfcAddress::UserDefinedPurpose() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3::IfcAddress::setUserDefinedPurpose(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x3::IfcPerson> Ifc4x3::IfcAddress::OfPerson() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[738], 7)); } -std::vector<::Ifc4x3::IfcOrganization> Ifc4x3::IfcAddress::OfOrganization() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[717], 4)); } +std::vector<::Ifc4x3::IfcPerson> Ifc4x3::IfcAddress::OfPerson() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[738], 7)); } +std::vector<::Ifc4x3::IfcOrganization> Ifc4x3::IfcAddress::OfOrganization() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[717], 4)); } // const IfcParse::entity& Ifc4x3::IfcAddress::declaration() const { return *((IfcParse::entity*)IFC4X3_types[12]); } const IfcParse::entity& Ifc4x3::IfcAddress::Class() { return *((IfcParse::entity*)IFC4X3_types[12]); } @@ -8185,7 +8185,7 @@ const IfcParse::entity& Ifc4x3::IfcAlignmentVerticalSegment::Class() { return *( std::optional< ::Ifc4x3::IfcAnnotationTypeEnum::Value > Ifc4x3::IfcAnnotation::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcAnnotationTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3::IfcAnnotation::setPredefinedType(const std::optional< ::Ifc4x3::IfcAnnotationTypeEnum::Value >& v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3::IfcAnnotationTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -std::vector<::Ifc4x3::IfcRelContainedInSpatialStructure> Ifc4x3::IfcAnnotation::ContainedInStructure() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[927], 4)); } +std::vector<::Ifc4x3::IfcRelContainedInSpatialStructure> Ifc4x3::IfcAnnotation::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[927], 4)); } // const IfcParse::entity& Ifc4x3::IfcAnnotation::declaration() const { return *((IfcParse::entity*)IFC4X3_types[46]); } const IfcParse::entity& Ifc4x3::IfcAnnotation::Class() { return *((IfcParse::entity*)IFC4X3_types[46]); } @@ -8242,7 +8242,7 @@ void Ifc4x3::IfcAppliedValue::setArithmeticOperator(const std::optional< ::Ifc4x std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > Ifc4x3::IfcAppliedValue::Components() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3::IfcAppliedValue>(es); } void Ifc4x3::IfcAppliedValue::setComponents(const std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } -std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcAppliedValue::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[430], 3)); } +std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcAppliedValue::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[430], 3)); } // const IfcParse::entity& Ifc4x3::IfcAppliedValue::declaration() const { return *((IfcParse::entity*)IFC4X3_types[50]); } const IfcParse::entity& Ifc4x3::IfcAppliedValue::Class() { return *((IfcParse::entity*)IFC4X3_types[50]); } @@ -8269,11 +8269,11 @@ void Ifc4x3::IfcApproval::setRequestingApproval(const ::Ifc4x3::IfcActorSelect& ::Ifc4x3::IfcActorSelect Ifc4x3::IfcApproval::GivingApproval() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3::IfcActorSelect>(); } void Ifc4x3::IfcApproval::setGivingApproval(const ::Ifc4x3::IfcActorSelect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcApproval::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[430], 3)); } -std::vector<::Ifc4x3::IfcRelAssociatesApproval> Ifc4x3::IfcApproval::ApprovedObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[910], 5)); } -std::vector<::Ifc4x3::IfcResourceApprovalRelationship> Ifc4x3::IfcApproval::ApprovedResources() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[956], 3)); } -std::vector<::Ifc4x3::IfcApprovalRelationship> Ifc4x3::IfcApproval::IsRelatedWith() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[53], 3)); } -std::vector<::Ifc4x3::IfcApprovalRelationship> Ifc4x3::IfcApproval::Relates() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[53], 2)); } +std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcApproval::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[430], 3)); } +std::vector<::Ifc4x3::IfcRelAssociatesApproval> Ifc4x3::IfcApproval::ApprovedObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[910], 5)); } +std::vector<::Ifc4x3::IfcResourceApprovalRelationship> Ifc4x3::IfcApproval::ApprovedResources() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[956], 3)); } +std::vector<::Ifc4x3::IfcApprovalRelationship> Ifc4x3::IfcApproval::IsRelatedWith() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[53], 3)); } +std::vector<::Ifc4x3::IfcApprovalRelationship> Ifc4x3::IfcApproval::Relates() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[53], 2)); } // const IfcParse::entity& Ifc4x3::IfcApproval::declaration() const { return *((IfcParse::entity*)IFC4X3_types[52]); } const IfcParse::entity& Ifc4x3::IfcApproval::Class() { return *((IfcParse::entity*)IFC4X3_types[52]); } @@ -9228,8 +9228,8 @@ void Ifc4x3::IfcClassification::setSpecification(const std::optional< std::strin std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3::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::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::IfcRelAssociatesClassification> Ifc4x3::IfcClassification::ClassificationForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[911], 5)); } -std::vector<::Ifc4x3::IfcClassificationReference> Ifc4x3::IfcClassification::HasReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[170], 3)); } +std::vector<::Ifc4x3::IfcRelAssociatesClassification> Ifc4x3::IfcClassification::ClassificationForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[911], 5)); } +std::vector<::Ifc4x3::IfcClassificationReference> Ifc4x3::IfcClassification::HasReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[170], 3)); } // const IfcParse::entity& Ifc4x3::IfcClassification::declaration() const { return *((IfcParse::entity*)IFC4X3_types[169]); } const IfcParse::entity& Ifc4x3::IfcClassification::Class() { return *((IfcParse::entity*)IFC4X3_types[169]); } @@ -9244,8 +9244,8 @@ void Ifc4x3::IfcClassificationReference::setDescription(const std::optional< std std::optional< std::string > Ifc4x3::IfcClassificationReference::Sort() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcClassificationReference::setSort(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3::IfcRelAssociatesClassification> Ifc4x3::IfcClassificationReference::ClassificationRefForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[911], 5)); } -std::vector<::Ifc4x3::IfcClassificationReference> Ifc4x3::IfcClassificationReference::HasReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[170], 3)); } +std::vector<::Ifc4x3::IfcRelAssociatesClassification> Ifc4x3::IfcClassificationReference::ClassificationRefForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[911], 5)); } +std::vector<::Ifc4x3::IfcClassificationReference> Ifc4x3::IfcClassificationReference::HasReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[170], 3)); } // const IfcParse::entity& Ifc4x3::IfcClassificationReference::declaration() const { return *((IfcParse::entity*)IFC4X3_types[170]); } const IfcParse::entity& Ifc4x3::IfcClassificationReference::Class() { return *((IfcParse::entity*)IFC4X3_types[170]); } @@ -9580,8 +9580,8 @@ void Ifc4x3::IfcConstraint::setCreationTime(const std::optional< std::string >& std::optional< std::string > Ifc4x3::IfcConstraint::UserDefinedGrade() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3::IfcConstraint::setUserDefinedGrade(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcConstraint::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[430], 3)); } -std::vector<::Ifc4x3::IfcResourceConstraintRelationship> Ifc4x3::IfcConstraint::PropertiesForConstraint() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[957], 2)); } +std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcConstraint::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[430], 3)); } +std::vector<::Ifc4x3::IfcResourceConstraintRelationship> Ifc4x3::IfcConstraint::PropertiesForConstraint() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[957], 2)); } // const IfcParse::entity& Ifc4x3::IfcConstraint::declaration() const { return *((IfcParse::entity*)IFC4X3_types[213]); } const IfcParse::entity& Ifc4x3::IfcConstraint::Class() { return *((IfcParse::entity*)IFC4X3_types[213]); } @@ -9686,8 +9686,8 @@ void Ifc4x3::IfcContext::setRepresentationContexts(const std::optional< std::vec ::Ifc4x3::IfcUnitAssignment Ifc4x3::IfcContext::UnitsInContext() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3::IfcUnitAssignment{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3::IfcUnitAssignment>(); } void Ifc4x3::IfcContext::setUnitsInContext(const ::Ifc4x3::IfcUnitAssignment& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::vector<::Ifc4x3::IfcRelDefinesByProperties> Ifc4x3::IfcContext::IsDefinedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[934], 4)); } -std::vector<::Ifc4x3::IfcRelDeclares> Ifc4x3::IfcContext::Declares() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[930], 4)); } +std::vector<::Ifc4x3::IfcRelDefinesByProperties> Ifc4x3::IfcContext::IsDefinedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[934], 4)); } +std::vector<::Ifc4x3::IfcRelDeclares> Ifc4x3::IfcContext::Declares() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[930], 4)); } // const IfcParse::entity& Ifc4x3::IfcContext::declaration() const { return *((IfcParse::entity*)IFC4X3_types[226]); } const IfcParse::entity& Ifc4x3::IfcContext::Class() { return *((IfcParse::entity*)IFC4X3_types[226]); } @@ -9698,7 +9698,7 @@ const IfcParse::entity& Ifc4x3::IfcContext::Class() { return *((IfcParse::entity std::string Ifc4x3::IfcContextDependentUnit::Name() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3::IfcContextDependentUnit::setName(const std::string& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcContextDependentUnit::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[430], 3)); } +std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcContextDependentUnit::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[430], 3)); } // const IfcParse::entity& Ifc4x3::IfcContextDependentUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_types[228]); } const IfcParse::entity& Ifc4x3::IfcContextDependentUnit::Class() { return *((IfcParse::entity*)IFC4X3_types[228]); } @@ -9709,7 +9709,7 @@ const IfcParse::entity& Ifc4x3::IfcContextDependentUnit::Class() { return *((Ifc std::optional< std::string > Ifc4x3::IfcControl::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcControl::setIdentification(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3::IfcRelAssignsToControl> Ifc4x3::IfcControl::Controls() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[903], 6)); } +std::vector<::Ifc4x3::IfcRelAssignsToControl> Ifc4x3::IfcControl::Controls() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[903], 6)); } // const IfcParse::entity& Ifc4x3::IfcControl::declaration() const { return *((IfcParse::entity*)IFC4X3_types[229]); } const IfcParse::entity& Ifc4x3::IfcControl::Class() { return *((IfcParse::entity*)IFC4X3_types[229]); } @@ -9742,7 +9742,7 @@ void Ifc4x3::IfcConversionBasedUnit::setName(const std::string& v) { set_attribu ::Ifc4x3::IfcMeasureWithUnit Ifc4x3::IfcConversionBasedUnit::ConversionFactor() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3::IfcMeasureWithUnit>(); } void Ifc4x3::IfcConversionBasedUnit::setConversionFactor(const ::Ifc4x3::IfcMeasureWithUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[430], 3)); } +std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[430], 3)); } // const IfcParse::entity& Ifc4x3::IfcConversionBasedUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_types[233]); } const IfcParse::entity& Ifc4x3::IfcConversionBasedUnit::Class() { return *((IfcParse::entity*)IFC4X3_types[233]); } @@ -9841,7 +9841,7 @@ void Ifc4x3::IfcCoordinateReferenceSystem::setGeodeticDatum(const std::optional< std::optional< std::string > Ifc4x3::IfcCoordinateReferenceSystem::VerticalDatum() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x3::IfcCoordinateReferenceSystem::setVerticalDatum(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -std::vector<::Ifc4x3::IfcCoordinateOperation> Ifc4x3::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[244], 0)); } +std::vector<::Ifc4x3::IfcCoordinateOperation> Ifc4x3::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[244], 0)); } // const IfcParse::entity& Ifc4x3::IfcCoordinateReferenceSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_types[245]); } const IfcParse::entity& Ifc4x3::IfcCoordinateReferenceSystem::Class() { return *((IfcParse::entity*)IFC4X3_types[245]); } @@ -9922,8 +9922,8 @@ const IfcParse::entity& Ifc4x3::IfcCourseType::Class() { return *((IfcParse::ent std::optional< ::Ifc4x3::IfcCoveringTypeEnum::Value > Ifc4x3::IfcCovering::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcCoveringTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcCovering::setPredefinedType(const std::optional< ::Ifc4x3::IfcCoveringTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcCoveringTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3::IfcRelCoversSpaces> Ifc4x3::IfcCovering::CoversSpaces() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[929], 5)); } -std::vector<::Ifc4x3::IfcRelCoversBldgElements> Ifc4x3::IfcCovering::CoversElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[928], 5)); } +std::vector<::Ifc4x3::IfcRelCoversSpaces> Ifc4x3::IfcCovering::CoversSpaces() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[929], 5)); } +std::vector<::Ifc4x3::IfcRelCoversBldgElements> Ifc4x3::IfcCovering::CoversElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[928], 5)); } // const IfcParse::entity& Ifc4x3::IfcCovering::declaration() const { return *((IfcParse::entity*)IFC4X3_types[257]); } const IfcParse::entity& Ifc4x3::IfcCovering::Class() { return *((IfcParse::entity*)IFC4X3_types[257]); } @@ -10336,7 +10336,7 @@ const IfcParse::entity& Ifc4x3::IfcDistributionCircuit::Class() { return *((IfcP // Function implementations for IfcDistributionControlElement -std::vector<::Ifc4x3::IfcRelFlowControlElements> Ifc4x3::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[938], 4)); } +std::vector<::Ifc4x3::IfcRelFlowControlElements> Ifc4x3::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[938], 4)); } // const IfcParse::entity& Ifc4x3::IfcDistributionControlElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[320]); } const IfcParse::entity& Ifc4x3::IfcDistributionControlElement::Class() { return *((IfcParse::entity*)IFC4X3_types[320]); } @@ -10353,7 +10353,7 @@ const IfcParse::entity& Ifc4x3::IfcDistributionControlElementType::Class() { ret // Function implementations for IfcDistributionElement -std::vector<::Ifc4x3::IfcRelConnectsPortToElement> Ifc4x3::IfcDistributionElement::HasPorts() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[922], 5)); } +std::vector<::Ifc4x3::IfcRelConnectsPortToElement> Ifc4x3::IfcDistributionElement::HasPorts() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[922], 5)); } // const IfcParse::entity& Ifc4x3::IfcDistributionElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[322]); } const IfcParse::entity& Ifc4x3::IfcDistributionElement::Class() { return *((IfcParse::entity*)IFC4X3_types[322]); } @@ -10370,7 +10370,7 @@ const IfcParse::entity& Ifc4x3::IfcDistributionElementType::Class() { return *(( // Function implementations for IfcDistributionFlowElement -std::vector<::Ifc4x3::IfcRelFlowControlElements> Ifc4x3::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[938], 5)); } +std::vector<::Ifc4x3::IfcRelFlowControlElements> Ifc4x3::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[938], 5)); } // const IfcParse::entity& Ifc4x3::IfcDistributionFlowElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[324]); } const IfcParse::entity& Ifc4x3::IfcDistributionFlowElement::Class() { return *((IfcParse::entity*)IFC4X3_types[324]); } @@ -10447,10 +10447,10 @@ void Ifc4x3::IfcDocumentInformation::setConfidentiality(const std::optional< ::I std::optional< ::Ifc4x3::IfcDocumentStatusEnum::Value > Ifc4x3::IfcDocumentInformation::Status() const { if(get_attribute_value(16).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcDocumentStatusEnum::FromString(get_attribute_value(16)); } void Ifc4x3::IfcDocumentInformation::setStatus(const std::optional< ::Ifc4x3::IfcDocumentStatusEnum::Value >& v) { if (v) {set_attribute_value(16, EnumerationReference(&::Ifc4x3::IfcDocumentStatusEnum::Class(), (size_t) *v));} else {unset_attribute_value(16);} } -std::vector<::Ifc4x3::IfcRelAssociatesDocument> Ifc4x3::IfcDocumentInformation::DocumentInfoForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[913], 5)); } -std::vector<::Ifc4x3::IfcDocumentReference> Ifc4x3::IfcDocumentInformation::HasDocumentReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[333], 4)); } -std::vector<::Ifc4x3::IfcDocumentInformationRelationship> Ifc4x3::IfcDocumentInformation::IsPointedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[332], 3)); } -std::vector<::Ifc4x3::IfcDocumentInformationRelationship> Ifc4x3::IfcDocumentInformation::IsPointer() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[332], 2)); } +std::vector<::Ifc4x3::IfcRelAssociatesDocument> Ifc4x3::IfcDocumentInformation::DocumentInfoForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[913], 5)); } +std::vector<::Ifc4x3::IfcDocumentReference> Ifc4x3::IfcDocumentInformation::HasDocumentReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[333], 4)); } +std::vector<::Ifc4x3::IfcDocumentInformationRelationship> Ifc4x3::IfcDocumentInformation::IsPointedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[332], 3)); } +std::vector<::Ifc4x3::IfcDocumentInformationRelationship> Ifc4x3::IfcDocumentInformation::IsPointer() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[332], 2)); } // const IfcParse::entity& Ifc4x3::IfcDocumentInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_types[331]); } const IfcParse::entity& Ifc4x3::IfcDocumentInformation::Class() { return *((IfcParse::entity*)IFC4X3_types[331]); } @@ -10477,7 +10477,7 @@ void Ifc4x3::IfcDocumentReference::setDescription(const std::optional< std::stri ::Ifc4x3::IfcDocumentInformation Ifc4x3::IfcDocumentReference::ReferencedDocument() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3::IfcDocumentInformation{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3::IfcDocumentInformation>(); } void Ifc4x3::IfcDocumentReference::setReferencedDocument(const ::Ifc4x3::IfcDocumentInformation& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector<::Ifc4x3::IfcRelAssociatesDocument> Ifc4x3::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[913], 5)); } +std::vector<::Ifc4x3::IfcRelAssociatesDocument> Ifc4x3::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[913], 5)); } // const IfcParse::entity& Ifc4x3::IfcDocumentReference::declaration() const { return *((IfcParse::entity*)IFC4X3_types[333]); } const IfcParse::entity& Ifc4x3::IfcDocumentReference::Class() { return *((IfcParse::entity*)IFC4X3_types[333]); } @@ -10852,18 +10852,18 @@ const IfcParse::entity& Ifc4x3::IfcElectricTimeControlType::Class() { return *(( std::optional< std::string > Ifc4x3::IfcElement::Tag() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc4x3::IfcElement::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -std::vector<::Ifc4x3::IfcRelFillsElement> Ifc4x3::IfcElement::FillsVoids() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[937], 5)); } -std::vector<::Ifc4x3::IfcRelConnectsElements> Ifc4x3::IfcElement::ConnectedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[919], 5)); } -std::vector<::Ifc4x3::IfcRelInterferesElements> Ifc4x3::IfcElement::IsInterferedByElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[939], 5)); } -std::vector<::Ifc4x3::IfcRelInterferesElements> Ifc4x3::IfcElement::InterferesElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[939], 4)); } -std::vector<::Ifc4x3::IfcRelProjectsElement> Ifc4x3::IfcElement::HasProjections() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[942], 4)); } -std::vector<::Ifc4x3::IfcRelVoidsElement> Ifc4x3::IfcElement::HasOpenings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[949], 4)); } -std::vector<::Ifc4x3::IfcRelConnectsWithRealizingElements> Ifc4x3::IfcElement::IsConnectionRealization() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[926], 7)); } -std::vector<::Ifc4x3::IfcRelSpaceBoundary> Ifc4x3::IfcElement::ProvidesBoundaries() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[946], 5)); } -std::vector<::Ifc4x3::IfcRelConnectsElements> Ifc4x3::IfcElement::ConnectedFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[919], 6)); } -std::vector<::Ifc4x3::IfcRelContainedInSpatialStructure> Ifc4x3::IfcElement::ContainedInStructure() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[927], 4)); } -std::vector<::Ifc4x3::IfcRelCoversBldgElements> Ifc4x3::IfcElement::HasCoverings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[928], 4)); } -std::vector<::Ifc4x3::IfcRelAdheresToElement> Ifc4x3::IfcElement::HasSurfaceFeatures() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[899], 4)); } +std::vector<::Ifc4x3::IfcRelFillsElement> Ifc4x3::IfcElement::FillsVoids() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[937], 5)); } +std::vector<::Ifc4x3::IfcRelConnectsElements> Ifc4x3::IfcElement::ConnectedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[919], 5)); } +std::vector<::Ifc4x3::IfcRelInterferesElements> Ifc4x3::IfcElement::IsInterferedByElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[939], 5)); } +std::vector<::Ifc4x3::IfcRelInterferesElements> Ifc4x3::IfcElement::InterferesElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[939], 4)); } +std::vector<::Ifc4x3::IfcRelProjectsElement> Ifc4x3::IfcElement::HasProjections() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[942], 4)); } +std::vector<::Ifc4x3::IfcRelVoidsElement> Ifc4x3::IfcElement::HasOpenings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[949], 4)); } +std::vector<::Ifc4x3::IfcRelConnectsWithRealizingElements> Ifc4x3::IfcElement::IsConnectionRealization() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[926], 7)); } +std::vector<::Ifc4x3::IfcRelSpaceBoundary> Ifc4x3::IfcElement::ProvidesBoundaries() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[946], 5)); } +std::vector<::Ifc4x3::IfcRelConnectsElements> Ifc4x3::IfcElement::ConnectedFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[919], 6)); } +std::vector<::Ifc4x3::IfcRelContainedInSpatialStructure> Ifc4x3::IfcElement::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[927], 4)); } +std::vector<::Ifc4x3::IfcRelCoversBldgElements> Ifc4x3::IfcElement::HasCoverings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[928], 4)); } +std::vector<::Ifc4x3::IfcRelAdheresToElement> Ifc4x3::IfcElement::HasSurfaceFeatures() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[899], 4)); } // const IfcParse::entity& Ifc4x3::IfcElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[395]); } const IfcParse::entity& Ifc4x3::IfcElement::Class() { return *((IfcParse::entity*)IFC4X3_types[395]); } @@ -11116,7 +11116,7 @@ void Ifc4x3::IfcExternalReference::setIdentification(const std::optional< std::s std::optional< std::string > Ifc4x3::IfcExternalReference::Name() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3::IfcExternalReference::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[430], 2)); } +std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[430], 2)); } // const IfcParse::entity& Ifc4x3::IfcExternalReference::declaration() const { return *((IfcParse::entity*)IFC4X3_types[429]); } const IfcParse::entity& Ifc4x3::IfcExternalReference::Class() { return *((IfcParse::entity*)IFC4X3_types[429]); } @@ -11139,7 +11139,7 @@ const IfcParse::entity& Ifc4x3::IfcExternalReferenceRelationship::Class() { retu std::optional< ::Ifc4x3::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3::IfcExternalSpatialElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcExternalSpatialElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcExternalSpatialElement::setPredefinedType(const std::optional< ::Ifc4x3::IfcExternalSpatialElementTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcExternalSpatialElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3::IfcRelSpaceBoundary> Ifc4x3::IfcExternalSpatialElement::BoundedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[946], 4)); } +std::vector<::Ifc4x3::IfcRelSpaceBoundary> Ifc4x3::IfcExternalSpatialElement::BoundedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[946], 4)); } // const IfcParse::entity& Ifc4x3::IfcExternalSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[431]); } const IfcParse::entity& Ifc4x3::IfcExternalSpatialElement::Class() { return *((IfcParse::entity*)IFC4X3_types[431]); } @@ -11204,7 +11204,7 @@ const IfcParse::entity& Ifc4x3::IfcExtrudedAreaSolidTapered::Class() { return *( std::vector< ::Ifc4x3::IfcFaceBound > Ifc4x3::IfcFace::Bounds() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3::IfcFaceBound>(es); } void Ifc4x3::IfcFace::setBounds(const std::vector< ::Ifc4x3::IfcFaceBound >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -std::vector<::Ifc4x3::IfcTextureMap> Ifc4x3::IfcFace::HasTextureMaps() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[1195], 2)); } +std::vector<::Ifc4x3::IfcTextureMap> Ifc4x3::IfcFace::HasTextureMaps() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[1195], 2)); } // const IfcParse::entity& Ifc4x3::IfcFace::declaration() const { return *((IfcParse::entity*)IFC4X3_types[436]); } const IfcParse::entity& Ifc4x3::IfcFace::Class() { return *((IfcParse::entity*)IFC4X3_types[436]); } @@ -11369,7 +11369,7 @@ const IfcParse::entity& Ifc4x3::IfcFeatureElement::Class() { return *((IfcParse: // Function implementations for IfcFeatureElementAddition -std::vector<::Ifc4x3::IfcRelProjectsElement> Ifc4x3::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[942], 5)); } +std::vector<::Ifc4x3::IfcRelProjectsElement> Ifc4x3::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[942], 5)); } // const IfcParse::entity& Ifc4x3::IfcFeatureElementAddition::declaration() const { return *((IfcParse::entity*)IFC4X3_types[456]); } const IfcParse::entity& Ifc4x3::IfcFeatureElementAddition::Class() { return *((IfcParse::entity*)IFC4X3_types[456]); } @@ -11378,7 +11378,7 @@ const IfcParse::entity& Ifc4x3::IfcFeatureElementAddition::Class() { return *((I // Function implementations for IfcFeatureElementSubtraction -std::vector<::Ifc4x3::IfcRelVoidsElement> Ifc4x3::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[949], 5)); } +std::vector<::Ifc4x3::IfcRelVoidsElement> Ifc4x3::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[949], 5)); } // const IfcParse::entity& Ifc4x3::IfcFeatureElementSubtraction::declaration() const { return *((IfcParse::entity*)IFC4X3_types[457]); } const IfcParse::entity& Ifc4x3::IfcFeatureElementSubtraction::Class() { return *((IfcParse::entity*)IFC4X3_types[457]); } @@ -11727,8 +11727,8 @@ void Ifc4x3::IfcGeometricRepresentationContext::setWorldCoordinateSystem(const : ::Ifc4x3::IfcDirection Ifc4x3::IfcGeometricRepresentationContext::TrueNorth() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3::IfcDirection{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3::IfcDirection>(); } void Ifc4x3::IfcGeometricRepresentationContext::setTrueNorth(const ::Ifc4x3::IfcDirection& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -std::vector<::Ifc4x3::IfcGeometricRepresentationSubContext> Ifc4x3::IfcGeometricRepresentationContext::HasSubContexts() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[510], 6)); } -std::vector<::Ifc4x3::IfcCoordinateOperation> Ifc4x3::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[244], 0)); } +std::vector<::Ifc4x3::IfcGeometricRepresentationSubContext> Ifc4x3::IfcGeometricRepresentationContext::HasSubContexts() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[510], 6)); } +std::vector<::Ifc4x3::IfcCoordinateOperation> Ifc4x3::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[244], 0)); } // const IfcParse::entity& Ifc4x3::IfcGeometricRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X3_types[508]); } const IfcParse::entity& Ifc4x3::IfcGeometricRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X3_types[508]); } @@ -11847,10 +11847,10 @@ void Ifc4x3::IfcGridAxis::setAxisCurve(const ::Ifc4x3::IfcCurve& v) { set_attrib bool Ifc4x3::IfcGridAxis::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x3::IfcGridAxis::setSameSense(const bool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector<::Ifc4x3::IfcGrid> Ifc4x3::IfcGridAxis::PartOfW() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[522], 9)); } -std::vector<::Ifc4x3::IfcGrid> Ifc4x3::IfcGridAxis::PartOfV() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[522], 8)); } -std::vector<::Ifc4x3::IfcGrid> Ifc4x3::IfcGridAxis::PartOfU() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[522], 7)); } -std::vector<::Ifc4x3::IfcVirtualGridIntersection> Ifc4x3::IfcGridAxis::HasIntersections() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[1276], 0)); } +std::vector<::Ifc4x3::IfcGrid> Ifc4x3::IfcGridAxis::PartOfW() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[522], 9)); } +std::vector<::Ifc4x3::IfcGrid> Ifc4x3::IfcGridAxis::PartOfV() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[522], 8)); } +std::vector<::Ifc4x3::IfcGrid> Ifc4x3::IfcGridAxis::PartOfU() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[522], 7)); } +std::vector<::Ifc4x3::IfcVirtualGridIntersection> Ifc4x3::IfcGridAxis::HasIntersections() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[1276], 0)); } // const IfcParse::entity& Ifc4x3::IfcGridAxis::declaration() const { return *((IfcParse::entity*)IFC4X3_types[523]); } const IfcParse::entity& Ifc4x3::IfcGridAxis::Class() { return *((IfcParse::entity*)IFC4X3_types[523]); } @@ -11871,8 +11871,8 @@ const IfcParse::entity& Ifc4x3::IfcGridPlacement::Class() { return *((IfcParse:: // Function implementations for IfcGroup -std::vector<::Ifc4x3::IfcRelAssignsToGroup> Ifc4x3::IfcGroup::IsGroupedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[904], 6)); } -std::vector<::Ifc4x3::IfcRelReferencedInSpatialStructure> Ifc4x3::IfcGroup::ReferencedInStructures() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[943], 4)); } +std::vector<::Ifc4x3::IfcRelAssignsToGroup> Ifc4x3::IfcGroup::IsGroupedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[904], 6)); } +std::vector<::Ifc4x3::IfcRelReferencedInSpatialStructure> Ifc4x3::IfcGroup::ReferencedInStructures() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[943], 4)); } // const IfcParse::entity& Ifc4x3::IfcGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_types[527]); } const IfcParse::entity& Ifc4x3::IfcGroup::Class() { return *((IfcParse::entity*)IFC4X3_types[527]); } @@ -12017,8 +12017,8 @@ const IfcParse::entity& Ifc4x3::IfcIndexedPolyCurve::Class() { return *((IfcPars std::vector< int > /*[3:?]*/ Ifc4x3::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } void Ifc4x3::IfcIndexedPolygonalFace::setCoordIndex(const std::vector< int > /*[3:?]*/& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector<::Ifc4x3::IfcPolygonalFaceSet> Ifc4x3::IfcIndexedPolygonalFace::ToFaceSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[771], 2)); } -std::vector<::Ifc4x3::IfcTextureCoordinateIndices> Ifc4x3::IfcIndexedPolygonalFace::HasTexCoords() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[1193], 1)); } +std::vector<::Ifc4x3::IfcPolygonalFaceSet> Ifc4x3::IfcIndexedPolygonalFace::ToFaceSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[771], 2)); } +std::vector<::Ifc4x3::IfcTextureCoordinateIndices> Ifc4x3::IfcIndexedPolygonalFace::HasTexCoords() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[1193], 1)); } // const IfcParse::entity& Ifc4x3::IfcIndexedPolygonalFace::declaration() const { return *((IfcParse::entity*)IFC4X3_types[546]); } const IfcParse::entity& Ifc4x3::IfcIndexedPolygonalFace::Class() { return *((IfcParse::entity*)IFC4X3_types[546]); } @@ -12263,8 +12263,8 @@ void Ifc4x3::IfcLibraryInformation::setLocation(const std::optional< std::string std::optional< std::string > Ifc4x3::IfcLibraryInformation::Description() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcLibraryInformation::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3::IfcRelAssociatesLibrary> Ifc4x3::IfcLibraryInformation::LibraryInfoForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[914], 5)); } -std::vector<::Ifc4x3::IfcLibraryReference> Ifc4x3::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[587], 5)); } +std::vector<::Ifc4x3::IfcRelAssociatesLibrary> Ifc4x3::IfcLibraryInformation::LibraryInfoForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[914], 5)); } +std::vector<::Ifc4x3::IfcLibraryReference> Ifc4x3::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[587], 5)); } // const IfcParse::entity& Ifc4x3::IfcLibraryInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_types[586]); } const IfcParse::entity& Ifc4x3::IfcLibraryInformation::Class() { return *((IfcParse::entity*)IFC4X3_types[586]); } @@ -12279,7 +12279,7 @@ void Ifc4x3::IfcLibraryReference::setLanguage(const std::optional< std::string > ::Ifc4x3::IfcLibraryInformation Ifc4x3::IfcLibraryReference::ReferencedLibrary() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3::IfcLibraryInformation{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3::IfcLibraryInformation>(); } void Ifc4x3::IfcLibraryReference::setReferencedLibrary(const ::Ifc4x3::IfcLibraryInformation& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -std::vector<::Ifc4x3::IfcRelAssociatesLibrary> Ifc4x3::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[914], 5)); } +std::vector<::Ifc4x3::IfcRelAssociatesLibrary> Ifc4x3::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[914], 5)); } // const IfcParse::entity& Ifc4x3::IfcLibraryReference::declaration() const { return *((IfcParse::entity*)IFC4X3_types[587]); } const IfcParse::entity& Ifc4x3::IfcLibraryReference::Class() { return *((IfcParse::entity*)IFC4X3_types[587]); } @@ -12572,9 +12572,9 @@ void Ifc4x3::IfcMaterial::setDescription(const std::optional< std::string >& v) std::optional< std::string > Ifc4x3::IfcMaterial::Category() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3::IfcMaterial::setCategory(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x3::IfcMaterialDefinitionRepresentation> Ifc4x3::IfcMaterial::HasRepresentation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[642], 3)); } -std::vector<::Ifc4x3::IfcMaterialRelationship> Ifc4x3::IfcMaterial::IsRelatedWith() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[654], 3)); } -std::vector<::Ifc4x3::IfcMaterialRelationship> Ifc4x3::IfcMaterial::RelatesTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[654], 2)); } +std::vector<::Ifc4x3::IfcMaterialDefinitionRepresentation> Ifc4x3::IfcMaterial::HasRepresentation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[642], 3)); } +std::vector<::Ifc4x3::IfcMaterialRelationship> Ifc4x3::IfcMaterial::IsRelatedWith() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[654], 3)); } +std::vector<::Ifc4x3::IfcMaterialRelationship> Ifc4x3::IfcMaterial::RelatesTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[654], 2)); } // const IfcParse::entity& Ifc4x3::IfcMaterial::declaration() const { return *((IfcParse::entity*)IFC4X3_types[637]); } const IfcParse::entity& Ifc4x3::IfcMaterial::Class() { return *((IfcParse::entity*)IFC4X3_types[637]); } @@ -12605,7 +12605,7 @@ void Ifc4x3::IfcMaterialConstituent::setFraction(const std::optional< double >& std::optional< std::string > Ifc4x3::IfcMaterialConstituent::Category() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcMaterialConstituent::setCategory(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector<::Ifc4x3::IfcMaterialConstituentSet> Ifc4x3::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[640], 2)); } +std::vector<::Ifc4x3::IfcMaterialConstituentSet> Ifc4x3::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[640], 2)); } // const IfcParse::entity& Ifc4x3::IfcMaterialConstituent::declaration() const { return *((IfcParse::entity*)IFC4X3_types[639]); } const IfcParse::entity& Ifc4x3::IfcMaterialConstituent::Class() { return *((IfcParse::entity*)IFC4X3_types[639]); } @@ -12628,9 +12628,9 @@ const IfcParse::entity& Ifc4x3::IfcMaterialConstituentSet::Class() { return *((I // Function implementations for IfcMaterialDefinition -std::vector<::Ifc4x3::IfcRelAssociatesMaterial> Ifc4x3::IfcMaterialDefinition::AssociatedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[915], 5)); } -std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcMaterialDefinition::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[430], 3)); } -std::vector<::Ifc4x3::IfcMaterialProperties> Ifc4x3::IfcMaterialDefinition::HasProperties() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[653], 3)); } +std::vector<::Ifc4x3::IfcRelAssociatesMaterial> Ifc4x3::IfcMaterialDefinition::AssociatedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[915], 5)); } +std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcMaterialDefinition::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[430], 3)); } +std::vector<::Ifc4x3::IfcMaterialProperties> Ifc4x3::IfcMaterialDefinition::HasProperties() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[653], 3)); } // const IfcParse::entity& Ifc4x3::IfcMaterialDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_types[641]); } const IfcParse::entity& Ifc4x3::IfcMaterialDefinition::Class() { return *((IfcParse::entity*)IFC4X3_types[641]); } @@ -12663,7 +12663,7 @@ void Ifc4x3::IfcMaterialLayer::setCategory(const std::optional< std::string >& v std::optional< int > Ifc4x3::IfcMaterialLayer::Priority() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } int v = get_attribute_value(6); return v; } void Ifc4x3::IfcMaterialLayer::setPriority(const std::optional< int >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x3::IfcMaterialLayerSet> Ifc4x3::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[644], 0)); } +std::vector<::Ifc4x3::IfcMaterialLayerSet> Ifc4x3::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[644], 0)); } // const IfcParse::entity& Ifc4x3::IfcMaterialLayer::declaration() const { return *((IfcParse::entity*)IFC4X3_types[643]); } const IfcParse::entity& Ifc4x3::IfcMaterialLayer::Class() { return *((IfcParse::entity*)IFC4X3_types[643]); } @@ -12738,7 +12738,7 @@ void Ifc4x3::IfcMaterialProfile::setPriority(const std::optional< int >& v) { if std::optional< std::string > Ifc4x3::IfcMaterialProfile::Category() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcMaterialProfile::setCategory(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3::IfcMaterialProfileSet> Ifc4x3::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[649], 2)); } +std::vector<::Ifc4x3::IfcMaterialProfileSet> Ifc4x3::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[649], 2)); } // const IfcParse::entity& Ifc4x3::IfcMaterialProfile::declaration() const { return *((IfcParse::entity*)IFC4X3_types[648]); } const IfcParse::entity& Ifc4x3::IfcMaterialProfile::Class() { return *((IfcParse::entity*)IFC4X3_types[648]); } @@ -12823,7 +12823,7 @@ const IfcParse::entity& Ifc4x3::IfcMaterialRelationship::Class() { return *((Ifc // Function implementations for IfcMaterialUsageDefinition -std::vector<::Ifc4x3::IfcRelAssociatesMaterial> Ifc4x3::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[915], 5)); } +std::vector<::Ifc4x3::IfcRelAssociatesMaterial> Ifc4x3::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[915], 5)); } // const IfcParse::entity& Ifc4x3::IfcMaterialUsageDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_types[656]); } const IfcParse::entity& Ifc4x3::IfcMaterialUsageDefinition::Class() { return *((IfcParse::entity*)IFC4X3_types[656]); } @@ -13040,10 +13040,10 @@ const IfcParse::entity& Ifc4x3::IfcNavigationElementType::Class() { return *((If std::optional< std::string > Ifc4x3::IfcObject::ObjectType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcObject::setObjectType(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector<::Ifc4x3::IfcRelDefinesByObject> Ifc4x3::IfcObject::IsDeclaredBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[933], 4)); } -std::vector<::Ifc4x3::IfcRelDefinesByObject> Ifc4x3::IfcObject::Declares() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[933], 5)); } -std::vector<::Ifc4x3::IfcRelDefinesByType> Ifc4x3::IfcObject::IsTypedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[936], 4)); } -std::vector<::Ifc4x3::IfcRelDefinesByProperties> Ifc4x3::IfcObject::IsDefinedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[934], 4)); } +std::vector<::Ifc4x3::IfcRelDefinesByObject> Ifc4x3::IfcObject::IsDeclaredBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[933], 4)); } +std::vector<::Ifc4x3::IfcRelDefinesByObject> Ifc4x3::IfcObject::Declares() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[933], 5)); } +std::vector<::Ifc4x3::IfcRelDefinesByType> Ifc4x3::IfcObject::IsTypedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[936], 4)); } +std::vector<::Ifc4x3::IfcRelDefinesByProperties> Ifc4x3::IfcObject::IsDefinedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[934], 4)); } // const IfcParse::entity& Ifc4x3::IfcObject::declaration() const { return *((IfcParse::entity*)IFC4X3_types[700]); } const IfcParse::entity& Ifc4x3::IfcObject::Class() { return *((IfcParse::entity*)IFC4X3_types[700]); } @@ -13052,13 +13052,13 @@ const IfcParse::entity& Ifc4x3::IfcObject::Class() { return *((IfcParse::entity* // Function implementations for IfcObjectDefinition -std::vector<::Ifc4x3::IfcRelAssigns> Ifc4x3::IfcObjectDefinition::HasAssignments() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[901], 4)); } -std::vector<::Ifc4x3::IfcRelNests> Ifc4x3::IfcObjectDefinition::Nests() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[940], 5)); } -std::vector<::Ifc4x3::IfcRelNests> Ifc4x3::IfcObjectDefinition::IsNestedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[940], 4)); } -std::vector<::Ifc4x3::IfcRelDeclares> Ifc4x3::IfcObjectDefinition::HasContext() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[930], 5)); } -std::vector<::Ifc4x3::IfcRelAggregates> Ifc4x3::IfcObjectDefinition::IsDecomposedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[900], 4)); } -std::vector<::Ifc4x3::IfcRelAggregates> Ifc4x3::IfcObjectDefinition::Decomposes() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[900], 5)); } -std::vector<::Ifc4x3::IfcRelAssociates> Ifc4x3::IfcObjectDefinition::HasAssociations() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[909], 4)); } +std::vector<::Ifc4x3::IfcRelAssigns> Ifc4x3::IfcObjectDefinition::HasAssignments() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[901], 4)); } +std::vector<::Ifc4x3::IfcRelNests> Ifc4x3::IfcObjectDefinition::Nests() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[940], 5)); } +std::vector<::Ifc4x3::IfcRelNests> Ifc4x3::IfcObjectDefinition::IsNestedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[940], 4)); } +std::vector<::Ifc4x3::IfcRelDeclares> Ifc4x3::IfcObjectDefinition::HasContext() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[930], 5)); } +std::vector<::Ifc4x3::IfcRelAggregates> Ifc4x3::IfcObjectDefinition::IsDecomposedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[900], 4)); } +std::vector<::Ifc4x3::IfcRelAggregates> Ifc4x3::IfcObjectDefinition::Decomposes() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[900], 5)); } +std::vector<::Ifc4x3::IfcRelAssociates> Ifc4x3::IfcObjectDefinition::HasAssociations() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[909], 4)); } // const IfcParse::entity& Ifc4x3::IfcObjectDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_types[701]); } const IfcParse::entity& Ifc4x3::IfcObjectDefinition::Class() { return *((IfcParse::entity*)IFC4X3_types[701]); } @@ -13069,8 +13069,8 @@ const IfcParse::entity& Ifc4x3::IfcObjectDefinition::Class() { return *((IfcPars ::Ifc4x3::IfcObjectPlacement Ifc4x3::IfcObjectPlacement::PlacementRelTo() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcObjectPlacement>(); } void Ifc4x3::IfcObjectPlacement::setPlacementRelTo(const ::Ifc4x3::IfcObjectPlacement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector<::Ifc4x3::IfcProduct> Ifc4x3::IfcObjectPlacement::PlacesObject() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[801], 5)); } -std::vector<::Ifc4x3::IfcObjectPlacement> Ifc4x3::IfcObjectPlacement::ReferencedByPlacements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[704], 0)); } +std::vector<::Ifc4x3::IfcProduct> Ifc4x3::IfcObjectPlacement::PlacesObject() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[801], 5)); } +std::vector<::Ifc4x3::IfcObjectPlacement> Ifc4x3::IfcObjectPlacement::ReferencedByPlacements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[704], 0)); } // const IfcParse::entity& Ifc4x3::IfcObjectPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[704]); } const IfcParse::entity& Ifc4x3::IfcObjectPlacement::Class() { return *((IfcParse::entity*)IFC4X3_types[704]); } @@ -13181,7 +13181,7 @@ const IfcParse::entity& Ifc4x3::IfcOpenShell::Class() { return *((IfcParse::enti std::optional< ::Ifc4x3::IfcOpeningElementTypeEnum::Value > Ifc4x3::IfcOpeningElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcOpeningElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcOpeningElement::setPredefinedType(const std::optional< ::Ifc4x3::IfcOpeningElementTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcOpeningElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3::IfcRelFillsElement> Ifc4x3::IfcOpeningElement::HasFillings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[937], 4)); } +std::vector<::Ifc4x3::IfcRelFillsElement> Ifc4x3::IfcOpeningElement::HasFillings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[937], 4)); } // const IfcParse::entity& Ifc4x3::IfcOpeningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[714]); } const IfcParse::entity& Ifc4x3::IfcOpeningElement::Class() { return *((IfcParse::entity*)IFC4X3_types[714]); } @@ -13200,9 +13200,9 @@ void Ifc4x3::IfcOrganization::setRoles(const std::optional< std::vector< ::Ifc4x std::optional< std::vector< ::Ifc4x3::IfcAddress > > Ifc4x3::IfcOrganization::Addresses() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3::IfcAddress>(es); } void Ifc4x3::IfcOrganization::setAddresses(const std::optional< std::vector< ::Ifc4x3::IfcAddress > >& v) { if (v) {set_attribute_value(4, cast_vector(*v));} else {unset_attribute_value(4);} } -std::vector<::Ifc4x3::IfcOrganizationRelationship> Ifc4x3::IfcOrganization::IsRelatedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[718], 3)); } -std::vector<::Ifc4x3::IfcOrganizationRelationship> Ifc4x3::IfcOrganization::Relates() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[718], 2)); } -std::vector<::Ifc4x3::IfcPersonAndOrganization> Ifc4x3::IfcOrganization::Engages() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[739], 1)); } +std::vector<::Ifc4x3::IfcOrganizationRelationship> Ifc4x3::IfcOrganization::IsRelatedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[718], 3)); } +std::vector<::Ifc4x3::IfcOrganizationRelationship> Ifc4x3::IfcOrganization::Relates() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[718], 2)); } +std::vector<::Ifc4x3::IfcPersonAndOrganization> Ifc4x3::IfcOrganization::Engages() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[739], 1)); } // const IfcParse::entity& Ifc4x3::IfcOrganization::declaration() const { return *((IfcParse::entity*)IFC4X3_types[717]); } const IfcParse::entity& Ifc4x3::IfcOrganization::Class() { return *((IfcParse::entity*)IFC4X3_types[717]); } @@ -13399,7 +13399,7 @@ void Ifc4x3::IfcPerson::setRoles(const std::optional< std::vector< ::Ifc4x3::Ifc std::optional< std::vector< ::Ifc4x3::IfcAddress > > Ifc4x3::IfcPerson::Addresses() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3::IfcAddress>(es); } void Ifc4x3::IfcPerson::setAddresses(const std::optional< std::vector< ::Ifc4x3::IfcAddress > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } -std::vector<::Ifc4x3::IfcPersonAndOrganization> Ifc4x3::IfcPerson::EngagedIn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[739], 0)); } +std::vector<::Ifc4x3::IfcPersonAndOrganization> Ifc4x3::IfcPerson::EngagedIn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[739], 0)); } // const IfcParse::entity& Ifc4x3::IfcPerson::declaration() const { return *((IfcParse::entity*)IFC4X3_types[738]); } const IfcParse::entity& Ifc4x3::IfcPerson::Class() { return *((IfcParse::entity*)IFC4X3_types[738]); } @@ -13442,8 +13442,8 @@ void Ifc4x3::IfcPhysicalQuantity::setName(const std::string& v) { set_attribute_ std::optional< std::string > Ifc4x3::IfcPhysicalQuantity::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcPhysicalQuantity::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcPhysicalQuantity::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[430], 3)); } -std::vector<::Ifc4x3::IfcPhysicalComplexQuantity> Ifc4x3::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[741], 2)); } +std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcPhysicalQuantity::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[430], 3)); } +std::vector<::Ifc4x3::IfcPhysicalComplexQuantity> Ifc4x3::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[741], 2)); } // const IfcParse::entity& Ifc4x3::IfcPhysicalQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_types[743]); } const IfcParse::entity& Ifc4x3::IfcPhysicalQuantity::Class() { return *((IfcParse::entity*)IFC4X3_types[743]); } @@ -13712,9 +13712,9 @@ const IfcParse::entity& Ifc4x3::IfcPolynomialCurve::Class() { return *((IfcParse // Function implementations for IfcPort -std::vector<::Ifc4x3::IfcRelConnectsPortToElement> Ifc4x3::IfcPort::ContainedIn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[922], 4)); } -std::vector<::Ifc4x3::IfcRelConnectsPorts> Ifc4x3::IfcPort::ConnectedFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[921], 5)); } -std::vector<::Ifc4x3::IfcRelConnectsPorts> Ifc4x3::IfcPort::ConnectedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[921], 4)); } +std::vector<::Ifc4x3::IfcRelConnectsPortToElement> Ifc4x3::IfcPort::ContainedIn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[922], 4)); } +std::vector<::Ifc4x3::IfcRelConnectsPorts> Ifc4x3::IfcPort::ConnectedFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[921], 5)); } +std::vector<::Ifc4x3::IfcRelConnectsPorts> Ifc4x3::IfcPort::ConnectedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[921], 4)); } // const IfcParse::entity& Ifc4x3::IfcPort::declaration() const { return *((IfcParse::entity*)IFC4X3_types[775]); } const IfcParse::entity& Ifc4x3::IfcPort::Class() { return *((IfcParse::entity*)IFC4X3_types[775]); } @@ -13723,8 +13723,8 @@ const IfcParse::entity& Ifc4x3::IfcPort::Class() { return *((IfcParse::entity*)I // Function implementations for IfcPositioningElement -std::vector<::Ifc4x3::IfcRelContainedInSpatialStructure> Ifc4x3::IfcPositioningElement::ContainedInStructure() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[927], 4)); } -std::vector<::Ifc4x3::IfcRelPositions> Ifc4x3::IfcPositioningElement::Positions() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[941], 4)); } +std::vector<::Ifc4x3::IfcRelContainedInSpatialStructure> Ifc4x3::IfcPositioningElement::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[927], 4)); } +std::vector<::Ifc4x3::IfcRelPositions> Ifc4x3::IfcPositioningElement::Positions() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[941], 4)); } // const IfcParse::entity& Ifc4x3::IfcPositioningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[776]); } const IfcParse::entity& Ifc4x3::IfcPositioningElement::Class() { return *((IfcParse::entity*)IFC4X3_types[776]); } @@ -13879,9 +13879,9 @@ void Ifc4x3::IfcProcess::setIdentification(const std::optional< std::string >& v std::optional< std::string > Ifc4x3::IfcProcess::LongDescription() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3::IfcProcess::setLongDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x3::IfcRelSequence> Ifc4x3::IfcProcess::IsPredecessorTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[944], 4)); } -std::vector<::Ifc4x3::IfcRelSequence> Ifc4x3::IfcProcess::IsSuccessorFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[944], 5)); } -std::vector<::Ifc4x3::IfcRelAssignsToProcess> Ifc4x3::IfcProcess::OperatesOn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[906], 6)); } +std::vector<::Ifc4x3::IfcRelSequence> Ifc4x3::IfcProcess::IsPredecessorTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[944], 4)); } +std::vector<::Ifc4x3::IfcRelSequence> Ifc4x3::IfcProcess::IsSuccessorFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[944], 5)); } +std::vector<::Ifc4x3::IfcRelAssignsToProcess> Ifc4x3::IfcProcess::OperatesOn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[906], 6)); } // const IfcParse::entity& Ifc4x3::IfcProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_types[799]); } const IfcParse::entity& Ifc4x3::IfcProcess::Class() { return *((IfcParse::entity*)IFC4X3_types[799]); } @@ -13894,9 +13894,9 @@ void Ifc4x3::IfcProduct::setObjectPlacement(const ::Ifc4x3::IfcObjectPlacement& ::Ifc4x3::IfcProductRepresentation Ifc4x3::IfcProduct::Representation() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3::IfcProductRepresentation{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3::IfcProductRepresentation>(); } void Ifc4x3::IfcProduct::setRepresentation(const ::Ifc4x3::IfcProductRepresentation& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::vector<::Ifc4x3::IfcRelAssignsToProduct> Ifc4x3::IfcProduct::ReferencedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[907], 6)); } -std::vector<::Ifc4x3::IfcRelPositions> Ifc4x3::IfcProduct::PositionedRelativeTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[941], 5)); } -std::vector<::Ifc4x3::IfcRelReferencedInSpatialStructure> Ifc4x3::IfcProduct::ReferencedInStructures() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[943], 4)); } +std::vector<::Ifc4x3::IfcRelAssignsToProduct> Ifc4x3::IfcProduct::ReferencedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[907], 6)); } +std::vector<::Ifc4x3::IfcRelPositions> Ifc4x3::IfcProduct::PositionedRelativeTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[941], 5)); } +std::vector<::Ifc4x3::IfcRelReferencedInSpatialStructure> Ifc4x3::IfcProduct::ReferencedInStructures() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[943], 4)); } // const IfcParse::entity& Ifc4x3::IfcProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_types[801]); } const IfcParse::entity& Ifc4x3::IfcProduct::Class() { return *((IfcParse::entity*)IFC4X3_types[801]); } @@ -13905,8 +13905,8 @@ const IfcParse::entity& Ifc4x3::IfcProduct::Class() { return *((IfcParse::entity // Function implementations for IfcProductDefinitionShape -std::vector<::Ifc4x3::IfcProduct> Ifc4x3::IfcProductDefinitionShape::ShapeOfProduct() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[801], 6)); } -std::vector<::Ifc4x3::IfcShapeAspect> Ifc4x3::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[1006], 4)); } +std::vector<::Ifc4x3::IfcProduct> Ifc4x3::IfcProductDefinitionShape::ShapeOfProduct() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[801], 6)); } +std::vector<::Ifc4x3::IfcShapeAspect> Ifc4x3::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[1006], 4)); } // const IfcParse::entity& Ifc4x3::IfcProductDefinitionShape::declaration() const { return *((IfcParse::entity*)IFC4X3_types[802]); } const IfcParse::entity& Ifc4x3::IfcProductDefinitionShape::Class() { return *((IfcParse::entity*)IFC4X3_types[802]); } @@ -13933,8 +13933,8 @@ void Ifc4x3::IfcProfileDef::setProfileType(const ::Ifc4x3::IfcProfileTypeEnum::V std::optional< std::string > Ifc4x3::IfcProfileDef::ProfileName() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcProfileDef::setProfileName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcProfileDef::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[430], 3)); } -std::vector<::Ifc4x3::IfcProfileProperties> Ifc4x3::IfcProfileDef::HasProperties() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[807], 3)); } +std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcProfileDef::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[430], 3)); } +std::vector<::Ifc4x3::IfcProfileProperties> Ifc4x3::IfcProfileDef::HasProperties() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[807], 3)); } // const IfcParse::entity& Ifc4x3::IfcProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_types[806]); } const IfcParse::entity& Ifc4x3::IfcProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_types[806]); } @@ -14011,12 +14011,12 @@ void Ifc4x3::IfcProperty::setName(const std::string& v) { set_attribute_value(0, std::optional< std::string > Ifc4x3::IfcProperty::Specification() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcProperty::setSpecification(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x3::IfcPropertySet> Ifc4x3::IfcProperty::PartOfPset() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[826], 4)); } -std::vector<::Ifc4x3::IfcPropertyDependencyRelationship> Ifc4x3::IfcProperty::PropertyForDependance() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[821], 2)); } -std::vector<::Ifc4x3::IfcPropertyDependencyRelationship> Ifc4x3::IfcProperty::PropertyDependsOn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[821], 3)); } -std::vector<::Ifc4x3::IfcComplexProperty> Ifc4x3::IfcProperty::PartOfComplex() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[190], 3)); } -std::vector<::Ifc4x3::IfcResourceConstraintRelationship> Ifc4x3::IfcProperty::HasConstraints() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[957], 3)); } -std::vector<::Ifc4x3::IfcResourceApprovalRelationship> Ifc4x3::IfcProperty::HasApprovals() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[956], 2)); } +std::vector<::Ifc4x3::IfcPropertySet> Ifc4x3::IfcProperty::PartOfPset() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[826], 4)); } +std::vector<::Ifc4x3::IfcPropertyDependencyRelationship> Ifc4x3::IfcProperty::PropertyForDependance() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[821], 2)); } +std::vector<::Ifc4x3::IfcPropertyDependencyRelationship> Ifc4x3::IfcProperty::PropertyDependsOn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[821], 3)); } +std::vector<::Ifc4x3::IfcComplexProperty> Ifc4x3::IfcProperty::PartOfComplex() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[190], 3)); } +std::vector<::Ifc4x3::IfcResourceConstraintRelationship> Ifc4x3::IfcProperty::HasConstraints() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[957], 3)); } +std::vector<::Ifc4x3::IfcResourceApprovalRelationship> Ifc4x3::IfcProperty::HasApprovals() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[956], 2)); } // const IfcParse::entity& Ifc4x3::IfcProperty::declaration() const { return *((IfcParse::entity*)IFC4X3_types[817]); } const IfcParse::entity& Ifc4x3::IfcProperty::Class() { return *((IfcParse::entity*)IFC4X3_types[817]); } @@ -14025,7 +14025,7 @@ const IfcParse::entity& Ifc4x3::IfcProperty::Class() { return *((IfcParse::entit // Function implementations for IfcPropertyAbstraction -std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[430], 3)); } +std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[430], 3)); } // const IfcParse::entity& Ifc4x3::IfcPropertyAbstraction::declaration() const { return *((IfcParse::entity*)IFC4X3_types[818]); } const IfcParse::entity& Ifc4x3::IfcPropertyAbstraction::Class() { return *((IfcParse::entity*)IFC4X3_types[818]); } @@ -14050,8 +14050,8 @@ const IfcParse::entity& Ifc4x3::IfcPropertyBoundedValue::Class() { return *((Ifc // Function implementations for IfcPropertyDefinition -std::vector<::Ifc4x3::IfcRelDeclares> Ifc4x3::IfcPropertyDefinition::HasContext() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[930], 5)); } -std::vector<::Ifc4x3::IfcRelAssociates> Ifc4x3::IfcPropertyDefinition::HasAssociations() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[909], 4)); } +std::vector<::Ifc4x3::IfcRelDeclares> Ifc4x3::IfcPropertyDefinition::HasContext() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[930], 5)); } +std::vector<::Ifc4x3::IfcRelAssociates> Ifc4x3::IfcPropertyDefinition::HasAssociations() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[909], 4)); } // const IfcParse::entity& Ifc4x3::IfcPropertyDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_types[820]); } const IfcParse::entity& Ifc4x3::IfcPropertyDefinition::Class() { return *((IfcParse::entity*)IFC4X3_types[820]); } @@ -14134,9 +14134,9 @@ const IfcParse::entity& Ifc4x3::IfcPropertySet::Class() { return *((IfcParse::en // Function implementations for IfcPropertySetDefinition -std::vector<::Ifc4x3::IfcTypeObject> Ifc4x3::IfcPropertySetDefinition::DefinesType() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[1240], 5)); } -std::vector<::Ifc4x3::IfcRelDefinesByTemplate> Ifc4x3::IfcPropertySetDefinition::IsDefinedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[935], 4)); } -std::vector<::Ifc4x3::IfcRelDefinesByProperties> Ifc4x3::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[934], 5)); } +std::vector<::Ifc4x3::IfcTypeObject> Ifc4x3::IfcPropertySetDefinition::DefinesType() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[1240], 5)); } +std::vector<::Ifc4x3::IfcRelDefinesByTemplate> Ifc4x3::IfcPropertySetDefinition::IsDefinedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[935], 4)); } +std::vector<::Ifc4x3::IfcRelDefinesByProperties> Ifc4x3::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[934], 5)); } // const IfcParse::entity& Ifc4x3::IfcPropertySetDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_types[827]); } const IfcParse::entity& Ifc4x3::IfcPropertySetDefinition::Class() { return *((IfcParse::entity*)IFC4X3_types[827]); } @@ -14151,7 +14151,7 @@ void Ifc4x3::IfcPropertySetTemplate::setApplicableEntity(const std::optional< st std::vector< ::Ifc4x3::IfcPropertyTemplate > Ifc4x3::IfcPropertySetTemplate::HasPropertyTemplates() const { std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3::IfcPropertyTemplate>(es); } void Ifc4x3::IfcPropertySetTemplate::setHasPropertyTemplates(const std::vector< ::Ifc4x3::IfcPropertyTemplate >& v) { set_attribute_value(6, cast_vector(v));if constexpr (false)unset_attribute_value(6); } -std::vector<::Ifc4x3::IfcRelDefinesByTemplate> Ifc4x3::IfcPropertySetTemplate::Defines() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[935], 5)); } +std::vector<::Ifc4x3::IfcRelDefinesByTemplate> Ifc4x3::IfcPropertySetTemplate::Defines() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[935], 5)); } // const IfcParse::entity& Ifc4x3::IfcPropertySetTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_types[830]); } const IfcParse::entity& Ifc4x3::IfcPropertySetTemplate::Class() { return *((IfcParse::entity*)IFC4X3_types[830]); } @@ -14192,8 +14192,8 @@ const IfcParse::entity& Ifc4x3::IfcPropertyTableValue::Class() { return *((IfcPa // Function implementations for IfcPropertyTemplate -std::vector<::Ifc4x3::IfcComplexPropertyTemplate> Ifc4x3::IfcPropertyTemplate::PartOfComplexTemplate() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[191], 6)); } -std::vector<::Ifc4x3::IfcPropertySetTemplate> Ifc4x3::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[830], 6)); } +std::vector<::Ifc4x3::IfcComplexPropertyTemplate> Ifc4x3::IfcPropertyTemplate::PartOfComplexTemplate() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[191], 6)); } +std::vector<::Ifc4x3::IfcPropertySetTemplate> Ifc4x3::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[830], 6)); } // const IfcParse::entity& Ifc4x3::IfcPropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_types[834]); } const IfcParse::entity& Ifc4x3::IfcPropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X3_types[834]); } @@ -15328,7 +15328,7 @@ const IfcParse::entity& Ifc4x3::IfcRelSpaceBoundary::Class() { return *((IfcPars ::Ifc4x3::IfcRelSpaceBoundary1stLevel Ifc4x3::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3::IfcRelSpaceBoundary1stLevel{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3::IfcRelSpaceBoundary1stLevel>(); } void Ifc4x3::IfcRelSpaceBoundary1stLevel::setParentBoundary(const ::Ifc4x3::IfcRelSpaceBoundary1stLevel& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -std::vector<::Ifc4x3::IfcRelSpaceBoundary1stLevel> Ifc4x3::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[947], 9)); } +std::vector<::Ifc4x3::IfcRelSpaceBoundary1stLevel> Ifc4x3::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[947], 9)); } // const IfcParse::entity& Ifc4x3::IfcRelSpaceBoundary1stLevel::declaration() const { return *((IfcParse::entity*)IFC4X3_types[947]); } const IfcParse::entity& Ifc4x3::IfcRelSpaceBoundary1stLevel::Class() { return *((IfcParse::entity*)IFC4X3_types[947]); } @@ -15339,7 +15339,7 @@ const IfcParse::entity& Ifc4x3::IfcRelSpaceBoundary1stLevel::Class() { return *( ::Ifc4x3::IfcRelSpaceBoundary2ndLevel Ifc4x3::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3::IfcRelSpaceBoundary2ndLevel{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3::IfcRelSpaceBoundary2ndLevel>(); } void Ifc4x3::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(const ::Ifc4x3::IfcRelSpaceBoundary2ndLevel& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -std::vector<::Ifc4x3::IfcRelSpaceBoundary2ndLevel> Ifc4x3::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[948], 10)); } +std::vector<::Ifc4x3::IfcRelSpaceBoundary2ndLevel> Ifc4x3::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[948], 10)); } // const IfcParse::entity& Ifc4x3::IfcRelSpaceBoundary2ndLevel::declaration() const { return *((IfcParse::entity*)IFC4X3_types[948]); } const IfcParse::entity& Ifc4x3::IfcRelSpaceBoundary2ndLevel::Class() { return *((IfcParse::entity*)IFC4X3_types[948]); } @@ -15386,9 +15386,9 @@ void Ifc4x3::IfcRepresentation::setRepresentationType(const std::optional< std:: std::vector< ::Ifc4x3::IfcRepresentationItem > Ifc4x3::IfcRepresentation::Items() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3::IfcRepresentationItem>(es); } void Ifc4x3::IfcRepresentation::setItems(const std::vector< ::Ifc4x3::IfcRepresentationItem >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } -std::vector<::Ifc4x3::IfcRepresentationMap> Ifc4x3::IfcRepresentation::RepresentationMap() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[954], 1)); } -std::vector<::Ifc4x3::IfcPresentationLayerAssignment> Ifc4x3::IfcRepresentation::LayerAssignments() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[792], 2)); } -std::vector<::Ifc4x3::IfcProductRepresentation> Ifc4x3::IfcRepresentation::OfProductRepresentation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[803], 2)); } +std::vector<::Ifc4x3::IfcRepresentationMap> Ifc4x3::IfcRepresentation::RepresentationMap() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[954], 1)); } +std::vector<::Ifc4x3::IfcPresentationLayerAssignment> Ifc4x3::IfcRepresentation::LayerAssignments() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[792], 2)); } +std::vector<::Ifc4x3::IfcProductRepresentation> Ifc4x3::IfcRepresentation::OfProductRepresentation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[803], 2)); } // const IfcParse::entity& Ifc4x3::IfcRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_types[951]); } const IfcParse::entity& Ifc4x3::IfcRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_types[951]); } @@ -15401,7 +15401,7 @@ void Ifc4x3::IfcRepresentationContext::setContextIdentifier(const std::optional< std::optional< std::string > Ifc4x3::IfcRepresentationContext::ContextType() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcRepresentationContext::setContextType(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x3::IfcRepresentation> Ifc4x3::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[951], 0)); } +std::vector<::Ifc4x3::IfcRepresentation> Ifc4x3::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[951], 0)); } // const IfcParse::entity& Ifc4x3::IfcRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X3_types[952]); } const IfcParse::entity& Ifc4x3::IfcRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X3_types[952]); } @@ -15410,8 +15410,8 @@ const IfcParse::entity& Ifc4x3::IfcRepresentationContext::Class() { return *((If // Function implementations for IfcRepresentationItem -std::vector<::Ifc4x3::IfcPresentationLayerAssignment> Ifc4x3::IfcRepresentationItem::LayerAssignment() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[792], 2)); } -std::vector<::Ifc4x3::IfcStyledItem> Ifc4x3::IfcRepresentationItem::StyledByItem() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[1116], 0)); } +std::vector<::Ifc4x3::IfcPresentationLayerAssignment> Ifc4x3::IfcRepresentationItem::LayerAssignment() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[792], 2)); } +std::vector<::Ifc4x3::IfcStyledItem> Ifc4x3::IfcRepresentationItem::StyledByItem() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[1116], 0)); } // const IfcParse::entity& Ifc4x3::IfcRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_types[953]); } const IfcParse::entity& Ifc4x3::IfcRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_types[953]); } @@ -15424,8 +15424,8 @@ void Ifc4x3::IfcRepresentationMap::setMappingOrigin(const ::Ifc4x3::IfcAxis2Plac ::Ifc4x3::IfcRepresentation Ifc4x3::IfcRepresentationMap::MappedRepresentation() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3::IfcRepresentation>(); } void Ifc4x3::IfcRepresentationMap::setMappedRepresentation(const ::Ifc4x3::IfcRepresentation& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector<::Ifc4x3::IfcShapeAspect> Ifc4x3::IfcRepresentationMap::HasShapeAspects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[1006], 4)); } -std::vector<::Ifc4x3::IfcMappedItem> Ifc4x3::IfcRepresentationMap::MapUsage() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[628], 0)); } +std::vector<::Ifc4x3::IfcShapeAspect> Ifc4x3::IfcRepresentationMap::HasShapeAspects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[1006], 4)); } +std::vector<::Ifc4x3::IfcMappedItem> Ifc4x3::IfcRepresentationMap::MapUsage() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[628], 0)); } // const IfcParse::entity& Ifc4x3::IfcRepresentationMap::declaration() const { return *((IfcParse::entity*)IFC4X3_types[954]); } const IfcParse::entity& Ifc4x3::IfcRepresentationMap::Class() { return *((IfcParse::entity*)IFC4X3_types[954]); } @@ -15438,7 +15438,7 @@ void Ifc4x3::IfcResource::setIdentification(const std::optional< std::string >& std::optional< std::string > Ifc4x3::IfcResource::LongDescription() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3::IfcResource::setLongDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x3::IfcRelAssignsToResource> Ifc4x3::IfcResource::ResourceOf() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[908], 6)); } +std::vector<::Ifc4x3::IfcRelAssignsToResource> Ifc4x3::IfcResource::ResourceOf() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[908], 6)); } // const IfcParse::entity& Ifc4x3::IfcResource::declaration() const { return *((IfcParse::entity*)IFC4X3_types[955]); } const IfcParse::entity& Ifc4x3::IfcResource::Class() { return *((IfcParse::entity*)IFC4X3_types[955]); } @@ -15787,7 +15787,7 @@ const IfcParse::entity& Ifc4x3::IfcSectionedSurface::Class() { return *((IfcPars ::Ifc4x3::IfcTransitionCode::Value Ifc4x3::IfcSegment::Transition() const { return ::Ifc4x3::IfcTransitionCode::FromString(get_attribute_value(0)); } void Ifc4x3::IfcSegment::setTransition(const ::Ifc4x3::IfcTransitionCode::Value& v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3::IfcTransitionCode::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -std::vector<::Ifc4x3::IfcCompositeCurve> Ifc4x3::IfcSegment::UsingCurves() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[193], 0)); } +std::vector<::Ifc4x3::IfcCompositeCurve> Ifc4x3::IfcSegment::UsingCurves() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[193], 0)); } // const IfcParse::entity& Ifc4x3::IfcSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_types[995]); } const IfcParse::entity& Ifc4x3::IfcSegment::Class() { return *((IfcParse::entity*)IFC4X3_types[995]); } @@ -15882,7 +15882,7 @@ void Ifc4x3::IfcShapeAspect::setProductDefinitional(const boost::logic::tribool& ::Ifc4x3::IfcProductRepresentationSelect Ifc4x3::IfcShapeAspect::PartOfProductDefinitionShape() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3::IfcProductRepresentationSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3::IfcProductRepresentationSelect>(); } void Ifc4x3::IfcShapeAspect::setPartOfProductDefinitionShape(const ::Ifc4x3::IfcProductRepresentationSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcShapeAspect::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[430], 3)); } +std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcShapeAspect::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[430], 3)); } // const IfcParse::entity& Ifc4x3::IfcShapeAspect::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1006]); } const IfcParse::entity& Ifc4x3::IfcShapeAspect::Class() { return *((IfcParse::entity*)IFC4X3_types[1006]); } @@ -15891,7 +15891,7 @@ const IfcParse::entity& Ifc4x3::IfcShapeAspect::Class() { return *((IfcParse::en // Function implementations for IfcShapeModel -std::vector<::Ifc4x3::IfcShapeAspect> Ifc4x3::IfcShapeModel::OfShapeAspect() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[1006], 0)); } +std::vector<::Ifc4x3::IfcShapeAspect> Ifc4x3::IfcShapeModel::OfShapeAspect() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[1006], 0)); } // const IfcParse::entity& Ifc4x3::IfcShapeModel::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1007]); } const IfcParse::entity& Ifc4x3::IfcShapeModel::Class() { return *((IfcParse::entity*)IFC4X3_types[1007]); } @@ -16088,8 +16088,8 @@ void Ifc4x3::IfcSpace::setPredefinedType(const std::optional< ::Ifc4x3::IfcSpace std::optional< double > Ifc4x3::IfcSpace::ElevationWithFlooring() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } double v = get_attribute_value(10); return v; } void Ifc4x3::IfcSpace::setElevationWithFlooring(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -std::vector<::Ifc4x3::IfcRelCoversSpaces> Ifc4x3::IfcSpace::HasCoverings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[929], 4)); } -std::vector<::Ifc4x3::IfcRelSpaceBoundary> Ifc4x3::IfcSpace::BoundedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[946], 4)); } +std::vector<::Ifc4x3::IfcRelCoversSpaces> Ifc4x3::IfcSpace::HasCoverings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[929], 4)); } +std::vector<::Ifc4x3::IfcRelSpaceBoundary> Ifc4x3::IfcSpace::BoundedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[946], 4)); } // const IfcParse::entity& Ifc4x3::IfcSpace::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1042]); } const IfcParse::entity& Ifc4x3::IfcSpace::Class() { return *((IfcParse::entity*)IFC4X3_types[1042]); } @@ -16132,11 +16132,11 @@ const IfcParse::entity& Ifc4x3::IfcSpaceType::Class() { return *((IfcParse::enti std::optional< std::string > Ifc4x3::IfcSpatialElement::LongName() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc4x3::IfcSpatialElement::setLongName(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -std::vector<::Ifc4x3::IfcRelContainedInSpatialStructure> Ifc4x3::IfcSpatialElement::ContainsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[927], 5)); } -std::vector<::Ifc4x3::IfcRelServicesBuildings> Ifc4x3::IfcSpatialElement::ServicedBySystems() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[945], 5)); } -std::vector<::Ifc4x3::IfcRelReferencedInSpatialStructure> Ifc4x3::IfcSpatialElement::ReferencesElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[943], 5)); } -std::vector<::Ifc4x3::IfcRelInterferesElements> Ifc4x3::IfcSpatialElement::IsInterferedByElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[939], 5)); } -std::vector<::Ifc4x3::IfcRelInterferesElements> Ifc4x3::IfcSpatialElement::InterferesElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[939], 4)); } +std::vector<::Ifc4x3::IfcRelContainedInSpatialStructure> Ifc4x3::IfcSpatialElement::ContainsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[927], 5)); } +std::vector<::Ifc4x3::IfcRelServicesBuildings> Ifc4x3::IfcSpatialElement::ServicedBySystems() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[945], 5)); } +std::vector<::Ifc4x3::IfcRelReferencedInSpatialStructure> Ifc4x3::IfcSpatialElement::ReferencesElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[943], 5)); } +std::vector<::Ifc4x3::IfcRelInterferesElements> Ifc4x3::IfcSpatialElement::IsInterferedByElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[939], 5)); } +std::vector<::Ifc4x3::IfcRelInterferesElements> Ifc4x3::IfcSpatialElement::InterferesElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[939], 4)); } // const IfcParse::entity& Ifc4x3::IfcSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1049]); } const IfcParse::entity& Ifc4x3::IfcSpatialElement::Class() { return *((IfcParse::entity*)IFC4X3_types[1049]); } @@ -16307,7 +16307,7 @@ void Ifc4x3::IfcStructuralActivity::setAppliedLoad(const ::Ifc4x3::IfcStructural ::Ifc4x3::IfcGlobalOrLocalEnum::Value Ifc4x3::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x3::IfcGlobalOrLocalEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcStructuralActivity::setGlobalOrLocal(const ::Ifc4x3::IfcGlobalOrLocalEnum::Value& v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -std::vector<::Ifc4x3::IfcRelConnectsStructuralActivity> Ifc4x3::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[923], 5)); } +std::vector<::Ifc4x3::IfcRelConnectsStructuralActivity> Ifc4x3::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[923], 5)); } // const IfcParse::entity& Ifc4x3::IfcStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1075]); } const IfcParse::entity& Ifc4x3::IfcStructuralActivity::Class() { return *((IfcParse::entity*)IFC4X3_types[1075]); } @@ -16336,7 +16336,7 @@ const IfcParse::entity& Ifc4x3::IfcStructuralAnalysisModel::Class() { return *(( ::Ifc4x3::IfcBoundaryCondition Ifc4x3::IfcStructuralConnection::AppliedCondition() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3::IfcBoundaryCondition{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3::IfcBoundaryCondition>(); } void Ifc4x3::IfcStructuralConnection::setAppliedCondition(const ::Ifc4x3::IfcBoundaryCondition& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector<::Ifc4x3::IfcRelConnectsStructuralMember> Ifc4x3::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[924], 5)); } +std::vector<::Ifc4x3::IfcRelConnectsStructuralMember> Ifc4x3::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[924], 5)); } // const IfcParse::entity& Ifc4x3::IfcStructuralConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1078]); } const IfcParse::entity& Ifc4x3::IfcStructuralConnection::Class() { return *((IfcParse::entity*)IFC4X3_types[1078]); } @@ -16407,7 +16407,7 @@ const IfcParse::entity& Ifc4x3::IfcStructuralCurveReaction::Class() { return *(( // Function implementations for IfcStructuralItem -std::vector<::Ifc4x3::IfcRelConnectsStructuralActivity> Ifc4x3::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[923], 4)); } +std::vector<::Ifc4x3::IfcRelConnectsStructuralActivity> Ifc4x3::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[923], 4)); } // const IfcParse::entity& Ifc4x3::IfcStructuralItem::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1087]); } const IfcParse::entity& Ifc4x3::IfcStructuralItem::Class() { return *((IfcParse::entity*)IFC4X3_types[1087]); } @@ -16466,8 +16466,8 @@ void Ifc4x3::IfcStructuralLoadGroup::setCoefficient(const std::optional< double std::optional< std::string > Ifc4x3::IfcStructuralLoadGroup::Purpose() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::string v = get_attribute_value(9); return v; } void Ifc4x3::IfcStructuralLoadGroup::setPurpose(const std::optional< std::string >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -std::vector<::Ifc4x3::IfcStructuralResultGroup> Ifc4x3::IfcStructuralLoadGroup::SourceOfResultGroup() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[1108], 6)); } -std::vector<::Ifc4x3::IfcStructuralAnalysisModel> Ifc4x3::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[1077], 7)); } +std::vector<::Ifc4x3::IfcStructuralResultGroup> Ifc4x3::IfcStructuralLoadGroup::SourceOfResultGroup() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[1108], 6)); } +std::vector<::Ifc4x3::IfcStructuralAnalysisModel> Ifc4x3::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[1077], 7)); } // const IfcParse::entity& Ifc4x3::IfcStructuralLoadGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1092]); } const IfcParse::entity& Ifc4x3::IfcStructuralLoadGroup::Class() { return *((IfcParse::entity*)IFC4X3_types[1092]); } @@ -16600,7 +16600,7 @@ const IfcParse::entity& Ifc4x3::IfcStructuralLoadTemperature::Class() { return * // Function implementations for IfcStructuralMember -std::vector<::Ifc4x3::IfcRelConnectsStructuralMember> Ifc4x3::IfcStructuralMember::ConnectedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[924], 4)); } +std::vector<::Ifc4x3::IfcRelConnectsStructuralMember> Ifc4x3::IfcStructuralMember::ConnectedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[924], 4)); } // const IfcParse::entity& Ifc4x3::IfcStructuralMember::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1102]); } const IfcParse::entity& Ifc4x3::IfcStructuralMember::Class() { return *((IfcParse::entity*)IFC4X3_types[1102]); } @@ -16657,7 +16657,7 @@ void Ifc4x3::IfcStructuralResultGroup::setResultForLoadGroup(const ::Ifc4x3::Ifc bool Ifc4x3::IfcStructuralResultGroup::IsLinear() const { bool v = get_attribute_value(7); return v; } void Ifc4x3::IfcStructuralResultGroup::setIsLinear(const bool& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector<::Ifc4x3::IfcStructuralAnalysisModel> Ifc4x3::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[1077], 8)); } +std::vector<::Ifc4x3::IfcStructuralAnalysisModel> Ifc4x3::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[1077], 8)); } // const IfcParse::entity& Ifc4x3::IfcStructuralResultGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1108]); } const IfcParse::entity& Ifc4x3::IfcStructuralResultGroup::Class() { return *((IfcParse::entity*)IFC4X3_types[1108]); } @@ -16810,7 +16810,7 @@ const IfcParse::entity& Ifc4x3::IfcSurfaceCurveSweptAreaSolid::Class() { return std::optional< ::Ifc4x3::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3::IfcSurfaceFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcSurfaceFeatureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcSurfaceFeature::setPredefinedType(const std::optional< ::Ifc4x3::IfcSurfaceFeatureTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcSurfaceFeatureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3::IfcRelAdheresToElement> Ifc4x3::IfcSurfaceFeature::AdheresToElement() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[899], 5)); } +std::vector<::Ifc4x3::IfcRelAdheresToElement> Ifc4x3::IfcSurfaceFeature::AdheresToElement() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[899], 5)); } // const IfcParse::entity& Ifc4x3::IfcSurfaceFeature::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1126]); } const IfcParse::entity& Ifc4x3::IfcSurfaceFeature::Class() { return *((IfcParse::entity*)IFC4X3_types[1126]); } @@ -16949,8 +16949,8 @@ void Ifc4x3::IfcSurfaceTexture::setTextureTransform(const ::Ifc4x3::IfcCartesian std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3::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::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::IfcTextureCoordinate> Ifc4x3::IfcSurfaceTexture::IsMappedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[1191], 0)); } -std::vector<::Ifc4x3::IfcSurfaceStyleWithTextures> Ifc4x3::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[1139], 0)); } +std::vector<::Ifc4x3::IfcTextureCoordinate> Ifc4x3::IfcSurfaceTexture::IsMappedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[1191], 0)); } +std::vector<::Ifc4x3::IfcSurfaceStyleWithTextures> Ifc4x3::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[1139], 0)); } // const IfcParse::entity& Ifc4x3::IfcSurfaceTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1140]); } const IfcParse::entity& Ifc4x3::IfcSurfaceTexture::Class() { return *((IfcParse::entity*)IFC4X3_types[1140]); } @@ -17031,8 +17031,8 @@ const IfcParse::entity& Ifc4x3::IfcSwitchingDeviceType::Class() { return *((IfcP // Function implementations for IfcSystem -std::vector<::Ifc4x3::IfcRelServicesBuildings> Ifc4x3::IfcSystem::ServicesBuildings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[945], 4)); } -std::vector<::Ifc4x3::IfcRelReferencedInSpatialStructure> Ifc4x3::IfcSystem::ServicesFacilities() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[943], 4)); } +std::vector<::Ifc4x3::IfcRelServicesBuildings> Ifc4x3::IfcSystem::ServicesBuildings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[945], 4)); } +std::vector<::Ifc4x3::IfcRelReferencedInSpatialStructure> Ifc4x3::IfcSystem::ServicesFacilities() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[943], 4)); } // const IfcParse::entity& Ifc4x3::IfcSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1148]); } const IfcParse::entity& Ifc4x3::IfcSystem::Class() { return *((IfcParse::entity*)IFC4X3_types[1148]); } @@ -17339,8 +17339,8 @@ void Ifc4x3::IfcTessellatedFaceSet::setCoordinates(const ::Ifc4x3::IfcCartesianP std::optional< bool > Ifc4x3::IfcTessellatedFaceSet::Closed() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } bool v = get_attribute_value(1); return v; } void Ifc4x3::IfcTessellatedFaceSet::setClosed(const std::optional< bool >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x3::IfcIndexedColourMap> Ifc4x3::IfcTessellatedFaceSet::HasColours() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[544], 0)); } -std::vector<::Ifc4x3::IfcIndexedTextureMap> Ifc4x3::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[549], 1)); } +std::vector<::Ifc4x3::IfcIndexedColourMap> Ifc4x3::IfcTessellatedFaceSet::HasColours() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[544], 0)); } +std::vector<::Ifc4x3::IfcIndexedTextureMap> Ifc4x3::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[549], 1)); } // const IfcParse::entity& Ifc4x3::IfcTessellatedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1176]); } const IfcParse::entity& Ifc4x3::IfcTessellatedFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_types[1176]); } @@ -17477,7 +17477,7 @@ void Ifc4x3::IfcTextureCoordinateIndices::setTexCoordIndex(const std::vector< in ::Ifc4x3::IfcIndexedPolygonalFace Ifc4x3::IfcTextureCoordinateIndices::TexCoordsOf() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3::IfcIndexedPolygonalFace>(); } void Ifc4x3::IfcTextureCoordinateIndices::setTexCoordsOf(const ::Ifc4x3::IfcIndexedPolygonalFace& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector<::Ifc4x3::IfcIndexedPolygonalTextureMap> Ifc4x3::IfcTextureCoordinateIndices::ToTexMap() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[548], 3)); } +std::vector<::Ifc4x3::IfcIndexedPolygonalTextureMap> Ifc4x3::IfcTextureCoordinateIndices::ToTexMap() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[548], 3)); } // const IfcParse::entity& Ifc4x3::IfcTextureCoordinateIndices::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1193]); } const IfcParse::entity& Ifc4x3::IfcTextureCoordinateIndices::Class() { return *((IfcParse::entity*)IFC4X3_types[1193]); } @@ -17572,7 +17572,7 @@ void Ifc4x3::IfcTimeSeries::setUserDefinedDataOrigin(const std::optional< std::s ::Ifc4x3::IfcUnit Ifc4x3::IfcTimeSeries::Unit() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3::IfcUnit{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3::IfcUnit>(); } void Ifc4x3::IfcTimeSeries::setUnit(const ::Ifc4x3::IfcUnit& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcTimeSeries::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[430], 3)); } +std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcTimeSeries::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[430], 3)); } // const IfcParse::entity& Ifc4x3::IfcTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1209]); } const IfcParse::entity& Ifc4x3::IfcTimeSeries::Class() { return *((IfcParse::entity*)IFC4X3_types[1209]); } @@ -17777,7 +17777,7 @@ void Ifc4x3::IfcTypeObject::setApplicableOccurrence(const std::optional< std::st std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > Ifc4x3::IfcTypeObject::HasPropertySets() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3::IfcPropertySetDefinition>(es); } void Ifc4x3::IfcTypeObject::setHasPropertySets(const std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > >& v) { if (v) {set_attribute_value(5, cast_vector(*v));} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3::IfcRelDefinesByType> Ifc4x3::IfcTypeObject::Types() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[936], 5)); } +std::vector<::Ifc4x3::IfcRelDefinesByType> Ifc4x3::IfcTypeObject::Types() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[936], 5)); } // const IfcParse::entity& Ifc4x3::IfcTypeObject::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1240]); } const IfcParse::entity& Ifc4x3::IfcTypeObject::Class() { return *((IfcParse::entity*)IFC4X3_types[1240]); } @@ -17792,7 +17792,7 @@ void Ifc4x3::IfcTypeProcess::setLongDescription(const std::optional< std::string std::optional< std::string > Ifc4x3::IfcTypeProcess::ProcessType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3::IfcTypeProcess::setProcessType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3::IfcRelAssignsToProcess> Ifc4x3::IfcTypeProcess::OperatesOn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[906], 6)); } +std::vector<::Ifc4x3::IfcRelAssignsToProcess> Ifc4x3::IfcTypeProcess::OperatesOn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[906], 6)); } // const IfcParse::entity& Ifc4x3::IfcTypeProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1241]); } const IfcParse::entity& Ifc4x3::IfcTypeProcess::Class() { return *((IfcParse::entity*)IFC4X3_types[1241]); } @@ -17805,7 +17805,7 @@ void Ifc4x3::IfcTypeProduct::setRepresentationMaps(const std::optional< std::vec std::optional< std::string > Ifc4x3::IfcTypeProduct::Tag() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc4x3::IfcTypeProduct::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -std::vector<::Ifc4x3::IfcRelAssignsToProduct> Ifc4x3::IfcTypeProduct::ReferencedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[907], 6)); } +std::vector<::Ifc4x3::IfcRelAssignsToProduct> Ifc4x3::IfcTypeProduct::ReferencedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[907], 6)); } // const IfcParse::entity& Ifc4x3::IfcTypeProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1242]); } const IfcParse::entity& Ifc4x3::IfcTypeProduct::Class() { return *((IfcParse::entity*)IFC4X3_types[1242]); } @@ -17820,7 +17820,7 @@ void Ifc4x3::IfcTypeResource::setLongDescription(const std::optional< std::strin std::optional< std::string > Ifc4x3::IfcTypeResource::ResourceType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3::IfcTypeResource::setResourceType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3::IfcRelAssignsToResource> Ifc4x3::IfcTypeResource::ResourceOf() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_types[908], 6)); } +std::vector<::Ifc4x3::IfcRelAssignsToResource> Ifc4x3::IfcTypeResource::ResourceOf() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_types[908], 6)); } // const IfcParse::entity& Ifc4x3::IfcTypeResource::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1243]); } const IfcParse::entity& Ifc4x3::IfcTypeResource::Class() { return *((IfcParse::entity*)IFC4X3_types[1243]); } diff --git a/src/ifcparse/Ifc4x3_add1.cpp b/src/ifcparse/Ifc4x3_add1.cpp index 76999ec93b..38456f6d92 100644 --- a/src/ifcparse/Ifc4x3_add1.cpp +++ b/src/ifcparse/Ifc4x3_add1.cpp @@ -7756,7 +7756,7 @@ const IfcParse::entity& Ifc4x3_add1::IfcActionRequest::Class() { return *((IfcPa ::Ifc4x3_add1::IfcActorSelect Ifc4x3_add1::IfcActor::TheActor() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add1::IfcActorSelect>(); } void Ifc4x3_add1::IfcActor::setTheActor(const ::Ifc4x3_add1::IfcActorSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -std::vector<::Ifc4x3_add1::IfcRelAssignsToActor> Ifc4x3_add1::IfcActor::IsActingUpon() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[901], 6)); } +std::vector<::Ifc4x3_add1::IfcRelAssignsToActor> Ifc4x3_add1::IfcActor::IsActingUpon() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[901], 6)); } // const IfcParse::entity& Ifc4x3_add1::IfcActor::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[6]); } const IfcParse::entity& Ifc4x3_add1::IfcActor::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[6]); } @@ -7771,7 +7771,7 @@ void Ifc4x3_add1::IfcActorRole::setUserDefinedRole(const std::optional< std::str std::optional< std::string > Ifc4x3_add1::IfcActorRole::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcActorRole::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcActorRole::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); } +std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcActorRole::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); } // const IfcParse::entity& Ifc4x3_add1::IfcActorRole::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[7]); } const IfcParse::entity& Ifc4x3_add1::IfcActorRole::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[7]); } @@ -7806,8 +7806,8 @@ void Ifc4x3_add1::IfcAddress::setDescription(const std::optional< std::string >& std::optional< std::string > Ifc4x3_add1::IfcAddress::UserDefinedPurpose() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcAddress::setUserDefinedPurpose(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x3_add1::IfcPerson> Ifc4x3_add1::IfcAddress::OfPerson() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[737], 7)); } -std::vector<::Ifc4x3_add1::IfcOrganization> Ifc4x3_add1::IfcAddress::OfOrganization() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[716], 4)); } +std::vector<::Ifc4x3_add1::IfcPerson> Ifc4x3_add1::IfcAddress::OfPerson() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[737], 7)); } +std::vector<::Ifc4x3_add1::IfcOrganization> Ifc4x3_add1::IfcAddress::OfOrganization() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[716], 4)); } // const IfcParse::entity& Ifc4x3_add1::IfcAddress::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[12]); } const IfcParse::entity& Ifc4x3_add1::IfcAddress::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[12]); } @@ -8048,7 +8048,7 @@ const IfcParse::entity& Ifc4x3_add1::IfcAlignmentVerticalSegment::Class() { retu std::optional< ::Ifc4x3_add1::IfcAnnotationTypeEnum::Value > Ifc4x3_add1::IfcAnnotation::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcAnnotationTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add1::IfcAnnotation::setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcAnnotationTypeEnum::Value >& v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_add1::IfcAnnotationTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -std::vector<::Ifc4x3_add1::IfcRelContainedInSpatialStructure> Ifc4x3_add1::IfcAnnotation::ContainedInStructure() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[926], 4)); } +std::vector<::Ifc4x3_add1::IfcRelContainedInSpatialStructure> Ifc4x3_add1::IfcAnnotation::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[926], 4)); } // const IfcParse::entity& Ifc4x3_add1::IfcAnnotation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[46]); } const IfcParse::entity& Ifc4x3_add1::IfcAnnotation::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[46]); } @@ -8105,7 +8105,7 @@ void Ifc4x3_add1::IfcAppliedValue::setArithmeticOperator(const std::optional< :: std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > Ifc4x3_add1::IfcAppliedValue::Components() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_add1::IfcAppliedValue>(es); } void Ifc4x3_add1::IfcAppliedValue::setComponents(const std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } -std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcAppliedValue::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); } +std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcAppliedValue::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); } // const IfcParse::entity& Ifc4x3_add1::IfcAppliedValue::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[50]); } const IfcParse::entity& Ifc4x3_add1::IfcAppliedValue::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[50]); } @@ -8132,11 +8132,11 @@ void Ifc4x3_add1::IfcApproval::setRequestingApproval(const ::Ifc4x3_add1::IfcAct ::Ifc4x3_add1::IfcActorSelect Ifc4x3_add1::IfcApproval::GivingApproval() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_add1::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_add1::IfcActorSelect>(); } void Ifc4x3_add1::IfcApproval::setGivingApproval(const ::Ifc4x3_add1::IfcActorSelect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcApproval::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); } -std::vector<::Ifc4x3_add1::IfcRelAssociatesApproval> Ifc4x3_add1::IfcApproval::ApprovedObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[909], 5)); } -std::vector<::Ifc4x3_add1::IfcResourceApprovalRelationship> Ifc4x3_add1::IfcApproval::ApprovedResources() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[955], 3)); } -std::vector<::Ifc4x3_add1::IfcApprovalRelationship> Ifc4x3_add1::IfcApproval::IsRelatedWith() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[53], 3)); } -std::vector<::Ifc4x3_add1::IfcApprovalRelationship> Ifc4x3_add1::IfcApproval::Relates() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[53], 2)); } +std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcApproval::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); } +std::vector<::Ifc4x3_add1::IfcRelAssociatesApproval> Ifc4x3_add1::IfcApproval::ApprovedObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[909], 5)); } +std::vector<::Ifc4x3_add1::IfcResourceApprovalRelationship> Ifc4x3_add1::IfcApproval::ApprovedResources() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[955], 3)); } +std::vector<::Ifc4x3_add1::IfcApprovalRelationship> Ifc4x3_add1::IfcApproval::IsRelatedWith() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[53], 3)); } +std::vector<::Ifc4x3_add1::IfcApprovalRelationship> Ifc4x3_add1::IfcApproval::Relates() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[53], 2)); } // const IfcParse::entity& Ifc4x3_add1::IfcApproval::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[52]); } const IfcParse::entity& Ifc4x3_add1::IfcApproval::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[52]); } @@ -9091,8 +9091,8 @@ void Ifc4x3_add1::IfcClassification::setSpecification(const std::optional< std:: std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add1::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_add1::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_add1::IfcRelAssociatesClassification> Ifc4x3_add1::IfcClassification::ClassificationForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[910], 5)); } -std::vector<::Ifc4x3_add1::IfcClassificationReference> Ifc4x3_add1::IfcClassification::HasReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[169], 3)); } +std::vector<::Ifc4x3_add1::IfcRelAssociatesClassification> Ifc4x3_add1::IfcClassification::ClassificationForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[910], 5)); } +std::vector<::Ifc4x3_add1::IfcClassificationReference> Ifc4x3_add1::IfcClassification::HasReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[169], 3)); } // const IfcParse::entity& Ifc4x3_add1::IfcClassification::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[168]); } const IfcParse::entity& Ifc4x3_add1::IfcClassification::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[168]); } @@ -9107,8 +9107,8 @@ void Ifc4x3_add1::IfcClassificationReference::setDescription(const std::optional std::optional< std::string > Ifc4x3_add1::IfcClassificationReference::Sort() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcClassificationReference::setSort(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3_add1::IfcRelAssociatesClassification> Ifc4x3_add1::IfcClassificationReference::ClassificationRefForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[910], 5)); } -std::vector<::Ifc4x3_add1::IfcClassificationReference> Ifc4x3_add1::IfcClassificationReference::HasReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[169], 3)); } +std::vector<::Ifc4x3_add1::IfcRelAssociatesClassification> Ifc4x3_add1::IfcClassificationReference::ClassificationRefForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[910], 5)); } +std::vector<::Ifc4x3_add1::IfcClassificationReference> Ifc4x3_add1::IfcClassificationReference::HasReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[169], 3)); } // const IfcParse::entity& Ifc4x3_add1::IfcClassificationReference::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[169]); } const IfcParse::entity& Ifc4x3_add1::IfcClassificationReference::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[169]); } @@ -9443,8 +9443,8 @@ void Ifc4x3_add1::IfcConstraint::setCreationTime(const std::optional< std::strin std::optional< std::string > Ifc4x3_add1::IfcConstraint::UserDefinedGrade() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcConstraint::setUserDefinedGrade(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcConstraint::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); } -std::vector<::Ifc4x3_add1::IfcResourceConstraintRelationship> Ifc4x3_add1::IfcConstraint::PropertiesForConstraint() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[956], 2)); } +std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcConstraint::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); } +std::vector<::Ifc4x3_add1::IfcResourceConstraintRelationship> Ifc4x3_add1::IfcConstraint::PropertiesForConstraint() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[956], 2)); } // const IfcParse::entity& Ifc4x3_add1::IfcConstraint::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[212]); } const IfcParse::entity& Ifc4x3_add1::IfcConstraint::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[212]); } @@ -9549,8 +9549,8 @@ void Ifc4x3_add1::IfcContext::setRepresentationContexts(const std::optional< std ::Ifc4x3_add1::IfcUnitAssignment Ifc4x3_add1::IfcContext::UnitsInContext() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_add1::IfcUnitAssignment{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_add1::IfcUnitAssignment>(); } void Ifc4x3_add1::IfcContext::setUnitsInContext(const ::Ifc4x3_add1::IfcUnitAssignment& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::vector<::Ifc4x3_add1::IfcRelDefinesByProperties> Ifc4x3_add1::IfcContext::IsDefinedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[933], 4)); } -std::vector<::Ifc4x3_add1::IfcRelDeclares> Ifc4x3_add1::IfcContext::Declares() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[929], 4)); } +std::vector<::Ifc4x3_add1::IfcRelDefinesByProperties> Ifc4x3_add1::IfcContext::IsDefinedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[933], 4)); } +std::vector<::Ifc4x3_add1::IfcRelDeclares> Ifc4x3_add1::IfcContext::Declares() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[929], 4)); } // const IfcParse::entity& Ifc4x3_add1::IfcContext::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[225]); } const IfcParse::entity& Ifc4x3_add1::IfcContext::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[225]); } @@ -9561,7 +9561,7 @@ const IfcParse::entity& Ifc4x3_add1::IfcContext::Class() { return *((IfcParse::e std::string Ifc4x3_add1::IfcContextDependentUnit::Name() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcContextDependentUnit::setName(const std::string& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcContextDependentUnit::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); } +std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcContextDependentUnit::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); } // const IfcParse::entity& Ifc4x3_add1::IfcContextDependentUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[227]); } const IfcParse::entity& Ifc4x3_add1::IfcContextDependentUnit::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[227]); } @@ -9572,7 +9572,7 @@ const IfcParse::entity& Ifc4x3_add1::IfcContextDependentUnit::Class() { return * std::optional< std::string > Ifc4x3_add1::IfcControl::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcControl::setIdentification(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3_add1::IfcRelAssignsToControl> Ifc4x3_add1::IfcControl::Controls() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[902], 6)); } +std::vector<::Ifc4x3_add1::IfcRelAssignsToControl> Ifc4x3_add1::IfcControl::Controls() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[902], 6)); } // const IfcParse::entity& Ifc4x3_add1::IfcControl::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[228]); } const IfcParse::entity& Ifc4x3_add1::IfcControl::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[228]); } @@ -9605,7 +9605,7 @@ void Ifc4x3_add1::IfcConversionBasedUnit::setName(const std::string& v) { set_at ::Ifc4x3_add1::IfcMeasureWithUnit Ifc4x3_add1::IfcConversionBasedUnit::ConversionFactor() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add1::IfcMeasureWithUnit>(); } void Ifc4x3_add1::IfcConversionBasedUnit::setConversionFactor(const ::Ifc4x3_add1::IfcMeasureWithUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); } +std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); } // const IfcParse::entity& Ifc4x3_add1::IfcConversionBasedUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[232]); } const IfcParse::entity& Ifc4x3_add1::IfcConversionBasedUnit::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[232]); } @@ -9700,8 +9700,8 @@ void Ifc4x3_add1::IfcCoordinateReferenceSystem::setName(const std::optional< std std::optional< std::string > Ifc4x3_add1::IfcCoordinateReferenceSystem::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcCoordinateReferenceSystem::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x3_add1::IfcCoordinateOperation> Ifc4x3_add1::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[243], 0)); } -std::vector<::Ifc4x3_add1::IfcWellKnownText> Ifc4x3_add1::IfcCoordinateReferenceSystem::WellKnownText() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[1292], 1)); } +std::vector<::Ifc4x3_add1::IfcCoordinateOperation> Ifc4x3_add1::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[243], 0)); } +std::vector<::Ifc4x3_add1::IfcWellKnownText> Ifc4x3_add1::IfcCoordinateReferenceSystem::WellKnownText() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[1292], 1)); } // const IfcParse::entity& Ifc4x3_add1::IfcCoordinateReferenceSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[244]); } const IfcParse::entity& Ifc4x3_add1::IfcCoordinateReferenceSystem::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[244]); } @@ -9782,8 +9782,8 @@ const IfcParse::entity& Ifc4x3_add1::IfcCourseType::Class() { return *((IfcParse std::optional< ::Ifc4x3_add1::IfcCoveringTypeEnum::Value > Ifc4x3_add1::IfcCovering::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcCoveringTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcCovering::setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcCoveringTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcCoveringTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_add1::IfcRelCoversSpaces> Ifc4x3_add1::IfcCovering::CoversSpaces() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[928], 5)); } -std::vector<::Ifc4x3_add1::IfcRelCoversBldgElements> Ifc4x3_add1::IfcCovering::CoversElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[927], 5)); } +std::vector<::Ifc4x3_add1::IfcRelCoversSpaces> Ifc4x3_add1::IfcCovering::CoversSpaces() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[928], 5)); } +std::vector<::Ifc4x3_add1::IfcRelCoversBldgElements> Ifc4x3_add1::IfcCovering::CoversElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[927], 5)); } // const IfcParse::entity& Ifc4x3_add1::IfcCovering::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[256]); } const IfcParse::entity& Ifc4x3_add1::IfcCovering::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[256]); } @@ -10196,7 +10196,7 @@ const IfcParse::entity& Ifc4x3_add1::IfcDistributionCircuit::Class() { return *( // Function implementations for IfcDistributionControlElement -std::vector<::Ifc4x3_add1::IfcRelFlowControlElements> Ifc4x3_add1::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[937], 4)); } +std::vector<::Ifc4x3_add1::IfcRelFlowControlElements> Ifc4x3_add1::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[937], 4)); } // const IfcParse::entity& Ifc4x3_add1::IfcDistributionControlElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[319]); } const IfcParse::entity& Ifc4x3_add1::IfcDistributionControlElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[319]); } @@ -10213,7 +10213,7 @@ const IfcParse::entity& Ifc4x3_add1::IfcDistributionControlElementType::Class() // Function implementations for IfcDistributionElement -std::vector<::Ifc4x3_add1::IfcRelConnectsPortToElement> Ifc4x3_add1::IfcDistributionElement::HasPorts() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[921], 5)); } +std::vector<::Ifc4x3_add1::IfcRelConnectsPortToElement> Ifc4x3_add1::IfcDistributionElement::HasPorts() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[921], 5)); } // const IfcParse::entity& Ifc4x3_add1::IfcDistributionElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[321]); } const IfcParse::entity& Ifc4x3_add1::IfcDistributionElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[321]); } @@ -10230,7 +10230,7 @@ const IfcParse::entity& Ifc4x3_add1::IfcDistributionElementType::Class() { retur // Function implementations for IfcDistributionFlowElement -std::vector<::Ifc4x3_add1::IfcRelFlowControlElements> Ifc4x3_add1::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[937], 5)); } +std::vector<::Ifc4x3_add1::IfcRelFlowControlElements> Ifc4x3_add1::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[937], 5)); } // const IfcParse::entity& Ifc4x3_add1::IfcDistributionFlowElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[323]); } const IfcParse::entity& Ifc4x3_add1::IfcDistributionFlowElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[323]); } @@ -10307,10 +10307,10 @@ void Ifc4x3_add1::IfcDocumentInformation::setConfidentiality(const std::optional std::optional< ::Ifc4x3_add1::IfcDocumentStatusEnum::Value > Ifc4x3_add1::IfcDocumentInformation::Status() const { if(get_attribute_value(16).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcDocumentStatusEnum::FromString(get_attribute_value(16)); } void Ifc4x3_add1::IfcDocumentInformation::setStatus(const std::optional< ::Ifc4x3_add1::IfcDocumentStatusEnum::Value >& v) { if (v) {set_attribute_value(16, EnumerationReference(&::Ifc4x3_add1::IfcDocumentStatusEnum::Class(), (size_t) *v));} else {unset_attribute_value(16);} } -std::vector<::Ifc4x3_add1::IfcRelAssociatesDocument> Ifc4x3_add1::IfcDocumentInformation::DocumentInfoForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[912], 5)); } -std::vector<::Ifc4x3_add1::IfcDocumentReference> Ifc4x3_add1::IfcDocumentInformation::HasDocumentReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[332], 4)); } -std::vector<::Ifc4x3_add1::IfcDocumentInformationRelationship> Ifc4x3_add1::IfcDocumentInformation::IsPointedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[331], 3)); } -std::vector<::Ifc4x3_add1::IfcDocumentInformationRelationship> Ifc4x3_add1::IfcDocumentInformation::IsPointer() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[331], 2)); } +std::vector<::Ifc4x3_add1::IfcRelAssociatesDocument> Ifc4x3_add1::IfcDocumentInformation::DocumentInfoForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[912], 5)); } +std::vector<::Ifc4x3_add1::IfcDocumentReference> Ifc4x3_add1::IfcDocumentInformation::HasDocumentReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[332], 4)); } +std::vector<::Ifc4x3_add1::IfcDocumentInformationRelationship> Ifc4x3_add1::IfcDocumentInformation::IsPointedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[331], 3)); } +std::vector<::Ifc4x3_add1::IfcDocumentInformationRelationship> Ifc4x3_add1::IfcDocumentInformation::IsPointer() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[331], 2)); } // const IfcParse::entity& Ifc4x3_add1::IfcDocumentInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[330]); } const IfcParse::entity& Ifc4x3_add1::IfcDocumentInformation::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[330]); } @@ -10337,7 +10337,7 @@ void Ifc4x3_add1::IfcDocumentReference::setDescription(const std::optional< std: ::Ifc4x3_add1::IfcDocumentInformation Ifc4x3_add1::IfcDocumentReference::ReferencedDocument() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_add1::IfcDocumentInformation{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add1::IfcDocumentInformation>(); } void Ifc4x3_add1::IfcDocumentReference::setReferencedDocument(const ::Ifc4x3_add1::IfcDocumentInformation& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector<::Ifc4x3_add1::IfcRelAssociatesDocument> Ifc4x3_add1::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[912], 5)); } +std::vector<::Ifc4x3_add1::IfcRelAssociatesDocument> Ifc4x3_add1::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[912], 5)); } // const IfcParse::entity& Ifc4x3_add1::IfcDocumentReference::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[332]); } const IfcParse::entity& Ifc4x3_add1::IfcDocumentReference::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[332]); } @@ -10712,18 +10712,18 @@ const IfcParse::entity& Ifc4x3_add1::IfcElectricTimeControlType::Class() { retur std::optional< std::string > Ifc4x3_add1::IfcElement::Tag() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcElement::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -std::vector<::Ifc4x3_add1::IfcRelFillsElement> Ifc4x3_add1::IfcElement::FillsVoids() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[936], 5)); } -std::vector<::Ifc4x3_add1::IfcRelConnectsElements> Ifc4x3_add1::IfcElement::ConnectedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[918], 5)); } -std::vector<::Ifc4x3_add1::IfcRelInterferesElements> Ifc4x3_add1::IfcElement::IsInterferedByElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[938], 5)); } -std::vector<::Ifc4x3_add1::IfcRelInterferesElements> Ifc4x3_add1::IfcElement::InterferesElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[938], 4)); } -std::vector<::Ifc4x3_add1::IfcRelProjectsElement> Ifc4x3_add1::IfcElement::HasProjections() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[941], 4)); } -std::vector<::Ifc4x3_add1::IfcRelVoidsElement> Ifc4x3_add1::IfcElement::HasOpenings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[948], 4)); } -std::vector<::Ifc4x3_add1::IfcRelConnectsWithRealizingElements> Ifc4x3_add1::IfcElement::IsConnectionRealization() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[925], 7)); } -std::vector<::Ifc4x3_add1::IfcRelSpaceBoundary> Ifc4x3_add1::IfcElement::ProvidesBoundaries() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[945], 5)); } -std::vector<::Ifc4x3_add1::IfcRelConnectsElements> Ifc4x3_add1::IfcElement::ConnectedFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[918], 6)); } -std::vector<::Ifc4x3_add1::IfcRelContainedInSpatialStructure> Ifc4x3_add1::IfcElement::ContainedInStructure() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[926], 4)); } -std::vector<::Ifc4x3_add1::IfcRelCoversBldgElements> Ifc4x3_add1::IfcElement::HasCoverings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[927], 4)); } -std::vector<::Ifc4x3_add1::IfcRelAdheresToElement> Ifc4x3_add1::IfcElement::HasSurfaceFeatures() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[898], 4)); } +std::vector<::Ifc4x3_add1::IfcRelFillsElement> Ifc4x3_add1::IfcElement::FillsVoids() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[936], 5)); } +std::vector<::Ifc4x3_add1::IfcRelConnectsElements> Ifc4x3_add1::IfcElement::ConnectedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[918], 5)); } +std::vector<::Ifc4x3_add1::IfcRelInterferesElements> Ifc4x3_add1::IfcElement::IsInterferedByElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[938], 5)); } +std::vector<::Ifc4x3_add1::IfcRelInterferesElements> Ifc4x3_add1::IfcElement::InterferesElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[938], 4)); } +std::vector<::Ifc4x3_add1::IfcRelProjectsElement> Ifc4x3_add1::IfcElement::HasProjections() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[941], 4)); } +std::vector<::Ifc4x3_add1::IfcRelVoidsElement> Ifc4x3_add1::IfcElement::HasOpenings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[948], 4)); } +std::vector<::Ifc4x3_add1::IfcRelConnectsWithRealizingElements> Ifc4x3_add1::IfcElement::IsConnectionRealization() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[925], 7)); } +std::vector<::Ifc4x3_add1::IfcRelSpaceBoundary> Ifc4x3_add1::IfcElement::ProvidesBoundaries() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[945], 5)); } +std::vector<::Ifc4x3_add1::IfcRelConnectsElements> Ifc4x3_add1::IfcElement::ConnectedFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[918], 6)); } +std::vector<::Ifc4x3_add1::IfcRelContainedInSpatialStructure> Ifc4x3_add1::IfcElement::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[926], 4)); } +std::vector<::Ifc4x3_add1::IfcRelCoversBldgElements> Ifc4x3_add1::IfcElement::HasCoverings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[927], 4)); } +std::vector<::Ifc4x3_add1::IfcRelAdheresToElement> Ifc4x3_add1::IfcElement::HasSurfaceFeatures() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[898], 4)); } // const IfcParse::entity& Ifc4x3_add1::IfcElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[392]); } const IfcParse::entity& Ifc4x3_add1::IfcElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[392]); } @@ -10976,7 +10976,7 @@ void Ifc4x3_add1::IfcExternalReference::setIdentification(const std::optional< s std::optional< std::string > Ifc4x3_add1::IfcExternalReference::Name() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcExternalReference::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 2)); } +std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 2)); } // const IfcParse::entity& Ifc4x3_add1::IfcExternalReference::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[426]); } const IfcParse::entity& Ifc4x3_add1::IfcExternalReference::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[426]); } @@ -10999,7 +10999,7 @@ const IfcParse::entity& Ifc4x3_add1::IfcExternalReferenceRelationship::Class() { std::optional< ::Ifc4x3_add1::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_add1::IfcExternalSpatialElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcExternalSpatialElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcExternalSpatialElement::setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcExternalSpatialElementTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcExternalSpatialElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_add1::IfcRelSpaceBoundary> Ifc4x3_add1::IfcExternalSpatialElement::BoundedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[945], 4)); } +std::vector<::Ifc4x3_add1::IfcRelSpaceBoundary> Ifc4x3_add1::IfcExternalSpatialElement::BoundedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[945], 4)); } // const IfcParse::entity& Ifc4x3_add1::IfcExternalSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[428]); } const IfcParse::entity& Ifc4x3_add1::IfcExternalSpatialElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[428]); } @@ -11064,7 +11064,7 @@ const IfcParse::entity& Ifc4x3_add1::IfcExtrudedAreaSolidTapered::Class() { retu std::vector< ::Ifc4x3_add1::IfcFaceBound > Ifc4x3_add1::IfcFace::Bounds() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add1::IfcFaceBound>(es); } void Ifc4x3_add1::IfcFace::setBounds(const std::vector< ::Ifc4x3_add1::IfcFaceBound >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -std::vector<::Ifc4x3_add1::IfcTextureMap> Ifc4x3_add1::IfcFace::HasTextureMaps() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[1196], 2)); } +std::vector<::Ifc4x3_add1::IfcTextureMap> Ifc4x3_add1::IfcFace::HasTextureMaps() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[1196], 2)); } // const IfcParse::entity& Ifc4x3_add1::IfcFace::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[433]); } const IfcParse::entity& Ifc4x3_add1::IfcFace::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[433]); } @@ -11229,7 +11229,7 @@ const IfcParse::entity& Ifc4x3_add1::IfcFeatureElement::Class() { return *((IfcP // Function implementations for IfcFeatureElementAddition -std::vector<::Ifc4x3_add1::IfcRelProjectsElement> Ifc4x3_add1::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[941], 5)); } +std::vector<::Ifc4x3_add1::IfcRelProjectsElement> Ifc4x3_add1::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[941], 5)); } // const IfcParse::entity& Ifc4x3_add1::IfcFeatureElementAddition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[453]); } const IfcParse::entity& Ifc4x3_add1::IfcFeatureElementAddition::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[453]); } @@ -11238,7 +11238,7 @@ const IfcParse::entity& Ifc4x3_add1::IfcFeatureElementAddition::Class() { return // Function implementations for IfcFeatureElementSubtraction -std::vector<::Ifc4x3_add1::IfcRelVoidsElement> Ifc4x3_add1::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[948], 5)); } +std::vector<::Ifc4x3_add1::IfcRelVoidsElement> Ifc4x3_add1::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[948], 5)); } // const IfcParse::entity& Ifc4x3_add1::IfcFeatureElementSubtraction::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[454]); } const IfcParse::entity& Ifc4x3_add1::IfcFeatureElementSubtraction::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[454]); } @@ -11601,8 +11601,8 @@ void Ifc4x3_add1::IfcGeometricRepresentationContext::setWorldCoordinateSystem(co ::Ifc4x3_add1::IfcDirection Ifc4x3_add1::IfcGeometricRepresentationContext::TrueNorth() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_add1::IfcDirection{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add1::IfcDirection>(); } void Ifc4x3_add1::IfcGeometricRepresentationContext::setTrueNorth(const ::Ifc4x3_add1::IfcDirection& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -std::vector<::Ifc4x3_add1::IfcGeometricRepresentationSubContext> Ifc4x3_add1::IfcGeometricRepresentationContext::HasSubContexts() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[508], 6)); } -std::vector<::Ifc4x3_add1::IfcCoordinateOperation> Ifc4x3_add1::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[243], 0)); } +std::vector<::Ifc4x3_add1::IfcGeometricRepresentationSubContext> Ifc4x3_add1::IfcGeometricRepresentationContext::HasSubContexts() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[508], 6)); } +std::vector<::Ifc4x3_add1::IfcCoordinateOperation> Ifc4x3_add1::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[243], 0)); } // const IfcParse::entity& Ifc4x3_add1::IfcGeometricRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[506]); } const IfcParse::entity& Ifc4x3_add1::IfcGeometricRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[506]); } @@ -11721,10 +11721,10 @@ void Ifc4x3_add1::IfcGridAxis::setAxisCurve(const ::Ifc4x3_add1::IfcCurve& v) { bool Ifc4x3_add1::IfcGridAxis::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcGridAxis::setSameSense(const bool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector<::Ifc4x3_add1::IfcGrid> Ifc4x3_add1::IfcGridAxis::PartOfW() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[520], 9)); } -std::vector<::Ifc4x3_add1::IfcGrid> Ifc4x3_add1::IfcGridAxis::PartOfV() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[520], 8)); } -std::vector<::Ifc4x3_add1::IfcGrid> Ifc4x3_add1::IfcGridAxis::PartOfU() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[520], 7)); } -std::vector<::Ifc4x3_add1::IfcVirtualGridIntersection> Ifc4x3_add1::IfcGridAxis::HasIntersections() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[1277], 0)); } +std::vector<::Ifc4x3_add1::IfcGrid> Ifc4x3_add1::IfcGridAxis::PartOfW() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[520], 9)); } +std::vector<::Ifc4x3_add1::IfcGrid> Ifc4x3_add1::IfcGridAxis::PartOfV() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[520], 8)); } +std::vector<::Ifc4x3_add1::IfcGrid> Ifc4x3_add1::IfcGridAxis::PartOfU() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[520], 7)); } +std::vector<::Ifc4x3_add1::IfcVirtualGridIntersection> Ifc4x3_add1::IfcGridAxis::HasIntersections() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[1277], 0)); } // const IfcParse::entity& Ifc4x3_add1::IfcGridAxis::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[521]); } const IfcParse::entity& Ifc4x3_add1::IfcGridAxis::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[521]); } @@ -11745,8 +11745,8 @@ const IfcParse::entity& Ifc4x3_add1::IfcGridPlacement::Class() { return *((IfcPa // Function implementations for IfcGroup -std::vector<::Ifc4x3_add1::IfcRelAssignsToGroup> Ifc4x3_add1::IfcGroup::IsGroupedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[903], 6)); } -std::vector<::Ifc4x3_add1::IfcRelReferencedInSpatialStructure> Ifc4x3_add1::IfcGroup::ReferencedInStructures() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[942], 4)); } +std::vector<::Ifc4x3_add1::IfcRelAssignsToGroup> Ifc4x3_add1::IfcGroup::IsGroupedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[903], 6)); } +std::vector<::Ifc4x3_add1::IfcRelReferencedInSpatialStructure> Ifc4x3_add1::IfcGroup::ReferencedInStructures() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[942], 4)); } // const IfcParse::entity& Ifc4x3_add1::IfcGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[525]); } const IfcParse::entity& Ifc4x3_add1::IfcGroup::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[525]); } @@ -11891,8 +11891,8 @@ const IfcParse::entity& Ifc4x3_add1::IfcIndexedPolyCurve::Class() { return *((If std::vector< int > /*[3:?]*/ Ifc4x3_add1::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcIndexedPolygonalFace::setCoordIndex(const std::vector< int > /*[3:?]*/& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector<::Ifc4x3_add1::IfcPolygonalFaceSet> Ifc4x3_add1::IfcIndexedPolygonalFace::ToFaceSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[770], 2)); } -std::vector<::Ifc4x3_add1::IfcTextureCoordinateIndices> Ifc4x3_add1::IfcIndexedPolygonalFace::HasTexCoords() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[1194], 1)); } +std::vector<::Ifc4x3_add1::IfcPolygonalFaceSet> Ifc4x3_add1::IfcIndexedPolygonalFace::ToFaceSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[770], 2)); } +std::vector<::Ifc4x3_add1::IfcTextureCoordinateIndices> Ifc4x3_add1::IfcIndexedPolygonalFace::HasTexCoords() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[1194], 1)); } // const IfcParse::entity& Ifc4x3_add1::IfcIndexedPolygonalFace::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[544]); } const IfcParse::entity& Ifc4x3_add1::IfcIndexedPolygonalFace::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[544]); } @@ -12137,8 +12137,8 @@ void Ifc4x3_add1::IfcLibraryInformation::setLocation(const std::optional< std::s std::optional< std::string > Ifc4x3_add1::IfcLibraryInformation::Description() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcLibraryInformation::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3_add1::IfcRelAssociatesLibrary> Ifc4x3_add1::IfcLibraryInformation::LibraryInfoForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[913], 5)); } -std::vector<::Ifc4x3_add1::IfcLibraryReference> Ifc4x3_add1::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[586], 5)); } +std::vector<::Ifc4x3_add1::IfcRelAssociatesLibrary> Ifc4x3_add1::IfcLibraryInformation::LibraryInfoForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[913], 5)); } +std::vector<::Ifc4x3_add1::IfcLibraryReference> Ifc4x3_add1::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[586], 5)); } // const IfcParse::entity& Ifc4x3_add1::IfcLibraryInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[585]); } const IfcParse::entity& Ifc4x3_add1::IfcLibraryInformation::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[585]); } @@ -12153,7 +12153,7 @@ void Ifc4x3_add1::IfcLibraryReference::setLanguage(const std::optional< std::str ::Ifc4x3_add1::IfcLibraryInformation Ifc4x3_add1::IfcLibraryReference::ReferencedLibrary() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_add1::IfcLibraryInformation{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add1::IfcLibraryInformation>(); } void Ifc4x3_add1::IfcLibraryReference::setReferencedLibrary(const ::Ifc4x3_add1::IfcLibraryInformation& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -std::vector<::Ifc4x3_add1::IfcRelAssociatesLibrary> Ifc4x3_add1::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[913], 5)); } +std::vector<::Ifc4x3_add1::IfcRelAssociatesLibrary> Ifc4x3_add1::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[913], 5)); } // const IfcParse::entity& Ifc4x3_add1::IfcLibraryReference::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[586]); } const IfcParse::entity& Ifc4x3_add1::IfcLibraryReference::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[586]); } @@ -12456,9 +12456,9 @@ void Ifc4x3_add1::IfcMaterial::setDescription(const std::optional< std::string > std::optional< std::string > Ifc4x3_add1::IfcMaterial::Category() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcMaterial::setCategory(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x3_add1::IfcMaterialDefinitionRepresentation> Ifc4x3_add1::IfcMaterial::HasRepresentation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[642], 3)); } -std::vector<::Ifc4x3_add1::IfcMaterialRelationship> Ifc4x3_add1::IfcMaterial::IsRelatedWith() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[654], 3)); } -std::vector<::Ifc4x3_add1::IfcMaterialRelationship> Ifc4x3_add1::IfcMaterial::RelatesTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[654], 2)); } +std::vector<::Ifc4x3_add1::IfcMaterialDefinitionRepresentation> Ifc4x3_add1::IfcMaterial::HasRepresentation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[642], 3)); } +std::vector<::Ifc4x3_add1::IfcMaterialRelationship> Ifc4x3_add1::IfcMaterial::IsRelatedWith() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[654], 3)); } +std::vector<::Ifc4x3_add1::IfcMaterialRelationship> Ifc4x3_add1::IfcMaterial::RelatesTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[654], 2)); } // const IfcParse::entity& Ifc4x3_add1::IfcMaterial::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[637]); } const IfcParse::entity& Ifc4x3_add1::IfcMaterial::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[637]); } @@ -12489,7 +12489,7 @@ void Ifc4x3_add1::IfcMaterialConstituent::setFraction(const std::optional< doubl std::optional< std::string > Ifc4x3_add1::IfcMaterialConstituent::Category() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcMaterialConstituent::setCategory(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector<::Ifc4x3_add1::IfcMaterialConstituentSet> Ifc4x3_add1::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[640], 2)); } +std::vector<::Ifc4x3_add1::IfcMaterialConstituentSet> Ifc4x3_add1::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[640], 2)); } // const IfcParse::entity& Ifc4x3_add1::IfcMaterialConstituent::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[639]); } const IfcParse::entity& Ifc4x3_add1::IfcMaterialConstituent::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[639]); } @@ -12512,9 +12512,9 @@ const IfcParse::entity& Ifc4x3_add1::IfcMaterialConstituentSet::Class() { return // Function implementations for IfcMaterialDefinition -std::vector<::Ifc4x3_add1::IfcRelAssociatesMaterial> Ifc4x3_add1::IfcMaterialDefinition::AssociatedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[914], 5)); } -std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcMaterialDefinition::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); } -std::vector<::Ifc4x3_add1::IfcMaterialProperties> Ifc4x3_add1::IfcMaterialDefinition::HasProperties() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[653], 3)); } +std::vector<::Ifc4x3_add1::IfcRelAssociatesMaterial> Ifc4x3_add1::IfcMaterialDefinition::AssociatedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[914], 5)); } +std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcMaterialDefinition::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); } +std::vector<::Ifc4x3_add1::IfcMaterialProperties> Ifc4x3_add1::IfcMaterialDefinition::HasProperties() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[653], 3)); } // const IfcParse::entity& Ifc4x3_add1::IfcMaterialDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[641]); } const IfcParse::entity& Ifc4x3_add1::IfcMaterialDefinition::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[641]); } @@ -12547,7 +12547,7 @@ void Ifc4x3_add1::IfcMaterialLayer::setCategory(const std::optional< std::string std::optional< int > Ifc4x3_add1::IfcMaterialLayer::Priority() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } int v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcMaterialLayer::setPriority(const std::optional< int >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x3_add1::IfcMaterialLayerSet> Ifc4x3_add1::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[644], 0)); } +std::vector<::Ifc4x3_add1::IfcMaterialLayerSet> Ifc4x3_add1::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[644], 0)); } // const IfcParse::entity& Ifc4x3_add1::IfcMaterialLayer::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[643]); } const IfcParse::entity& Ifc4x3_add1::IfcMaterialLayer::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[643]); } @@ -12622,7 +12622,7 @@ void Ifc4x3_add1::IfcMaterialProfile::setPriority(const std::optional< int >& v) std::optional< std::string > Ifc4x3_add1::IfcMaterialProfile::Category() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcMaterialProfile::setCategory(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3_add1::IfcMaterialProfileSet> Ifc4x3_add1::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[649], 2)); } +std::vector<::Ifc4x3_add1::IfcMaterialProfileSet> Ifc4x3_add1::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[649], 2)); } // const IfcParse::entity& Ifc4x3_add1::IfcMaterialProfile::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[648]); } const IfcParse::entity& Ifc4x3_add1::IfcMaterialProfile::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[648]); } @@ -12707,7 +12707,7 @@ const IfcParse::entity& Ifc4x3_add1::IfcMaterialRelationship::Class() { return * // Function implementations for IfcMaterialUsageDefinition -std::vector<::Ifc4x3_add1::IfcRelAssociatesMaterial> Ifc4x3_add1::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[914], 5)); } +std::vector<::Ifc4x3_add1::IfcRelAssociatesMaterial> Ifc4x3_add1::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[914], 5)); } // const IfcParse::entity& Ifc4x3_add1::IfcMaterialUsageDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[656]); } const IfcParse::entity& Ifc4x3_add1::IfcMaterialUsageDefinition::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[656]); } @@ -12924,10 +12924,10 @@ const IfcParse::entity& Ifc4x3_add1::IfcNavigationElementType::Class() { return std::optional< std::string > Ifc4x3_add1::IfcObject::ObjectType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcObject::setObjectType(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector<::Ifc4x3_add1::IfcRelDefinesByObject> Ifc4x3_add1::IfcObject::IsDeclaredBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[932], 4)); } -std::vector<::Ifc4x3_add1::IfcRelDefinesByObject> Ifc4x3_add1::IfcObject::Declares() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[932], 5)); } -std::vector<::Ifc4x3_add1::IfcRelDefinesByType> Ifc4x3_add1::IfcObject::IsTypedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[935], 4)); } -std::vector<::Ifc4x3_add1::IfcRelDefinesByProperties> Ifc4x3_add1::IfcObject::IsDefinedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[933], 4)); } +std::vector<::Ifc4x3_add1::IfcRelDefinesByObject> Ifc4x3_add1::IfcObject::IsDeclaredBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[932], 4)); } +std::vector<::Ifc4x3_add1::IfcRelDefinesByObject> Ifc4x3_add1::IfcObject::Declares() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[932], 5)); } +std::vector<::Ifc4x3_add1::IfcRelDefinesByType> Ifc4x3_add1::IfcObject::IsTypedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[935], 4)); } +std::vector<::Ifc4x3_add1::IfcRelDefinesByProperties> Ifc4x3_add1::IfcObject::IsDefinedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[933], 4)); } // const IfcParse::entity& Ifc4x3_add1::IfcObject::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[700]); } const IfcParse::entity& Ifc4x3_add1::IfcObject::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[700]); } @@ -12936,13 +12936,13 @@ const IfcParse::entity& Ifc4x3_add1::IfcObject::Class() { return *((IfcParse::en // Function implementations for IfcObjectDefinition -std::vector<::Ifc4x3_add1::IfcRelAssigns> Ifc4x3_add1::IfcObjectDefinition::HasAssignments() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[900], 4)); } -std::vector<::Ifc4x3_add1::IfcRelNests> Ifc4x3_add1::IfcObjectDefinition::Nests() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[939], 5)); } -std::vector<::Ifc4x3_add1::IfcRelNests> Ifc4x3_add1::IfcObjectDefinition::IsNestedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[939], 4)); } -std::vector<::Ifc4x3_add1::IfcRelDeclares> Ifc4x3_add1::IfcObjectDefinition::HasContext() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[929], 5)); } -std::vector<::Ifc4x3_add1::IfcRelAggregates> Ifc4x3_add1::IfcObjectDefinition::IsDecomposedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[899], 4)); } -std::vector<::Ifc4x3_add1::IfcRelAggregates> Ifc4x3_add1::IfcObjectDefinition::Decomposes() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[899], 5)); } -std::vector<::Ifc4x3_add1::IfcRelAssociates> Ifc4x3_add1::IfcObjectDefinition::HasAssociations() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[908], 4)); } +std::vector<::Ifc4x3_add1::IfcRelAssigns> Ifc4x3_add1::IfcObjectDefinition::HasAssignments() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[900], 4)); } +std::vector<::Ifc4x3_add1::IfcRelNests> Ifc4x3_add1::IfcObjectDefinition::Nests() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[939], 5)); } +std::vector<::Ifc4x3_add1::IfcRelNests> Ifc4x3_add1::IfcObjectDefinition::IsNestedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[939], 4)); } +std::vector<::Ifc4x3_add1::IfcRelDeclares> Ifc4x3_add1::IfcObjectDefinition::HasContext() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[929], 5)); } +std::vector<::Ifc4x3_add1::IfcRelAggregates> Ifc4x3_add1::IfcObjectDefinition::IsDecomposedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[899], 4)); } +std::vector<::Ifc4x3_add1::IfcRelAggregates> Ifc4x3_add1::IfcObjectDefinition::Decomposes() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[899], 5)); } +std::vector<::Ifc4x3_add1::IfcRelAssociates> Ifc4x3_add1::IfcObjectDefinition::HasAssociations() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[908], 4)); } // const IfcParse::entity& Ifc4x3_add1::IfcObjectDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[701]); } const IfcParse::entity& Ifc4x3_add1::IfcObjectDefinition::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[701]); } @@ -12953,8 +12953,8 @@ const IfcParse::entity& Ifc4x3_add1::IfcObjectDefinition::Class() { return *((If ::Ifc4x3_add1::IfcObjectPlacement Ifc4x3_add1::IfcObjectPlacement::PlacementRelTo() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_add1::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcObjectPlacement>(); } void Ifc4x3_add1::IfcObjectPlacement::setPlacementRelTo(const ::Ifc4x3_add1::IfcObjectPlacement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector<::Ifc4x3_add1::IfcProduct> Ifc4x3_add1::IfcObjectPlacement::PlacesObject() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[800], 5)); } -std::vector<::Ifc4x3_add1::IfcObjectPlacement> Ifc4x3_add1::IfcObjectPlacement::ReferencedByPlacements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[704], 0)); } +std::vector<::Ifc4x3_add1::IfcProduct> Ifc4x3_add1::IfcObjectPlacement::PlacesObject() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[800], 5)); } +std::vector<::Ifc4x3_add1::IfcObjectPlacement> Ifc4x3_add1::IfcObjectPlacement::ReferencedByPlacements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[704], 0)); } // const IfcParse::entity& Ifc4x3_add1::IfcObjectPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[704]); } const IfcParse::entity& Ifc4x3_add1::IfcObjectPlacement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[704]); } @@ -13065,7 +13065,7 @@ const IfcParse::entity& Ifc4x3_add1::IfcOpenShell::Class() { return *((IfcParse: std::optional< ::Ifc4x3_add1::IfcOpeningElementTypeEnum::Value > Ifc4x3_add1::IfcOpeningElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcOpeningElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcOpeningElement::setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcOpeningElementTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcOpeningElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_add1::IfcRelFillsElement> Ifc4x3_add1::IfcOpeningElement::HasFillings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[936], 4)); } +std::vector<::Ifc4x3_add1::IfcRelFillsElement> Ifc4x3_add1::IfcOpeningElement::HasFillings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[936], 4)); } // const IfcParse::entity& Ifc4x3_add1::IfcOpeningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[713]); } const IfcParse::entity& Ifc4x3_add1::IfcOpeningElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[713]); } @@ -13084,9 +13084,9 @@ void Ifc4x3_add1::IfcOrganization::setRoles(const std::optional< std::vector< :: std::optional< std::vector< ::Ifc4x3_add1::IfcAddress > > Ifc4x3_add1::IfcOrganization::Addresses() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_add1::IfcAddress>(es); } void Ifc4x3_add1::IfcOrganization::setAddresses(const std::optional< std::vector< ::Ifc4x3_add1::IfcAddress > >& v) { if (v) {set_attribute_value(4, cast_vector(*v));} else {unset_attribute_value(4);} } -std::vector<::Ifc4x3_add1::IfcOrganizationRelationship> Ifc4x3_add1::IfcOrganization::IsRelatedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[717], 3)); } -std::vector<::Ifc4x3_add1::IfcOrganizationRelationship> Ifc4x3_add1::IfcOrganization::Relates() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[717], 2)); } -std::vector<::Ifc4x3_add1::IfcPersonAndOrganization> Ifc4x3_add1::IfcOrganization::Engages() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[738], 1)); } +std::vector<::Ifc4x3_add1::IfcOrganizationRelationship> Ifc4x3_add1::IfcOrganization::IsRelatedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[717], 3)); } +std::vector<::Ifc4x3_add1::IfcOrganizationRelationship> Ifc4x3_add1::IfcOrganization::Relates() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[717], 2)); } +std::vector<::Ifc4x3_add1::IfcPersonAndOrganization> Ifc4x3_add1::IfcOrganization::Engages() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[738], 1)); } // const IfcParse::entity& Ifc4x3_add1::IfcOrganization::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[716]); } const IfcParse::entity& Ifc4x3_add1::IfcOrganization::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[716]); } @@ -13283,7 +13283,7 @@ void Ifc4x3_add1::IfcPerson::setRoles(const std::optional< std::vector< ::Ifc4x3 std::optional< std::vector< ::Ifc4x3_add1::IfcAddress > > Ifc4x3_add1::IfcPerson::Addresses() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_add1::IfcAddress>(es); } void Ifc4x3_add1::IfcPerson::setAddresses(const std::optional< std::vector< ::Ifc4x3_add1::IfcAddress > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } -std::vector<::Ifc4x3_add1::IfcPersonAndOrganization> Ifc4x3_add1::IfcPerson::EngagedIn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[738], 0)); } +std::vector<::Ifc4x3_add1::IfcPersonAndOrganization> Ifc4x3_add1::IfcPerson::EngagedIn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[738], 0)); } // const IfcParse::entity& Ifc4x3_add1::IfcPerson::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[737]); } const IfcParse::entity& Ifc4x3_add1::IfcPerson::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[737]); } @@ -13326,8 +13326,8 @@ void Ifc4x3_add1::IfcPhysicalQuantity::setName(const std::string& v) { set_attri std::optional< std::string > Ifc4x3_add1::IfcPhysicalQuantity::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcPhysicalQuantity::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcPhysicalQuantity::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); } -std::vector<::Ifc4x3_add1::IfcPhysicalComplexQuantity> Ifc4x3_add1::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[740], 2)); } +std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcPhysicalQuantity::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); } +std::vector<::Ifc4x3_add1::IfcPhysicalComplexQuantity> Ifc4x3_add1::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[740], 2)); } // const IfcParse::entity& Ifc4x3_add1::IfcPhysicalQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[742]); } const IfcParse::entity& Ifc4x3_add1::IfcPhysicalQuantity::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[742]); } @@ -13598,9 +13598,9 @@ const IfcParse::entity& Ifc4x3_add1::IfcPolynomialCurve::Class() { return *((Ifc // Function implementations for IfcPort -std::vector<::Ifc4x3_add1::IfcRelConnectsPortToElement> Ifc4x3_add1::IfcPort::ContainedIn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[921], 4)); } -std::vector<::Ifc4x3_add1::IfcRelConnectsPorts> Ifc4x3_add1::IfcPort::ConnectedFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[920], 5)); } -std::vector<::Ifc4x3_add1::IfcRelConnectsPorts> Ifc4x3_add1::IfcPort::ConnectedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[920], 4)); } +std::vector<::Ifc4x3_add1::IfcRelConnectsPortToElement> Ifc4x3_add1::IfcPort::ContainedIn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[921], 4)); } +std::vector<::Ifc4x3_add1::IfcRelConnectsPorts> Ifc4x3_add1::IfcPort::ConnectedFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[920], 5)); } +std::vector<::Ifc4x3_add1::IfcRelConnectsPorts> Ifc4x3_add1::IfcPort::ConnectedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[920], 4)); } // const IfcParse::entity& Ifc4x3_add1::IfcPort::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[774]); } const IfcParse::entity& Ifc4x3_add1::IfcPort::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[774]); } @@ -13609,8 +13609,8 @@ const IfcParse::entity& Ifc4x3_add1::IfcPort::Class() { return *((IfcParse::enti // Function implementations for IfcPositioningElement -std::vector<::Ifc4x3_add1::IfcRelContainedInSpatialStructure> Ifc4x3_add1::IfcPositioningElement::ContainedInStructure() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[926], 4)); } -std::vector<::Ifc4x3_add1::IfcRelPositions> Ifc4x3_add1::IfcPositioningElement::Positions() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[940], 4)); } +std::vector<::Ifc4x3_add1::IfcRelContainedInSpatialStructure> Ifc4x3_add1::IfcPositioningElement::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[926], 4)); } +std::vector<::Ifc4x3_add1::IfcRelPositions> Ifc4x3_add1::IfcPositioningElement::Positions() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[940], 4)); } // const IfcParse::entity& Ifc4x3_add1::IfcPositioningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[775]); } const IfcParse::entity& Ifc4x3_add1::IfcPositioningElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[775]); } @@ -13765,9 +13765,9 @@ void Ifc4x3_add1::IfcProcess::setIdentification(const std::optional< std::string std::optional< std::string > Ifc4x3_add1::IfcProcess::LongDescription() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcProcess::setLongDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x3_add1::IfcRelSequence> Ifc4x3_add1::IfcProcess::IsPredecessorTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[943], 4)); } -std::vector<::Ifc4x3_add1::IfcRelSequence> Ifc4x3_add1::IfcProcess::IsSuccessorFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[943], 5)); } -std::vector<::Ifc4x3_add1::IfcRelAssignsToProcess> Ifc4x3_add1::IfcProcess::OperatesOn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[905], 6)); } +std::vector<::Ifc4x3_add1::IfcRelSequence> Ifc4x3_add1::IfcProcess::IsPredecessorTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[943], 4)); } +std::vector<::Ifc4x3_add1::IfcRelSequence> Ifc4x3_add1::IfcProcess::IsSuccessorFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[943], 5)); } +std::vector<::Ifc4x3_add1::IfcRelAssignsToProcess> Ifc4x3_add1::IfcProcess::OperatesOn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[905], 6)); } // const IfcParse::entity& Ifc4x3_add1::IfcProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[798]); } const IfcParse::entity& Ifc4x3_add1::IfcProcess::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[798]); } @@ -13780,9 +13780,9 @@ void Ifc4x3_add1::IfcProduct::setObjectPlacement(const ::Ifc4x3_add1::IfcObjectP ::Ifc4x3_add1::IfcProductRepresentation Ifc4x3_add1::IfcProduct::Representation() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_add1::IfcProductRepresentation{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add1::IfcProductRepresentation>(); } void Ifc4x3_add1::IfcProduct::setRepresentation(const ::Ifc4x3_add1::IfcProductRepresentation& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::vector<::Ifc4x3_add1::IfcRelAssignsToProduct> Ifc4x3_add1::IfcProduct::ReferencedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[906], 6)); } -std::vector<::Ifc4x3_add1::IfcRelPositions> Ifc4x3_add1::IfcProduct::PositionedRelativeTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[940], 5)); } -std::vector<::Ifc4x3_add1::IfcRelReferencedInSpatialStructure> Ifc4x3_add1::IfcProduct::ReferencedInStructures() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[942], 4)); } +std::vector<::Ifc4x3_add1::IfcRelAssignsToProduct> Ifc4x3_add1::IfcProduct::ReferencedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[906], 6)); } +std::vector<::Ifc4x3_add1::IfcRelPositions> Ifc4x3_add1::IfcProduct::PositionedRelativeTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[940], 5)); } +std::vector<::Ifc4x3_add1::IfcRelReferencedInSpatialStructure> Ifc4x3_add1::IfcProduct::ReferencedInStructures() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[942], 4)); } // const IfcParse::entity& Ifc4x3_add1::IfcProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[800]); } const IfcParse::entity& Ifc4x3_add1::IfcProduct::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[800]); } @@ -13791,8 +13791,8 @@ const IfcParse::entity& Ifc4x3_add1::IfcProduct::Class() { return *((IfcParse::e // Function implementations for IfcProductDefinitionShape -std::vector<::Ifc4x3_add1::IfcProduct> Ifc4x3_add1::IfcProductDefinitionShape::ShapeOfProduct() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[800], 6)); } -std::vector<::Ifc4x3_add1::IfcShapeAspect> Ifc4x3_add1::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[1006], 4)); } +std::vector<::Ifc4x3_add1::IfcProduct> Ifc4x3_add1::IfcProductDefinitionShape::ShapeOfProduct() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[800], 6)); } +std::vector<::Ifc4x3_add1::IfcShapeAspect> Ifc4x3_add1::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[1006], 4)); } // const IfcParse::entity& Ifc4x3_add1::IfcProductDefinitionShape::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[801]); } const IfcParse::entity& Ifc4x3_add1::IfcProductDefinitionShape::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[801]); } @@ -13819,8 +13819,8 @@ void Ifc4x3_add1::IfcProfileDef::setProfileType(const ::Ifc4x3_add1::IfcProfileT std::optional< std::string > Ifc4x3_add1::IfcProfileDef::ProfileName() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcProfileDef::setProfileName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcProfileDef::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); } -std::vector<::Ifc4x3_add1::IfcProfileProperties> Ifc4x3_add1::IfcProfileDef::HasProperties() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[806], 3)); } +std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcProfileDef::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); } +std::vector<::Ifc4x3_add1::IfcProfileProperties> Ifc4x3_add1::IfcProfileDef::HasProperties() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[806], 3)); } // const IfcParse::entity& Ifc4x3_add1::IfcProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[805]); } const IfcParse::entity& Ifc4x3_add1::IfcProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[805]); } @@ -13901,12 +13901,12 @@ void Ifc4x3_add1::IfcProperty::setName(const std::string& v) { set_attribute_val std::optional< std::string > Ifc4x3_add1::IfcProperty::Specification() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcProperty::setSpecification(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x3_add1::IfcPropertySet> Ifc4x3_add1::IfcProperty::PartOfPset() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[825], 4)); } -std::vector<::Ifc4x3_add1::IfcPropertyDependencyRelationship> Ifc4x3_add1::IfcProperty::PropertyForDependance() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[820], 2)); } -std::vector<::Ifc4x3_add1::IfcPropertyDependencyRelationship> Ifc4x3_add1::IfcProperty::PropertyDependsOn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[820], 3)); } -std::vector<::Ifc4x3_add1::IfcComplexProperty> Ifc4x3_add1::IfcProperty::PartOfComplex() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[189], 3)); } -std::vector<::Ifc4x3_add1::IfcResourceConstraintRelationship> Ifc4x3_add1::IfcProperty::HasConstraints() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[956], 3)); } -std::vector<::Ifc4x3_add1::IfcResourceApprovalRelationship> Ifc4x3_add1::IfcProperty::HasApprovals() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[955], 2)); } +std::vector<::Ifc4x3_add1::IfcPropertySet> Ifc4x3_add1::IfcProperty::PartOfPset() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[825], 4)); } +std::vector<::Ifc4x3_add1::IfcPropertyDependencyRelationship> Ifc4x3_add1::IfcProperty::PropertyForDependance() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[820], 2)); } +std::vector<::Ifc4x3_add1::IfcPropertyDependencyRelationship> Ifc4x3_add1::IfcProperty::PropertyDependsOn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[820], 3)); } +std::vector<::Ifc4x3_add1::IfcComplexProperty> Ifc4x3_add1::IfcProperty::PartOfComplex() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[189], 3)); } +std::vector<::Ifc4x3_add1::IfcResourceConstraintRelationship> Ifc4x3_add1::IfcProperty::HasConstraints() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[956], 3)); } +std::vector<::Ifc4x3_add1::IfcResourceApprovalRelationship> Ifc4x3_add1::IfcProperty::HasApprovals() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[955], 2)); } // const IfcParse::entity& Ifc4x3_add1::IfcProperty::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[816]); } const IfcParse::entity& Ifc4x3_add1::IfcProperty::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[816]); } @@ -13915,7 +13915,7 @@ const IfcParse::entity& Ifc4x3_add1::IfcProperty::Class() { return *((IfcParse:: // Function implementations for IfcPropertyAbstraction -std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); } +std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); } // const IfcParse::entity& Ifc4x3_add1::IfcPropertyAbstraction::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[817]); } const IfcParse::entity& Ifc4x3_add1::IfcPropertyAbstraction::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[817]); } @@ -13940,8 +13940,8 @@ const IfcParse::entity& Ifc4x3_add1::IfcPropertyBoundedValue::Class() { return * // Function implementations for IfcPropertyDefinition -std::vector<::Ifc4x3_add1::IfcRelDeclares> Ifc4x3_add1::IfcPropertyDefinition::HasContext() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[929], 5)); } -std::vector<::Ifc4x3_add1::IfcRelAssociates> Ifc4x3_add1::IfcPropertyDefinition::HasAssociations() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[908], 4)); } +std::vector<::Ifc4x3_add1::IfcRelDeclares> Ifc4x3_add1::IfcPropertyDefinition::HasContext() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[929], 5)); } +std::vector<::Ifc4x3_add1::IfcRelAssociates> Ifc4x3_add1::IfcPropertyDefinition::HasAssociations() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[908], 4)); } // const IfcParse::entity& Ifc4x3_add1::IfcPropertyDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[819]); } const IfcParse::entity& Ifc4x3_add1::IfcPropertyDefinition::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[819]); } @@ -14024,9 +14024,9 @@ const IfcParse::entity& Ifc4x3_add1::IfcPropertySet::Class() { return *((IfcPars // Function implementations for IfcPropertySetDefinition -std::vector<::Ifc4x3_add1::IfcTypeObject> Ifc4x3_add1::IfcPropertySetDefinition::DefinesType() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[1241], 5)); } -std::vector<::Ifc4x3_add1::IfcRelDefinesByTemplate> Ifc4x3_add1::IfcPropertySetDefinition::IsDefinedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[934], 4)); } -std::vector<::Ifc4x3_add1::IfcRelDefinesByProperties> Ifc4x3_add1::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[933], 5)); } +std::vector<::Ifc4x3_add1::IfcTypeObject> Ifc4x3_add1::IfcPropertySetDefinition::DefinesType() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[1241], 5)); } +std::vector<::Ifc4x3_add1::IfcRelDefinesByTemplate> Ifc4x3_add1::IfcPropertySetDefinition::IsDefinedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[934], 4)); } +std::vector<::Ifc4x3_add1::IfcRelDefinesByProperties> Ifc4x3_add1::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[933], 5)); } // const IfcParse::entity& Ifc4x3_add1::IfcPropertySetDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[826]); } const IfcParse::entity& Ifc4x3_add1::IfcPropertySetDefinition::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[826]); } @@ -14041,7 +14041,7 @@ void Ifc4x3_add1::IfcPropertySetTemplate::setApplicableEntity(const std::optiona std::vector< ::Ifc4x3_add1::IfcPropertyTemplate > Ifc4x3_add1::IfcPropertySetTemplate::HasPropertyTemplates() const { std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_add1::IfcPropertyTemplate>(es); } void Ifc4x3_add1::IfcPropertySetTemplate::setHasPropertyTemplates(const std::vector< ::Ifc4x3_add1::IfcPropertyTemplate >& v) { set_attribute_value(6, cast_vector(v));if constexpr (false)unset_attribute_value(6); } -std::vector<::Ifc4x3_add1::IfcRelDefinesByTemplate> Ifc4x3_add1::IfcPropertySetTemplate::Defines() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[934], 5)); } +std::vector<::Ifc4x3_add1::IfcRelDefinesByTemplate> Ifc4x3_add1::IfcPropertySetTemplate::Defines() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[934], 5)); } // const IfcParse::entity& Ifc4x3_add1::IfcPropertySetTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[829]); } const IfcParse::entity& Ifc4x3_add1::IfcPropertySetTemplate::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[829]); } @@ -14082,8 +14082,8 @@ const IfcParse::entity& Ifc4x3_add1::IfcPropertyTableValue::Class() { return *(( // Function implementations for IfcPropertyTemplate -std::vector<::Ifc4x3_add1::IfcComplexPropertyTemplate> Ifc4x3_add1::IfcPropertyTemplate::PartOfComplexTemplate() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[190], 6)); } -std::vector<::Ifc4x3_add1::IfcPropertySetTemplate> Ifc4x3_add1::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[829], 6)); } +std::vector<::Ifc4x3_add1::IfcComplexPropertyTemplate> Ifc4x3_add1::IfcPropertyTemplate::PartOfComplexTemplate() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[190], 6)); } +std::vector<::Ifc4x3_add1::IfcPropertySetTemplate> Ifc4x3_add1::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[829], 6)); } // const IfcParse::entity& Ifc4x3_add1::IfcPropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[833]); } const IfcParse::entity& Ifc4x3_add1::IfcPropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[833]); } @@ -15218,7 +15218,7 @@ const IfcParse::entity& Ifc4x3_add1::IfcRelSpaceBoundary::Class() { return *((If ::Ifc4x3_add1::IfcRelSpaceBoundary1stLevel Ifc4x3_add1::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_add1::IfcRelSpaceBoundary1stLevel{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_add1::IfcRelSpaceBoundary1stLevel>(); } void Ifc4x3_add1::IfcRelSpaceBoundary1stLevel::setParentBoundary(const ::Ifc4x3_add1::IfcRelSpaceBoundary1stLevel& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -std::vector<::Ifc4x3_add1::IfcRelSpaceBoundary1stLevel> Ifc4x3_add1::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[946], 9)); } +std::vector<::Ifc4x3_add1::IfcRelSpaceBoundary1stLevel> Ifc4x3_add1::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[946], 9)); } // const IfcParse::entity& Ifc4x3_add1::IfcRelSpaceBoundary1stLevel::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[946]); } const IfcParse::entity& Ifc4x3_add1::IfcRelSpaceBoundary1stLevel::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[946]); } @@ -15229,7 +15229,7 @@ const IfcParse::entity& Ifc4x3_add1::IfcRelSpaceBoundary1stLevel::Class() { retu ::Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel>(); } void Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(const ::Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -std::vector<::Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel> Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[947], 10)); } +std::vector<::Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel> Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[947], 10)); } // const IfcParse::entity& Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[947]); } const IfcParse::entity& Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[947]); } @@ -15276,9 +15276,9 @@ void Ifc4x3_add1::IfcRepresentation::setRepresentationType(const std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationItem > Ifc4x3_add1::IfcRepresentation::Items() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_add1::IfcRepresentationItem>(es); } void Ifc4x3_add1::IfcRepresentation::setItems(const std::vector< ::Ifc4x3_add1::IfcRepresentationItem >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } -std::vector<::Ifc4x3_add1::IfcRepresentationMap> Ifc4x3_add1::IfcRepresentation::RepresentationMap() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[953], 1)); } -std::vector<::Ifc4x3_add1::IfcPresentationLayerAssignment> Ifc4x3_add1::IfcRepresentation::LayerAssignments() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[791], 2)); } -std::vector<::Ifc4x3_add1::IfcProductRepresentation> Ifc4x3_add1::IfcRepresentation::OfProductRepresentation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[802], 2)); } +std::vector<::Ifc4x3_add1::IfcRepresentationMap> Ifc4x3_add1::IfcRepresentation::RepresentationMap() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[953], 1)); } +std::vector<::Ifc4x3_add1::IfcPresentationLayerAssignment> Ifc4x3_add1::IfcRepresentation::LayerAssignments() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[791], 2)); } +std::vector<::Ifc4x3_add1::IfcProductRepresentation> Ifc4x3_add1::IfcRepresentation::OfProductRepresentation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[802], 2)); } // const IfcParse::entity& Ifc4x3_add1::IfcRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[950]); } const IfcParse::entity& Ifc4x3_add1::IfcRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[950]); } @@ -15291,7 +15291,7 @@ void Ifc4x3_add1::IfcRepresentationContext::setContextIdentifier(const std::opti std::optional< std::string > Ifc4x3_add1::IfcRepresentationContext::ContextType() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcRepresentationContext::setContextType(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x3_add1::IfcRepresentation> Ifc4x3_add1::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[950], 0)); } +std::vector<::Ifc4x3_add1::IfcRepresentation> Ifc4x3_add1::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[950], 0)); } // const IfcParse::entity& Ifc4x3_add1::IfcRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[951]); } const IfcParse::entity& Ifc4x3_add1::IfcRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[951]); } @@ -15300,8 +15300,8 @@ const IfcParse::entity& Ifc4x3_add1::IfcRepresentationContext::Class() { return // Function implementations for IfcRepresentationItem -std::vector<::Ifc4x3_add1::IfcPresentationLayerAssignment> Ifc4x3_add1::IfcRepresentationItem::LayerAssignment() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[791], 2)); } -std::vector<::Ifc4x3_add1::IfcStyledItem> Ifc4x3_add1::IfcRepresentationItem::StyledByItem() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[1117], 0)); } +std::vector<::Ifc4x3_add1::IfcPresentationLayerAssignment> Ifc4x3_add1::IfcRepresentationItem::LayerAssignment() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[791], 2)); } +std::vector<::Ifc4x3_add1::IfcStyledItem> Ifc4x3_add1::IfcRepresentationItem::StyledByItem() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[1117], 0)); } // const IfcParse::entity& Ifc4x3_add1::IfcRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[952]); } const IfcParse::entity& Ifc4x3_add1::IfcRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[952]); } @@ -15314,8 +15314,8 @@ void Ifc4x3_add1::IfcRepresentationMap::setMappingOrigin(const ::Ifc4x3_add1::If ::Ifc4x3_add1::IfcRepresentation Ifc4x3_add1::IfcRepresentationMap::MappedRepresentation() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add1::IfcRepresentation>(); } void Ifc4x3_add1::IfcRepresentationMap::setMappedRepresentation(const ::Ifc4x3_add1::IfcRepresentation& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector<::Ifc4x3_add1::IfcShapeAspect> Ifc4x3_add1::IfcRepresentationMap::HasShapeAspects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[1006], 4)); } -std::vector<::Ifc4x3_add1::IfcMappedItem> Ifc4x3_add1::IfcRepresentationMap::MapUsage() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[628], 0)); } +std::vector<::Ifc4x3_add1::IfcShapeAspect> Ifc4x3_add1::IfcRepresentationMap::HasShapeAspects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[1006], 4)); } +std::vector<::Ifc4x3_add1::IfcMappedItem> Ifc4x3_add1::IfcRepresentationMap::MapUsage() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[628], 0)); } // const IfcParse::entity& Ifc4x3_add1::IfcRepresentationMap::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[953]); } const IfcParse::entity& Ifc4x3_add1::IfcRepresentationMap::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[953]); } @@ -15328,7 +15328,7 @@ void Ifc4x3_add1::IfcResource::setIdentification(const std::optional< std::strin std::optional< std::string > Ifc4x3_add1::IfcResource::LongDescription() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcResource::setLongDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x3_add1::IfcRelAssignsToResource> Ifc4x3_add1::IfcResource::ResourceOf() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[907], 6)); } +std::vector<::Ifc4x3_add1::IfcRelAssignsToResource> Ifc4x3_add1::IfcResource::ResourceOf() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[907], 6)); } // const IfcParse::entity& Ifc4x3_add1::IfcResource::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[954]); } const IfcParse::entity& Ifc4x3_add1::IfcResource::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[954]); } @@ -15691,7 +15691,7 @@ const IfcParse::entity& Ifc4x3_add1::IfcSectionedSurface::Class() { return *((If ::Ifc4x3_add1::IfcTransitionCode::Value Ifc4x3_add1::IfcSegment::Transition() const { return ::Ifc4x3_add1::IfcTransitionCode::FromString(get_attribute_value(0)); } void Ifc4x3_add1::IfcSegment::setTransition(const ::Ifc4x3_add1::IfcTransitionCode::Value& v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_add1::IfcTransitionCode::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -std::vector<::Ifc4x3_add1::IfcCompositeCurve> Ifc4x3_add1::IfcSegment::UsingCurves() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[192], 0)); } +std::vector<::Ifc4x3_add1::IfcCompositeCurve> Ifc4x3_add1::IfcSegment::UsingCurves() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[192], 0)); } // const IfcParse::entity& Ifc4x3_add1::IfcSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[995]); } const IfcParse::entity& Ifc4x3_add1::IfcSegment::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[995]); } @@ -15786,7 +15786,7 @@ void Ifc4x3_add1::IfcShapeAspect::setProductDefinitional(const boost::logic::tri ::Ifc4x3_add1::IfcProductRepresentationSelect Ifc4x3_add1::IfcShapeAspect::PartOfProductDefinitionShape() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_add1::IfcProductRepresentationSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add1::IfcProductRepresentationSelect>(); } void Ifc4x3_add1::IfcShapeAspect::setPartOfProductDefinitionShape(const ::Ifc4x3_add1::IfcProductRepresentationSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcShapeAspect::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); } +std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcShapeAspect::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); } // const IfcParse::entity& Ifc4x3_add1::IfcShapeAspect::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1006]); } const IfcParse::entity& Ifc4x3_add1::IfcShapeAspect::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1006]); } @@ -15795,7 +15795,7 @@ const IfcParse::entity& Ifc4x3_add1::IfcShapeAspect::Class() { return *((IfcPars // Function implementations for IfcShapeModel -std::vector<::Ifc4x3_add1::IfcShapeAspect> Ifc4x3_add1::IfcShapeModel::OfShapeAspect() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[1006], 0)); } +std::vector<::Ifc4x3_add1::IfcShapeAspect> Ifc4x3_add1::IfcShapeModel::OfShapeAspect() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[1006], 0)); } // const IfcParse::entity& Ifc4x3_add1::IfcShapeModel::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1007]); } const IfcParse::entity& Ifc4x3_add1::IfcShapeModel::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1007]); } @@ -15992,8 +15992,8 @@ void Ifc4x3_add1::IfcSpace::setPredefinedType(const std::optional< ::Ifc4x3_add1 std::optional< double > Ifc4x3_add1::IfcSpace::ElevationWithFlooring() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } double v = get_attribute_value(10); return v; } void Ifc4x3_add1::IfcSpace::setElevationWithFlooring(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -std::vector<::Ifc4x3_add1::IfcRelCoversSpaces> Ifc4x3_add1::IfcSpace::HasCoverings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[928], 4)); } -std::vector<::Ifc4x3_add1::IfcRelSpaceBoundary> Ifc4x3_add1::IfcSpace::BoundedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[945], 4)); } +std::vector<::Ifc4x3_add1::IfcRelCoversSpaces> Ifc4x3_add1::IfcSpace::HasCoverings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[928], 4)); } +std::vector<::Ifc4x3_add1::IfcRelSpaceBoundary> Ifc4x3_add1::IfcSpace::BoundedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[945], 4)); } // const IfcParse::entity& Ifc4x3_add1::IfcSpace::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1042]); } const IfcParse::entity& Ifc4x3_add1::IfcSpace::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1042]); } @@ -16036,11 +16036,11 @@ const IfcParse::entity& Ifc4x3_add1::IfcSpaceType::Class() { return *((IfcParse: std::optional< std::string > Ifc4x3_add1::IfcSpatialElement::LongName() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcSpatialElement::setLongName(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -std::vector<::Ifc4x3_add1::IfcRelContainedInSpatialStructure> Ifc4x3_add1::IfcSpatialElement::ContainsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[926], 5)); } -std::vector<::Ifc4x3_add1::IfcRelServicesBuildings> Ifc4x3_add1::IfcSpatialElement::ServicedBySystems() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[944], 5)); } -std::vector<::Ifc4x3_add1::IfcRelReferencedInSpatialStructure> Ifc4x3_add1::IfcSpatialElement::ReferencesElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[942], 5)); } -std::vector<::Ifc4x3_add1::IfcRelInterferesElements> Ifc4x3_add1::IfcSpatialElement::IsInterferedByElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[938], 5)); } -std::vector<::Ifc4x3_add1::IfcRelInterferesElements> Ifc4x3_add1::IfcSpatialElement::InterferesElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[938], 4)); } +std::vector<::Ifc4x3_add1::IfcRelContainedInSpatialStructure> Ifc4x3_add1::IfcSpatialElement::ContainsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[926], 5)); } +std::vector<::Ifc4x3_add1::IfcRelServicesBuildings> Ifc4x3_add1::IfcSpatialElement::ServicedBySystems() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[944], 5)); } +std::vector<::Ifc4x3_add1::IfcRelReferencedInSpatialStructure> Ifc4x3_add1::IfcSpatialElement::ReferencesElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[942], 5)); } +std::vector<::Ifc4x3_add1::IfcRelInterferesElements> Ifc4x3_add1::IfcSpatialElement::IsInterferedByElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[938], 5)); } +std::vector<::Ifc4x3_add1::IfcRelInterferesElements> Ifc4x3_add1::IfcSpatialElement::InterferesElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[938], 4)); } // const IfcParse::entity& Ifc4x3_add1::IfcSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1049]); } const IfcParse::entity& Ifc4x3_add1::IfcSpatialElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1049]); } @@ -16211,7 +16211,7 @@ void Ifc4x3_add1::IfcStructuralActivity::setAppliedLoad(const ::Ifc4x3_add1::Ifc ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value Ifc4x3_add1::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x3_add1::IfcGlobalOrLocalEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcStructuralActivity::setGlobalOrLocal(const ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value& v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -std::vector<::Ifc4x3_add1::IfcRelConnectsStructuralActivity> Ifc4x3_add1::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[922], 5)); } +std::vector<::Ifc4x3_add1::IfcRelConnectsStructuralActivity> Ifc4x3_add1::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[922], 5)); } // const IfcParse::entity& Ifc4x3_add1::IfcStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1076]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralActivity::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1076]); } @@ -16240,7 +16240,7 @@ const IfcParse::entity& Ifc4x3_add1::IfcStructuralAnalysisModel::Class() { retur ::Ifc4x3_add1::IfcBoundaryCondition Ifc4x3_add1::IfcStructuralConnection::AppliedCondition() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_add1::IfcBoundaryCondition{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_add1::IfcBoundaryCondition>(); } void Ifc4x3_add1::IfcStructuralConnection::setAppliedCondition(const ::Ifc4x3_add1::IfcBoundaryCondition& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector<::Ifc4x3_add1::IfcRelConnectsStructuralMember> Ifc4x3_add1::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[923], 5)); } +std::vector<::Ifc4x3_add1::IfcRelConnectsStructuralMember> Ifc4x3_add1::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[923], 5)); } // const IfcParse::entity& Ifc4x3_add1::IfcStructuralConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1079]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralConnection::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1079]); } @@ -16311,7 +16311,7 @@ const IfcParse::entity& Ifc4x3_add1::IfcStructuralCurveReaction::Class() { retur // Function implementations for IfcStructuralItem -std::vector<::Ifc4x3_add1::IfcRelConnectsStructuralActivity> Ifc4x3_add1::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[922], 4)); } +std::vector<::Ifc4x3_add1::IfcRelConnectsStructuralActivity> Ifc4x3_add1::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[922], 4)); } // const IfcParse::entity& Ifc4x3_add1::IfcStructuralItem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1088]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralItem::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1088]); } @@ -16370,8 +16370,8 @@ void Ifc4x3_add1::IfcStructuralLoadGroup::setCoefficient(const std::optional< do std::optional< std::string > Ifc4x3_add1::IfcStructuralLoadGroup::Purpose() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_add1::IfcStructuralLoadGroup::setPurpose(const std::optional< std::string >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -std::vector<::Ifc4x3_add1::IfcStructuralResultGroup> Ifc4x3_add1::IfcStructuralLoadGroup::SourceOfResultGroup() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[1109], 6)); } -std::vector<::Ifc4x3_add1::IfcStructuralAnalysisModel> Ifc4x3_add1::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[1078], 7)); } +std::vector<::Ifc4x3_add1::IfcStructuralResultGroup> Ifc4x3_add1::IfcStructuralLoadGroup::SourceOfResultGroup() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[1109], 6)); } +std::vector<::Ifc4x3_add1::IfcStructuralAnalysisModel> Ifc4x3_add1::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[1078], 7)); } // const IfcParse::entity& Ifc4x3_add1::IfcStructuralLoadGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1093]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralLoadGroup::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1093]); } @@ -16504,7 +16504,7 @@ const IfcParse::entity& Ifc4x3_add1::IfcStructuralLoadTemperature::Class() { ret // Function implementations for IfcStructuralMember -std::vector<::Ifc4x3_add1::IfcRelConnectsStructuralMember> Ifc4x3_add1::IfcStructuralMember::ConnectedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[923], 4)); } +std::vector<::Ifc4x3_add1::IfcRelConnectsStructuralMember> Ifc4x3_add1::IfcStructuralMember::ConnectedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[923], 4)); } // const IfcParse::entity& Ifc4x3_add1::IfcStructuralMember::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1103]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralMember::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1103]); } @@ -16561,7 +16561,7 @@ void Ifc4x3_add1::IfcStructuralResultGroup::setResultForLoadGroup(const ::Ifc4x3 bool Ifc4x3_add1::IfcStructuralResultGroup::IsLinear() const { bool v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcStructuralResultGroup::setIsLinear(const bool& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector<::Ifc4x3_add1::IfcStructuralAnalysisModel> Ifc4x3_add1::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[1078], 8)); } +std::vector<::Ifc4x3_add1::IfcStructuralAnalysisModel> Ifc4x3_add1::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[1078], 8)); } // const IfcParse::entity& Ifc4x3_add1::IfcStructuralResultGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1109]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralResultGroup::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1109]); } @@ -16714,7 +16714,7 @@ const IfcParse::entity& Ifc4x3_add1::IfcSurfaceCurveSweptAreaSolid::Class() { re std::optional< ::Ifc4x3_add1::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3_add1::IfcSurfaceFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcSurfaceFeatureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcSurfaceFeature::setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcSurfaceFeatureTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcSurfaceFeatureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_add1::IfcRelAdheresToElement> Ifc4x3_add1::IfcSurfaceFeature::AdheresToElement() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[898], 5)); } +std::vector<::Ifc4x3_add1::IfcRelAdheresToElement> Ifc4x3_add1::IfcSurfaceFeature::AdheresToElement() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[898], 5)); } // const IfcParse::entity& Ifc4x3_add1::IfcSurfaceFeature::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1127]); } const IfcParse::entity& Ifc4x3_add1::IfcSurfaceFeature::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1127]); } @@ -16853,8 +16853,8 @@ void Ifc4x3_add1::IfcSurfaceTexture::setTextureTransform(const ::Ifc4x3_add1::If std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add1::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_add1::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_add1::IfcTextureCoordinate> Ifc4x3_add1::IfcSurfaceTexture::IsMappedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[1192], 0)); } -std::vector<::Ifc4x3_add1::IfcSurfaceStyleWithTextures> Ifc4x3_add1::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[1140], 0)); } +std::vector<::Ifc4x3_add1::IfcTextureCoordinate> Ifc4x3_add1::IfcSurfaceTexture::IsMappedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[1192], 0)); } +std::vector<::Ifc4x3_add1::IfcSurfaceStyleWithTextures> Ifc4x3_add1::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[1140], 0)); } // const IfcParse::entity& Ifc4x3_add1::IfcSurfaceTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1141]); } const IfcParse::entity& Ifc4x3_add1::IfcSurfaceTexture::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1141]); } @@ -16935,8 +16935,8 @@ const IfcParse::entity& Ifc4x3_add1::IfcSwitchingDeviceType::Class() { return *( // Function implementations for IfcSystem -std::vector<::Ifc4x3_add1::IfcRelServicesBuildings> Ifc4x3_add1::IfcSystem::ServicesBuildings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[944], 4)); } -std::vector<::Ifc4x3_add1::IfcRelReferencedInSpatialStructure> Ifc4x3_add1::IfcSystem::ServicesFacilities() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[942], 4)); } +std::vector<::Ifc4x3_add1::IfcRelServicesBuildings> Ifc4x3_add1::IfcSystem::ServicesBuildings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[944], 4)); } +std::vector<::Ifc4x3_add1::IfcRelReferencedInSpatialStructure> Ifc4x3_add1::IfcSystem::ServicesFacilities() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[942], 4)); } // const IfcParse::entity& Ifc4x3_add1::IfcSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1149]); } const IfcParse::entity& Ifc4x3_add1::IfcSystem::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1149]); } @@ -17241,8 +17241,8 @@ const IfcParse::entity& Ifc4x3_add1::IfcTendonType::Class() { return *((IfcParse ::Ifc4x3_add1::IfcCartesianPointList3D Ifc4x3_add1::IfcTessellatedFaceSet::Coordinates() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcCartesianPointList3D>(); } void Ifc4x3_add1::IfcTessellatedFaceSet::setCoordinates(const ::Ifc4x3_add1::IfcCartesianPointList3D& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector<::Ifc4x3_add1::IfcIndexedColourMap> Ifc4x3_add1::IfcTessellatedFaceSet::HasColours() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[542], 0)); } -std::vector<::Ifc4x3_add1::IfcIndexedTextureMap> Ifc4x3_add1::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[547], 1)); } +std::vector<::Ifc4x3_add1::IfcIndexedColourMap> Ifc4x3_add1::IfcTessellatedFaceSet::HasColours() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[542], 0)); } +std::vector<::Ifc4x3_add1::IfcIndexedTextureMap> Ifc4x3_add1::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[547], 1)); } // const IfcParse::entity& Ifc4x3_add1::IfcTessellatedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1177]); } const IfcParse::entity& Ifc4x3_add1::IfcTessellatedFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1177]); } @@ -17379,7 +17379,7 @@ void Ifc4x3_add1::IfcTextureCoordinateIndices::setTexCoordIndex(const std::vecto ::Ifc4x3_add1::IfcIndexedPolygonalFace Ifc4x3_add1::IfcTextureCoordinateIndices::TexCoordsOf() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add1::IfcIndexedPolygonalFace>(); } void Ifc4x3_add1::IfcTextureCoordinateIndices::setTexCoordsOf(const ::Ifc4x3_add1::IfcIndexedPolygonalFace& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector<::Ifc4x3_add1::IfcIndexedPolygonalTextureMap> Ifc4x3_add1::IfcTextureCoordinateIndices::ToTexMap() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[546], 3)); } +std::vector<::Ifc4x3_add1::IfcIndexedPolygonalTextureMap> Ifc4x3_add1::IfcTextureCoordinateIndices::ToTexMap() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[546], 3)); } // const IfcParse::entity& Ifc4x3_add1::IfcTextureCoordinateIndices::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1194]); } const IfcParse::entity& Ifc4x3_add1::IfcTextureCoordinateIndices::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1194]); } @@ -17474,7 +17474,7 @@ void Ifc4x3_add1::IfcTimeSeries::setUserDefinedDataOrigin(const std::optional< s ::Ifc4x3_add1::IfcUnit Ifc4x3_add1::IfcTimeSeries::Unit() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_add1::IfcUnit{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_add1::IfcUnit>(); } void Ifc4x3_add1::IfcTimeSeries::setUnit(const ::Ifc4x3_add1::IfcUnit& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcTimeSeries::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); } +std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcTimeSeries::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); } // const IfcParse::entity& Ifc4x3_add1::IfcTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1210]); } const IfcParse::entity& Ifc4x3_add1::IfcTimeSeries::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1210]); } @@ -17681,7 +17681,7 @@ void Ifc4x3_add1::IfcTypeObject::setApplicableOccurrence(const std::optional< st std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > Ifc4x3_add1::IfcTypeObject::HasPropertySets() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_add1::IfcPropertySetDefinition>(es); } void Ifc4x3_add1::IfcTypeObject::setHasPropertySets(const std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > >& v) { if (v) {set_attribute_value(5, cast_vector(*v));} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3_add1::IfcRelDefinesByType> Ifc4x3_add1::IfcTypeObject::Types() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[935], 5)); } +std::vector<::Ifc4x3_add1::IfcRelDefinesByType> Ifc4x3_add1::IfcTypeObject::Types() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[935], 5)); } // const IfcParse::entity& Ifc4x3_add1::IfcTypeObject::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1241]); } const IfcParse::entity& Ifc4x3_add1::IfcTypeObject::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1241]); } @@ -17696,7 +17696,7 @@ void Ifc4x3_add1::IfcTypeProcess::setLongDescription(const std::optional< std::s std::optional< std::string > Ifc4x3_add1::IfcTypeProcess::ProcessType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcTypeProcess::setProcessType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_add1::IfcRelAssignsToProcess> Ifc4x3_add1::IfcTypeProcess::OperatesOn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[905], 6)); } +std::vector<::Ifc4x3_add1::IfcRelAssignsToProcess> Ifc4x3_add1::IfcTypeProcess::OperatesOn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[905], 6)); } // const IfcParse::entity& Ifc4x3_add1::IfcTypeProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1242]); } const IfcParse::entity& Ifc4x3_add1::IfcTypeProcess::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1242]); } @@ -17709,7 +17709,7 @@ void Ifc4x3_add1::IfcTypeProduct::setRepresentationMaps(const std::optional< std std::optional< std::string > Ifc4x3_add1::IfcTypeProduct::Tag() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcTypeProduct::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -std::vector<::Ifc4x3_add1::IfcRelAssignsToProduct> Ifc4x3_add1::IfcTypeProduct::ReferencedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[906], 6)); } +std::vector<::Ifc4x3_add1::IfcRelAssignsToProduct> Ifc4x3_add1::IfcTypeProduct::ReferencedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[906], 6)); } // const IfcParse::entity& Ifc4x3_add1::IfcTypeProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1243]); } const IfcParse::entity& Ifc4x3_add1::IfcTypeProduct::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1243]); } @@ -17724,7 +17724,7 @@ void Ifc4x3_add1::IfcTypeResource::setLongDescription(const std::optional< std:: std::optional< std::string > Ifc4x3_add1::IfcTypeResource::ResourceType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcTypeResource::setResourceType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_add1::IfcRelAssignsToResource> Ifc4x3_add1::IfcTypeResource::ResourceOf() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[907], 6)); } +std::vector<::Ifc4x3_add1::IfcRelAssignsToResource> Ifc4x3_add1::IfcTypeResource::ResourceOf() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD1_types[907], 6)); } // const IfcParse::entity& Ifc4x3_add1::IfcTypeResource::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1244]); } const IfcParse::entity& Ifc4x3_add1::IfcTypeResource::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1244]); } diff --git a/src/ifcparse/Ifc4x3_add2.cpp b/src/ifcparse/Ifc4x3_add2.cpp index 9cf1c5c54f..2f718b9af7 100644 --- a/src/ifcparse/Ifc4x3_add2.cpp +++ b/src/ifcparse/Ifc4x3_add2.cpp @@ -7756,7 +7756,7 @@ const IfcParse::entity& Ifc4x3_add2::IfcActionRequest::Class() { return *((IfcPa ::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(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[901], 6)); } +std::vector<::Ifc4x3_add2::IfcRelAssignsToActor> Ifc4x3_add2::IfcActor::IsActingUpon() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[901], 6)); } // const IfcParse::entity& Ifc4x3_add2::IfcActor::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[6]); } const IfcParse::entity& Ifc4x3_add2::IfcActor::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[6]); } @@ -7771,7 +7771,7 @@ void Ifc4x3_add2::IfcActorRole::setUserDefinedRole(const std::optional< std::str std::optional< std::string > Ifc4x3_add2::IfcActorRole::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcActorRole::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcActorRole::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[427], 3)); } +std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcActorRole::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[427], 3)); } // const IfcParse::entity& Ifc4x3_add2::IfcActorRole::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[7]); } const IfcParse::entity& Ifc4x3_add2::IfcActorRole::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[7]); } @@ -7806,8 +7806,8 @@ void Ifc4x3_add2::IfcAddress::setDescription(const std::optional< std::string >& std::optional< std::string > Ifc4x3_add2::IfcAddress::UserDefinedPurpose() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcAddress::setUserDefinedPurpose(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x3_add2::IfcPerson> Ifc4x3_add2::IfcAddress::OfPerson() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[737], 7)); } -std::vector<::Ifc4x3_add2::IfcOrganization> Ifc4x3_add2::IfcAddress::OfOrganization() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[716], 4)); } +std::vector<::Ifc4x3_add2::IfcPerson> Ifc4x3_add2::IfcAddress::OfPerson() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[737], 7)); } +std::vector<::Ifc4x3_add2::IfcOrganization> Ifc4x3_add2::IfcAddress::OfOrganization() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[716], 4)); } // const IfcParse::entity& Ifc4x3_add2::IfcAddress::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[12]); } const IfcParse::entity& Ifc4x3_add2::IfcAddress::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[12]); } @@ -8048,7 +8048,7 @@ const IfcParse::entity& Ifc4x3_add2::IfcAlignmentVerticalSegment::Class() { retu std::optional< ::Ifc4x3_add2::IfcAnnotationTypeEnum::Value > Ifc4x3_add2::IfcAnnotation::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcAnnotationTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add2::IfcAnnotation::setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcAnnotationTypeEnum::Value >& v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_add2::IfcAnnotationTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -std::vector<::Ifc4x3_add2::IfcRelContainedInSpatialStructure> Ifc4x3_add2::IfcAnnotation::ContainedInStructure() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[926], 4)); } +std::vector<::Ifc4x3_add2::IfcRelContainedInSpatialStructure> Ifc4x3_add2::IfcAnnotation::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[926], 4)); } // const IfcParse::entity& Ifc4x3_add2::IfcAnnotation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[46]); } const IfcParse::entity& Ifc4x3_add2::IfcAnnotation::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[46]); } @@ -8105,7 +8105,7 @@ void Ifc4x3_add2::IfcAppliedValue::setArithmeticOperator(const std::optional< :: 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(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[427], 3)); } +std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcAppliedValue::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[427], 3)); } // const IfcParse::entity& Ifc4x3_add2::IfcAppliedValue::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[50]); } const IfcParse::entity& Ifc4x3_add2::IfcAppliedValue::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[50]); } @@ -8132,11 +8132,11 @@ void Ifc4x3_add2::IfcApproval::setRequestingApproval(const ::Ifc4x3_add2::IfcAct ::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(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[427], 3)); } -std::vector<::Ifc4x3_add2::IfcRelAssociatesApproval> Ifc4x3_add2::IfcApproval::ApprovedObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[909], 5)); } -std::vector<::Ifc4x3_add2::IfcResourceApprovalRelationship> Ifc4x3_add2::IfcApproval::ApprovedResources() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[955], 3)); } -std::vector<::Ifc4x3_add2::IfcApprovalRelationship> Ifc4x3_add2::IfcApproval::IsRelatedWith() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[53], 3)); } -std::vector<::Ifc4x3_add2::IfcApprovalRelationship> Ifc4x3_add2::IfcApproval::Relates() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[53], 2)); } +std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcApproval::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[427], 3)); } +std::vector<::Ifc4x3_add2::IfcRelAssociatesApproval> Ifc4x3_add2::IfcApproval::ApprovedObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[909], 5)); } +std::vector<::Ifc4x3_add2::IfcResourceApprovalRelationship> Ifc4x3_add2::IfcApproval::ApprovedResources() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[955], 3)); } +std::vector<::Ifc4x3_add2::IfcApprovalRelationship> Ifc4x3_add2::IfcApproval::IsRelatedWith() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[53], 3)); } +std::vector<::Ifc4x3_add2::IfcApprovalRelationship> Ifc4x3_add2::IfcApproval::Relates() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[53], 2)); } // const IfcParse::entity& Ifc4x3_add2::IfcApproval::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[52]); } const IfcParse::entity& Ifc4x3_add2::IfcApproval::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[52]); } @@ -9091,8 +9091,8 @@ void Ifc4x3_add2::IfcClassification::setSpecification(const std::optional< std:: std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add2::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_add2::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_add2::IfcRelAssociatesClassification> Ifc4x3_add2::IfcClassification::ClassificationForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[910], 5)); } -std::vector<::Ifc4x3_add2::IfcClassificationReference> Ifc4x3_add2::IfcClassification::HasReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[169], 3)); } +std::vector<::Ifc4x3_add2::IfcRelAssociatesClassification> Ifc4x3_add2::IfcClassification::ClassificationForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[910], 5)); } +std::vector<::Ifc4x3_add2::IfcClassificationReference> Ifc4x3_add2::IfcClassification::HasReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[169], 3)); } // const IfcParse::entity& Ifc4x3_add2::IfcClassification::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[168]); } const IfcParse::entity& Ifc4x3_add2::IfcClassification::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[168]); } @@ -9107,8 +9107,8 @@ void Ifc4x3_add2::IfcClassificationReference::setDescription(const std::optional std::optional< std::string > Ifc4x3_add2::IfcClassificationReference::Sort() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcClassificationReference::setSort(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3_add2::IfcRelAssociatesClassification> Ifc4x3_add2::IfcClassificationReference::ClassificationRefForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[910], 5)); } -std::vector<::Ifc4x3_add2::IfcClassificationReference> Ifc4x3_add2::IfcClassificationReference::HasReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[169], 3)); } +std::vector<::Ifc4x3_add2::IfcRelAssociatesClassification> Ifc4x3_add2::IfcClassificationReference::ClassificationRefForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[910], 5)); } +std::vector<::Ifc4x3_add2::IfcClassificationReference> Ifc4x3_add2::IfcClassificationReference::HasReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[169], 3)); } // const IfcParse::entity& Ifc4x3_add2::IfcClassificationReference::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[169]); } const IfcParse::entity& Ifc4x3_add2::IfcClassificationReference::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[169]); } @@ -9443,8 +9443,8 @@ void Ifc4x3_add2::IfcConstraint::setCreationTime(const std::optional< std::strin std::optional< std::string > Ifc4x3_add2::IfcConstraint::UserDefinedGrade() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcConstraint::setUserDefinedGrade(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcConstraint::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[427], 3)); } -std::vector<::Ifc4x3_add2::IfcResourceConstraintRelationship> Ifc4x3_add2::IfcConstraint::PropertiesForConstraint() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[956], 2)); } +std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcConstraint::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[427], 3)); } +std::vector<::Ifc4x3_add2::IfcResourceConstraintRelationship> Ifc4x3_add2::IfcConstraint::PropertiesForConstraint() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[956], 2)); } // const IfcParse::entity& Ifc4x3_add2::IfcConstraint::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[212]); } const IfcParse::entity& Ifc4x3_add2::IfcConstraint::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[212]); } @@ -9549,8 +9549,8 @@ void Ifc4x3_add2::IfcContext::setRepresentationContexts(const std::optional< std ::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(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[933], 4)); } -std::vector<::Ifc4x3_add2::IfcRelDeclares> Ifc4x3_add2::IfcContext::Declares() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[929], 4)); } +std::vector<::Ifc4x3_add2::IfcRelDefinesByProperties> Ifc4x3_add2::IfcContext::IsDefinedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[933], 4)); } +std::vector<::Ifc4x3_add2::IfcRelDeclares> Ifc4x3_add2::IfcContext::Declares() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[929], 4)); } // const IfcParse::entity& Ifc4x3_add2::IfcContext::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[225]); } const IfcParse::entity& Ifc4x3_add2::IfcContext::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[225]); } @@ -9561,7 +9561,7 @@ const IfcParse::entity& Ifc4x3_add2::IfcContext::Class() { return *((IfcParse::e std::string Ifc4x3_add2::IfcContextDependentUnit::Name() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcContextDependentUnit::setName(const std::string& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcContextDependentUnit::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[427], 3)); } +std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcContextDependentUnit::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[427], 3)); } // const IfcParse::entity& Ifc4x3_add2::IfcContextDependentUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[227]); } const IfcParse::entity& Ifc4x3_add2::IfcContextDependentUnit::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[227]); } @@ -9572,7 +9572,7 @@ const IfcParse::entity& Ifc4x3_add2::IfcContextDependentUnit::Class() { return * std::optional< std::string > Ifc4x3_add2::IfcControl::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcControl::setIdentification(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3_add2::IfcRelAssignsToControl> Ifc4x3_add2::IfcControl::Controls() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[902], 6)); } +std::vector<::Ifc4x3_add2::IfcRelAssignsToControl> Ifc4x3_add2::IfcControl::Controls() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[902], 6)); } // const IfcParse::entity& Ifc4x3_add2::IfcControl::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[228]); } const IfcParse::entity& Ifc4x3_add2::IfcControl::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[228]); } @@ -9605,7 +9605,7 @@ void Ifc4x3_add2::IfcConversionBasedUnit::setName(const std::string& v) { set_at ::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(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[427], 3)); } +std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[427], 3)); } // const IfcParse::entity& Ifc4x3_add2::IfcConversionBasedUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[232]); } const IfcParse::entity& Ifc4x3_add2::IfcConversionBasedUnit::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[232]); } @@ -9702,8 +9702,8 @@ void Ifc4x3_add2::IfcCoordinateReferenceSystem::setDescription(const std::option std::optional< std::string > Ifc4x3_add2::IfcCoordinateReferenceSystem::GeodeticDatum() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcCoordinateReferenceSystem::setGeodeticDatum(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x3_add2::IfcCoordinateOperation> Ifc4x3_add2::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[243], 0)); } -std::vector<::Ifc4x3_add2::IfcWellKnownText> Ifc4x3_add2::IfcCoordinateReferenceSystem::WellKnownText() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[1292], 1)); } +std::vector<::Ifc4x3_add2::IfcCoordinateOperation> Ifc4x3_add2::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[243], 0)); } +std::vector<::Ifc4x3_add2::IfcWellKnownText> Ifc4x3_add2::IfcCoordinateReferenceSystem::WellKnownText() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[1292], 1)); } // const IfcParse::entity& Ifc4x3_add2::IfcCoordinateReferenceSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[244]); } const IfcParse::entity& Ifc4x3_add2::IfcCoordinateReferenceSystem::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[244]); } @@ -9784,8 +9784,8 @@ const IfcParse::entity& Ifc4x3_add2::IfcCourseType::Class() { return *((IfcParse 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)); } void Ifc4x3_add2::IfcCovering::setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcCoveringTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcCoveringTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_add2::IfcRelCoversSpaces> Ifc4x3_add2::IfcCovering::CoversSpaces() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[928], 5)); } -std::vector<::Ifc4x3_add2::IfcRelCoversBldgElements> Ifc4x3_add2::IfcCovering::CoversElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[927], 5)); } +std::vector<::Ifc4x3_add2::IfcRelCoversSpaces> Ifc4x3_add2::IfcCovering::CoversSpaces() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[928], 5)); } +std::vector<::Ifc4x3_add2::IfcRelCoversBldgElements> Ifc4x3_add2::IfcCovering::CoversElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[927], 5)); } // const IfcParse::entity& Ifc4x3_add2::IfcCovering::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[256]); } const IfcParse::entity& Ifc4x3_add2::IfcCovering::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[256]); } @@ -10198,7 +10198,7 @@ const IfcParse::entity& Ifc4x3_add2::IfcDistributionCircuit::Class() { return *( // Function implementations for IfcDistributionControlElement -std::vector<::Ifc4x3_add2::IfcRelFlowControlElements> Ifc4x3_add2::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[937], 4)); } +std::vector<::Ifc4x3_add2::IfcRelFlowControlElements> Ifc4x3_add2::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[937], 4)); } // const IfcParse::entity& Ifc4x3_add2::IfcDistributionControlElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[319]); } const IfcParse::entity& Ifc4x3_add2::IfcDistributionControlElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[319]); } @@ -10215,7 +10215,7 @@ const IfcParse::entity& Ifc4x3_add2::IfcDistributionControlElementType::Class() // Function implementations for IfcDistributionElement -std::vector<::Ifc4x3_add2::IfcRelConnectsPortToElement> Ifc4x3_add2::IfcDistributionElement::HasPorts() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[921], 5)); } +std::vector<::Ifc4x3_add2::IfcRelConnectsPortToElement> Ifc4x3_add2::IfcDistributionElement::HasPorts() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[921], 5)); } // const IfcParse::entity& Ifc4x3_add2::IfcDistributionElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[321]); } const IfcParse::entity& Ifc4x3_add2::IfcDistributionElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[321]); } @@ -10232,7 +10232,7 @@ const IfcParse::entity& Ifc4x3_add2::IfcDistributionElementType::Class() { retur // Function implementations for IfcDistributionFlowElement -std::vector<::Ifc4x3_add2::IfcRelFlowControlElements> Ifc4x3_add2::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[937], 5)); } +std::vector<::Ifc4x3_add2::IfcRelFlowControlElements> Ifc4x3_add2::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[937], 5)); } // const IfcParse::entity& Ifc4x3_add2::IfcDistributionFlowElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[323]); } const IfcParse::entity& Ifc4x3_add2::IfcDistributionFlowElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[323]); } @@ -10309,10 +10309,10 @@ void Ifc4x3_add2::IfcDocumentInformation::setConfidentiality(const std::optional std::optional< ::Ifc4x3_add2::IfcDocumentStatusEnum::Value > Ifc4x3_add2::IfcDocumentInformation::Status() const { if(get_attribute_value(16).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcDocumentStatusEnum::FromString(get_attribute_value(16)); } void Ifc4x3_add2::IfcDocumentInformation::setStatus(const std::optional< ::Ifc4x3_add2::IfcDocumentStatusEnum::Value >& v) { if (v) {set_attribute_value(16, EnumerationReference(&::Ifc4x3_add2::IfcDocumentStatusEnum::Class(), (size_t) *v));} else {unset_attribute_value(16);} } -std::vector<::Ifc4x3_add2::IfcRelAssociatesDocument> Ifc4x3_add2::IfcDocumentInformation::DocumentInfoForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[912], 5)); } -std::vector<::Ifc4x3_add2::IfcDocumentReference> Ifc4x3_add2::IfcDocumentInformation::HasDocumentReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[332], 4)); } -std::vector<::Ifc4x3_add2::IfcDocumentInformationRelationship> Ifc4x3_add2::IfcDocumentInformation::IsPointedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[331], 3)); } -std::vector<::Ifc4x3_add2::IfcDocumentInformationRelationship> Ifc4x3_add2::IfcDocumentInformation::IsPointer() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[331], 2)); } +std::vector<::Ifc4x3_add2::IfcRelAssociatesDocument> Ifc4x3_add2::IfcDocumentInformation::DocumentInfoForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[912], 5)); } +std::vector<::Ifc4x3_add2::IfcDocumentReference> Ifc4x3_add2::IfcDocumentInformation::HasDocumentReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[332], 4)); } +std::vector<::Ifc4x3_add2::IfcDocumentInformationRelationship> Ifc4x3_add2::IfcDocumentInformation::IsPointedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[331], 3)); } +std::vector<::Ifc4x3_add2::IfcDocumentInformationRelationship> Ifc4x3_add2::IfcDocumentInformation::IsPointer() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[331], 2)); } // const IfcParse::entity& Ifc4x3_add2::IfcDocumentInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[330]); } const IfcParse::entity& Ifc4x3_add2::IfcDocumentInformation::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[330]); } @@ -10339,7 +10339,7 @@ void Ifc4x3_add2::IfcDocumentReference::setDescription(const std::optional< std: ::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(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[912], 5)); } +std::vector<::Ifc4x3_add2::IfcRelAssociatesDocument> Ifc4x3_add2::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[912], 5)); } // const IfcParse::entity& Ifc4x3_add2::IfcDocumentReference::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[332]); } const IfcParse::entity& Ifc4x3_add2::IfcDocumentReference::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[332]); } @@ -10714,18 +10714,18 @@ const IfcParse::entity& Ifc4x3_add2::IfcElectricTimeControlType::Class() { retur 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; } void Ifc4x3_add2::IfcElement::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -std::vector<::Ifc4x3_add2::IfcRelFillsElement> Ifc4x3_add2::IfcElement::FillsVoids() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[936], 5)); } -std::vector<::Ifc4x3_add2::IfcRelConnectsElements> Ifc4x3_add2::IfcElement::ConnectedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[918], 5)); } -std::vector<::Ifc4x3_add2::IfcRelInterferesElements> Ifc4x3_add2::IfcElement::IsInterferedByElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[938], 5)); } -std::vector<::Ifc4x3_add2::IfcRelInterferesElements> Ifc4x3_add2::IfcElement::InterferesElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[938], 4)); } -std::vector<::Ifc4x3_add2::IfcRelProjectsElement> Ifc4x3_add2::IfcElement::HasProjections() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[941], 4)); } -std::vector<::Ifc4x3_add2::IfcRelVoidsElement> Ifc4x3_add2::IfcElement::HasOpenings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[948], 4)); } -std::vector<::Ifc4x3_add2::IfcRelConnectsWithRealizingElements> Ifc4x3_add2::IfcElement::IsConnectionRealization() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[925], 7)); } -std::vector<::Ifc4x3_add2::IfcRelSpaceBoundary> Ifc4x3_add2::IfcElement::ProvidesBoundaries() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[945], 5)); } -std::vector<::Ifc4x3_add2::IfcRelConnectsElements> Ifc4x3_add2::IfcElement::ConnectedFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[918], 6)); } -std::vector<::Ifc4x3_add2::IfcRelContainedInSpatialStructure> Ifc4x3_add2::IfcElement::ContainedInStructure() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[926], 4)); } -std::vector<::Ifc4x3_add2::IfcRelCoversBldgElements> Ifc4x3_add2::IfcElement::HasCoverings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[927], 4)); } -std::vector<::Ifc4x3_add2::IfcRelAdheresToElement> Ifc4x3_add2::IfcElement::HasSurfaceFeatures() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[898], 4)); } +std::vector<::Ifc4x3_add2::IfcRelFillsElement> Ifc4x3_add2::IfcElement::FillsVoids() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[936], 5)); } +std::vector<::Ifc4x3_add2::IfcRelConnectsElements> Ifc4x3_add2::IfcElement::ConnectedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[918], 5)); } +std::vector<::Ifc4x3_add2::IfcRelInterferesElements> Ifc4x3_add2::IfcElement::IsInterferedByElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[938], 5)); } +std::vector<::Ifc4x3_add2::IfcRelInterferesElements> Ifc4x3_add2::IfcElement::InterferesElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[938], 4)); } +std::vector<::Ifc4x3_add2::IfcRelProjectsElement> Ifc4x3_add2::IfcElement::HasProjections() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[941], 4)); } +std::vector<::Ifc4x3_add2::IfcRelVoidsElement> Ifc4x3_add2::IfcElement::HasOpenings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[948], 4)); } +std::vector<::Ifc4x3_add2::IfcRelConnectsWithRealizingElements> Ifc4x3_add2::IfcElement::IsConnectionRealization() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[925], 7)); } +std::vector<::Ifc4x3_add2::IfcRelSpaceBoundary> Ifc4x3_add2::IfcElement::ProvidesBoundaries() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[945], 5)); } +std::vector<::Ifc4x3_add2::IfcRelConnectsElements> Ifc4x3_add2::IfcElement::ConnectedFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[918], 6)); } +std::vector<::Ifc4x3_add2::IfcRelContainedInSpatialStructure> Ifc4x3_add2::IfcElement::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[926], 4)); } +std::vector<::Ifc4x3_add2::IfcRelCoversBldgElements> Ifc4x3_add2::IfcElement::HasCoverings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[927], 4)); } +std::vector<::Ifc4x3_add2::IfcRelAdheresToElement> Ifc4x3_add2::IfcElement::HasSurfaceFeatures() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[898], 4)); } // const IfcParse::entity& Ifc4x3_add2::IfcElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[392]); } const IfcParse::entity& Ifc4x3_add2::IfcElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[392]); } @@ -10978,7 +10978,7 @@ void Ifc4x3_add2::IfcExternalReference::setIdentification(const std::optional< s std::optional< std::string > Ifc4x3_add2::IfcExternalReference::Name() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcExternalReference::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[427], 2)); } +std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[427], 2)); } // const IfcParse::entity& Ifc4x3_add2::IfcExternalReference::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[426]); } const IfcParse::entity& Ifc4x3_add2::IfcExternalReference::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[426]); } @@ -11001,7 +11001,7 @@ const IfcParse::entity& Ifc4x3_add2::IfcExternalReferenceRelationship::Class() { 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)); } void Ifc4x3_add2::IfcExternalSpatialElement::setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcExternalSpatialElementTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcExternalSpatialElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_add2::IfcRelSpaceBoundary> Ifc4x3_add2::IfcExternalSpatialElement::BoundedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[945], 4)); } +std::vector<::Ifc4x3_add2::IfcRelSpaceBoundary> Ifc4x3_add2::IfcExternalSpatialElement::BoundedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[945], 4)); } // const IfcParse::entity& Ifc4x3_add2::IfcExternalSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[428]); } const IfcParse::entity& Ifc4x3_add2::IfcExternalSpatialElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[428]); } @@ -11066,7 +11066,7 @@ const IfcParse::entity& Ifc4x3_add2::IfcExtrudedAreaSolidTapered::Class() { retu 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(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[1196], 2)); } +std::vector<::Ifc4x3_add2::IfcTextureMap> Ifc4x3_add2::IfcFace::HasTextureMaps() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[1196], 2)); } // const IfcParse::entity& Ifc4x3_add2::IfcFace::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[433]); } const IfcParse::entity& Ifc4x3_add2::IfcFace::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[433]); } @@ -11231,7 +11231,7 @@ const IfcParse::entity& Ifc4x3_add2::IfcFeatureElement::Class() { return *((IfcP // Function implementations for IfcFeatureElementAddition -std::vector<::Ifc4x3_add2::IfcRelProjectsElement> Ifc4x3_add2::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[941], 5)); } +std::vector<::Ifc4x3_add2::IfcRelProjectsElement> Ifc4x3_add2::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[941], 5)); } // const IfcParse::entity& Ifc4x3_add2::IfcFeatureElementAddition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[453]); } const IfcParse::entity& Ifc4x3_add2::IfcFeatureElementAddition::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[453]); } @@ -11240,7 +11240,7 @@ const IfcParse::entity& Ifc4x3_add2::IfcFeatureElementAddition::Class() { return // Function implementations for IfcFeatureElementSubtraction -std::vector<::Ifc4x3_add2::IfcRelVoidsElement> Ifc4x3_add2::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[948], 5)); } +std::vector<::Ifc4x3_add2::IfcRelVoidsElement> Ifc4x3_add2::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[948], 5)); } // const IfcParse::entity& Ifc4x3_add2::IfcFeatureElementSubtraction::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[454]); } const IfcParse::entity& Ifc4x3_add2::IfcFeatureElementSubtraction::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[454]); } @@ -11603,8 +11603,8 @@ void Ifc4x3_add2::IfcGeometricRepresentationContext::setWorldCoordinateSystem(co ::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(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[508], 6)); } -std::vector<::Ifc4x3_add2::IfcCoordinateOperation> Ifc4x3_add2::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[243], 0)); } +std::vector<::Ifc4x3_add2::IfcGeometricRepresentationSubContext> Ifc4x3_add2::IfcGeometricRepresentationContext::HasSubContexts() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[508], 6)); } +std::vector<::Ifc4x3_add2::IfcCoordinateOperation> Ifc4x3_add2::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[243], 0)); } // const IfcParse::entity& Ifc4x3_add2::IfcGeometricRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[506]); } const IfcParse::entity& Ifc4x3_add2::IfcGeometricRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[506]); } @@ -11723,10 +11723,10 @@ void Ifc4x3_add2::IfcGridAxis::setAxisCurve(const ::Ifc4x3_add2::IfcCurve& v) { 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); } -std::vector<::Ifc4x3_add2::IfcGrid> Ifc4x3_add2::IfcGridAxis::PartOfW() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[520], 9)); } -std::vector<::Ifc4x3_add2::IfcGrid> Ifc4x3_add2::IfcGridAxis::PartOfV() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[520], 8)); } -std::vector<::Ifc4x3_add2::IfcGrid> Ifc4x3_add2::IfcGridAxis::PartOfU() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[520], 7)); } -std::vector<::Ifc4x3_add2::IfcVirtualGridIntersection> Ifc4x3_add2::IfcGridAxis::HasIntersections() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[1277], 0)); } +std::vector<::Ifc4x3_add2::IfcGrid> Ifc4x3_add2::IfcGridAxis::PartOfW() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[520], 9)); } +std::vector<::Ifc4x3_add2::IfcGrid> Ifc4x3_add2::IfcGridAxis::PartOfV() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[520], 8)); } +std::vector<::Ifc4x3_add2::IfcGrid> Ifc4x3_add2::IfcGridAxis::PartOfU() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[520], 7)); } +std::vector<::Ifc4x3_add2::IfcVirtualGridIntersection> Ifc4x3_add2::IfcGridAxis::HasIntersections() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[1277], 0)); } // const IfcParse::entity& Ifc4x3_add2::IfcGridAxis::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[521]); } const IfcParse::entity& Ifc4x3_add2::IfcGridAxis::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[521]); } @@ -11747,8 +11747,8 @@ const IfcParse::entity& Ifc4x3_add2::IfcGridPlacement::Class() { return *((IfcPa // Function implementations for IfcGroup -std::vector<::Ifc4x3_add2::IfcRelAssignsToGroup> Ifc4x3_add2::IfcGroup::IsGroupedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[903], 6)); } -std::vector<::Ifc4x3_add2::IfcRelReferencedInSpatialStructure> Ifc4x3_add2::IfcGroup::ReferencedInStructures() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[942], 4)); } +std::vector<::Ifc4x3_add2::IfcRelAssignsToGroup> Ifc4x3_add2::IfcGroup::IsGroupedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[903], 6)); } +std::vector<::Ifc4x3_add2::IfcRelReferencedInSpatialStructure> Ifc4x3_add2::IfcGroup::ReferencedInStructures() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[942], 4)); } // const IfcParse::entity& Ifc4x3_add2::IfcGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[525]); } const IfcParse::entity& Ifc4x3_add2::IfcGroup::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[525]); } @@ -11893,8 +11893,8 @@ const IfcParse::entity& Ifc4x3_add2::IfcIndexedPolyCurve::Class() { return *((If std::vector< int > /*[3:?]*/ Ifc4x3_add2::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcIndexedPolygonalFace::setCoordIndex(const std::vector< int > /*[3:?]*/& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector<::Ifc4x3_add2::IfcPolygonalFaceSet> Ifc4x3_add2::IfcIndexedPolygonalFace::ToFaceSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[770], 2)); } -std::vector<::Ifc4x3_add2::IfcTextureCoordinateIndices> Ifc4x3_add2::IfcIndexedPolygonalFace::HasTexCoords() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[1194], 1)); } +std::vector<::Ifc4x3_add2::IfcPolygonalFaceSet> Ifc4x3_add2::IfcIndexedPolygonalFace::ToFaceSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[770], 2)); } +std::vector<::Ifc4x3_add2::IfcTextureCoordinateIndices> Ifc4x3_add2::IfcIndexedPolygonalFace::HasTexCoords() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[1194], 1)); } // const IfcParse::entity& Ifc4x3_add2::IfcIndexedPolygonalFace::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[544]); } const IfcParse::entity& Ifc4x3_add2::IfcIndexedPolygonalFace::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[544]); } @@ -12139,8 +12139,8 @@ void Ifc4x3_add2::IfcLibraryInformation::setLocation(const std::optional< std::s std::optional< std::string > Ifc4x3_add2::IfcLibraryInformation::Description() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcLibraryInformation::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3_add2::IfcRelAssociatesLibrary> Ifc4x3_add2::IfcLibraryInformation::LibraryInfoForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[913], 5)); } -std::vector<::Ifc4x3_add2::IfcLibraryReference> Ifc4x3_add2::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[586], 5)); } +std::vector<::Ifc4x3_add2::IfcRelAssociatesLibrary> Ifc4x3_add2::IfcLibraryInformation::LibraryInfoForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[913], 5)); } +std::vector<::Ifc4x3_add2::IfcLibraryReference> Ifc4x3_add2::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[586], 5)); } // const IfcParse::entity& Ifc4x3_add2::IfcLibraryInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[585]); } const IfcParse::entity& Ifc4x3_add2::IfcLibraryInformation::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[585]); } @@ -12155,7 +12155,7 @@ void Ifc4x3_add2::IfcLibraryReference::setLanguage(const std::optional< std::str ::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(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[913], 5)); } +std::vector<::Ifc4x3_add2::IfcRelAssociatesLibrary> Ifc4x3_add2::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[913], 5)); } // const IfcParse::entity& Ifc4x3_add2::IfcLibraryReference::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[586]); } const IfcParse::entity& Ifc4x3_add2::IfcLibraryReference::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[586]); } @@ -12458,9 +12458,9 @@ void Ifc4x3_add2::IfcMaterial::setDescription(const std::optional< std::string > std::optional< std::string > Ifc4x3_add2::IfcMaterial::Category() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcMaterial::setCategory(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x3_add2::IfcMaterialDefinitionRepresentation> Ifc4x3_add2::IfcMaterial::HasRepresentation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[642], 3)); } -std::vector<::Ifc4x3_add2::IfcMaterialRelationship> Ifc4x3_add2::IfcMaterial::IsRelatedWith() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[654], 3)); } -std::vector<::Ifc4x3_add2::IfcMaterialRelationship> Ifc4x3_add2::IfcMaterial::RelatesTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[654], 2)); } +std::vector<::Ifc4x3_add2::IfcMaterialDefinitionRepresentation> Ifc4x3_add2::IfcMaterial::HasRepresentation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[642], 3)); } +std::vector<::Ifc4x3_add2::IfcMaterialRelationship> Ifc4x3_add2::IfcMaterial::IsRelatedWith() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[654], 3)); } +std::vector<::Ifc4x3_add2::IfcMaterialRelationship> Ifc4x3_add2::IfcMaterial::RelatesTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[654], 2)); } // const IfcParse::entity& Ifc4x3_add2::IfcMaterial::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[637]); } const IfcParse::entity& Ifc4x3_add2::IfcMaterial::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[637]); } @@ -12491,7 +12491,7 @@ void Ifc4x3_add2::IfcMaterialConstituent::setFraction(const std::optional< doubl std::optional< std::string > Ifc4x3_add2::IfcMaterialConstituent::Category() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcMaterialConstituent::setCategory(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector<::Ifc4x3_add2::IfcMaterialConstituentSet> Ifc4x3_add2::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[640], 2)); } +std::vector<::Ifc4x3_add2::IfcMaterialConstituentSet> Ifc4x3_add2::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[640], 2)); } // const IfcParse::entity& Ifc4x3_add2::IfcMaterialConstituent::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[639]); } const IfcParse::entity& Ifc4x3_add2::IfcMaterialConstituent::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[639]); } @@ -12514,9 +12514,9 @@ const IfcParse::entity& Ifc4x3_add2::IfcMaterialConstituentSet::Class() { return // Function implementations for IfcMaterialDefinition -std::vector<::Ifc4x3_add2::IfcRelAssociatesMaterial> Ifc4x3_add2::IfcMaterialDefinition::AssociatedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[914], 5)); } -std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcMaterialDefinition::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[427], 3)); } -std::vector<::Ifc4x3_add2::IfcMaterialProperties> Ifc4x3_add2::IfcMaterialDefinition::HasProperties() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[653], 3)); } +std::vector<::Ifc4x3_add2::IfcRelAssociatesMaterial> Ifc4x3_add2::IfcMaterialDefinition::AssociatedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[914], 5)); } +std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcMaterialDefinition::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[427], 3)); } +std::vector<::Ifc4x3_add2::IfcMaterialProperties> Ifc4x3_add2::IfcMaterialDefinition::HasProperties() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[653], 3)); } // const IfcParse::entity& Ifc4x3_add2::IfcMaterialDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[641]); } const IfcParse::entity& Ifc4x3_add2::IfcMaterialDefinition::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[641]); } @@ -12549,7 +12549,7 @@ void Ifc4x3_add2::IfcMaterialLayer::setCategory(const std::optional< std::string std::optional< int > Ifc4x3_add2::IfcMaterialLayer::Priority() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } int v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcMaterialLayer::setPriority(const std::optional< int >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x3_add2::IfcMaterialLayerSet> Ifc4x3_add2::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[644], 0)); } +std::vector<::Ifc4x3_add2::IfcMaterialLayerSet> Ifc4x3_add2::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[644], 0)); } // const IfcParse::entity& Ifc4x3_add2::IfcMaterialLayer::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[643]); } const IfcParse::entity& Ifc4x3_add2::IfcMaterialLayer::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[643]); } @@ -12624,7 +12624,7 @@ void Ifc4x3_add2::IfcMaterialProfile::setPriority(const std::optional< int >& v) std::optional< std::string > Ifc4x3_add2::IfcMaterialProfile::Category() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcMaterialProfile::setCategory(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3_add2::IfcMaterialProfileSet> Ifc4x3_add2::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[649], 2)); } +std::vector<::Ifc4x3_add2::IfcMaterialProfileSet> Ifc4x3_add2::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[649], 2)); } // const IfcParse::entity& Ifc4x3_add2::IfcMaterialProfile::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[648]); } const IfcParse::entity& Ifc4x3_add2::IfcMaterialProfile::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[648]); } @@ -12709,7 +12709,7 @@ const IfcParse::entity& Ifc4x3_add2::IfcMaterialRelationship::Class() { return * // Function implementations for IfcMaterialUsageDefinition -std::vector<::Ifc4x3_add2::IfcRelAssociatesMaterial> Ifc4x3_add2::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[914], 5)); } +std::vector<::Ifc4x3_add2::IfcRelAssociatesMaterial> Ifc4x3_add2::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[914], 5)); } // const IfcParse::entity& Ifc4x3_add2::IfcMaterialUsageDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[656]); } const IfcParse::entity& Ifc4x3_add2::IfcMaterialUsageDefinition::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[656]); } @@ -12926,10 +12926,10 @@ const IfcParse::entity& Ifc4x3_add2::IfcNavigationElementType::Class() { return 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; } void Ifc4x3_add2::IfcObject::setObjectType(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector<::Ifc4x3_add2::IfcRelDefinesByObject> Ifc4x3_add2::IfcObject::IsDeclaredBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[932], 4)); } -std::vector<::Ifc4x3_add2::IfcRelDefinesByObject> Ifc4x3_add2::IfcObject::Declares() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[932], 5)); } -std::vector<::Ifc4x3_add2::IfcRelDefinesByType> Ifc4x3_add2::IfcObject::IsTypedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[935], 4)); } -std::vector<::Ifc4x3_add2::IfcRelDefinesByProperties> Ifc4x3_add2::IfcObject::IsDefinedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[933], 4)); } +std::vector<::Ifc4x3_add2::IfcRelDefinesByObject> Ifc4x3_add2::IfcObject::IsDeclaredBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[932], 4)); } +std::vector<::Ifc4x3_add2::IfcRelDefinesByObject> Ifc4x3_add2::IfcObject::Declares() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[932], 5)); } +std::vector<::Ifc4x3_add2::IfcRelDefinesByType> Ifc4x3_add2::IfcObject::IsTypedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[935], 4)); } +std::vector<::Ifc4x3_add2::IfcRelDefinesByProperties> Ifc4x3_add2::IfcObject::IsDefinedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[933], 4)); } // const IfcParse::entity& Ifc4x3_add2::IfcObject::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[700]); } const IfcParse::entity& Ifc4x3_add2::IfcObject::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[700]); } @@ -12938,13 +12938,13 @@ const IfcParse::entity& Ifc4x3_add2::IfcObject::Class() { return *((IfcParse::en // Function implementations for IfcObjectDefinition -std::vector<::Ifc4x3_add2::IfcRelAssigns> Ifc4x3_add2::IfcObjectDefinition::HasAssignments() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[900], 4)); } -std::vector<::Ifc4x3_add2::IfcRelNests> Ifc4x3_add2::IfcObjectDefinition::Nests() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[939], 5)); } -std::vector<::Ifc4x3_add2::IfcRelNests> Ifc4x3_add2::IfcObjectDefinition::IsNestedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[939], 4)); } -std::vector<::Ifc4x3_add2::IfcRelDeclares> Ifc4x3_add2::IfcObjectDefinition::HasContext() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[929], 5)); } -std::vector<::Ifc4x3_add2::IfcRelAggregates> Ifc4x3_add2::IfcObjectDefinition::IsDecomposedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[899], 4)); } -std::vector<::Ifc4x3_add2::IfcRelAggregates> Ifc4x3_add2::IfcObjectDefinition::Decomposes() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[899], 5)); } -std::vector<::Ifc4x3_add2::IfcRelAssociates> Ifc4x3_add2::IfcObjectDefinition::HasAssociations() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[908], 4)); } +std::vector<::Ifc4x3_add2::IfcRelAssigns> Ifc4x3_add2::IfcObjectDefinition::HasAssignments() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[900], 4)); } +std::vector<::Ifc4x3_add2::IfcRelNests> Ifc4x3_add2::IfcObjectDefinition::Nests() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[939], 5)); } +std::vector<::Ifc4x3_add2::IfcRelNests> Ifc4x3_add2::IfcObjectDefinition::IsNestedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[939], 4)); } +std::vector<::Ifc4x3_add2::IfcRelDeclares> Ifc4x3_add2::IfcObjectDefinition::HasContext() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[929], 5)); } +std::vector<::Ifc4x3_add2::IfcRelAggregates> Ifc4x3_add2::IfcObjectDefinition::IsDecomposedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[899], 4)); } +std::vector<::Ifc4x3_add2::IfcRelAggregates> Ifc4x3_add2::IfcObjectDefinition::Decomposes() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[899], 5)); } +std::vector<::Ifc4x3_add2::IfcRelAssociates> Ifc4x3_add2::IfcObjectDefinition::HasAssociations() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[908], 4)); } // const IfcParse::entity& Ifc4x3_add2::IfcObjectDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[701]); } const IfcParse::entity& Ifc4x3_add2::IfcObjectDefinition::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[701]); } @@ -12955,8 +12955,8 @@ const IfcParse::entity& Ifc4x3_add2::IfcObjectDefinition::Class() { return *((If ::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(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[800], 5)); } -std::vector<::Ifc4x3_add2::IfcObjectPlacement> Ifc4x3_add2::IfcObjectPlacement::ReferencedByPlacements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[704], 0)); } +std::vector<::Ifc4x3_add2::IfcProduct> Ifc4x3_add2::IfcObjectPlacement::PlacesObject() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[800], 5)); } +std::vector<::Ifc4x3_add2::IfcObjectPlacement> Ifc4x3_add2::IfcObjectPlacement::ReferencedByPlacements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[704], 0)); } // const IfcParse::entity& Ifc4x3_add2::IfcObjectPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[704]); } const IfcParse::entity& Ifc4x3_add2::IfcObjectPlacement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[704]); } @@ -13067,7 +13067,7 @@ const IfcParse::entity& Ifc4x3_add2::IfcOpenShell::Class() { return *((IfcParse: 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)); } void Ifc4x3_add2::IfcOpeningElement::setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcOpeningElementTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcOpeningElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_add2::IfcRelFillsElement> Ifc4x3_add2::IfcOpeningElement::HasFillings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[936], 4)); } +std::vector<::Ifc4x3_add2::IfcRelFillsElement> Ifc4x3_add2::IfcOpeningElement::HasFillings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[936], 4)); } // const IfcParse::entity& Ifc4x3_add2::IfcOpeningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[713]); } const IfcParse::entity& Ifc4x3_add2::IfcOpeningElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[713]); } @@ -13086,9 +13086,9 @@ void Ifc4x3_add2::IfcOrganization::setRoles(const std::optional< std::vector< :: 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(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[717], 3)); } -std::vector<::Ifc4x3_add2::IfcOrganizationRelationship> Ifc4x3_add2::IfcOrganization::Relates() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[717], 2)); } -std::vector<::Ifc4x3_add2::IfcPersonAndOrganization> Ifc4x3_add2::IfcOrganization::Engages() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[738], 1)); } +std::vector<::Ifc4x3_add2::IfcOrganizationRelationship> Ifc4x3_add2::IfcOrganization::IsRelatedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[717], 3)); } +std::vector<::Ifc4x3_add2::IfcOrganizationRelationship> Ifc4x3_add2::IfcOrganization::Relates() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[717], 2)); } +std::vector<::Ifc4x3_add2::IfcPersonAndOrganization> Ifc4x3_add2::IfcOrganization::Engages() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[738], 1)); } // const IfcParse::entity& Ifc4x3_add2::IfcOrganization::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[716]); } const IfcParse::entity& Ifc4x3_add2::IfcOrganization::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[716]); } @@ -13285,7 +13285,7 @@ void Ifc4x3_add2::IfcPerson::setRoles(const std::optional< std::vector< ::Ifc4x3 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(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[738], 0)); } +std::vector<::Ifc4x3_add2::IfcPersonAndOrganization> Ifc4x3_add2::IfcPerson::EngagedIn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[738], 0)); } // const IfcParse::entity& Ifc4x3_add2::IfcPerson::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[737]); } const IfcParse::entity& Ifc4x3_add2::IfcPerson::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[737]); } @@ -13328,8 +13328,8 @@ void Ifc4x3_add2::IfcPhysicalQuantity::setName(const std::string& v) { set_attri std::optional< std::string > Ifc4x3_add2::IfcPhysicalQuantity::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcPhysicalQuantity::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcPhysicalQuantity::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[427], 3)); } -std::vector<::Ifc4x3_add2::IfcPhysicalComplexQuantity> Ifc4x3_add2::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[740], 2)); } +std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcPhysicalQuantity::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[427], 3)); } +std::vector<::Ifc4x3_add2::IfcPhysicalComplexQuantity> Ifc4x3_add2::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[740], 2)); } // const IfcParse::entity& Ifc4x3_add2::IfcPhysicalQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[742]); } const IfcParse::entity& Ifc4x3_add2::IfcPhysicalQuantity::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[742]); } @@ -13600,9 +13600,9 @@ const IfcParse::entity& Ifc4x3_add2::IfcPolynomialCurve::Class() { return *((Ifc // Function implementations for IfcPort -std::vector<::Ifc4x3_add2::IfcRelConnectsPortToElement> Ifc4x3_add2::IfcPort::ContainedIn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[921], 4)); } -std::vector<::Ifc4x3_add2::IfcRelConnectsPorts> Ifc4x3_add2::IfcPort::ConnectedFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[920], 5)); } -std::vector<::Ifc4x3_add2::IfcRelConnectsPorts> Ifc4x3_add2::IfcPort::ConnectedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[920], 4)); } +std::vector<::Ifc4x3_add2::IfcRelConnectsPortToElement> Ifc4x3_add2::IfcPort::ContainedIn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[921], 4)); } +std::vector<::Ifc4x3_add2::IfcRelConnectsPorts> Ifc4x3_add2::IfcPort::ConnectedFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[920], 5)); } +std::vector<::Ifc4x3_add2::IfcRelConnectsPorts> Ifc4x3_add2::IfcPort::ConnectedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[920], 4)); } // const IfcParse::entity& Ifc4x3_add2::IfcPort::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[774]); } const IfcParse::entity& Ifc4x3_add2::IfcPort::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[774]); } @@ -13611,8 +13611,8 @@ const IfcParse::entity& Ifc4x3_add2::IfcPort::Class() { return *((IfcParse::enti // Function implementations for IfcPositioningElement -std::vector<::Ifc4x3_add2::IfcRelContainedInSpatialStructure> Ifc4x3_add2::IfcPositioningElement::ContainedInStructure() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[926], 4)); } -std::vector<::Ifc4x3_add2::IfcRelPositions> Ifc4x3_add2::IfcPositioningElement::Positions() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[940], 4)); } +std::vector<::Ifc4x3_add2::IfcRelContainedInSpatialStructure> Ifc4x3_add2::IfcPositioningElement::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[926], 4)); } +std::vector<::Ifc4x3_add2::IfcRelPositions> Ifc4x3_add2::IfcPositioningElement::Positions() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[940], 4)); } // const IfcParse::entity& Ifc4x3_add2::IfcPositioningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[775]); } const IfcParse::entity& Ifc4x3_add2::IfcPositioningElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[775]); } @@ -13767,9 +13767,9 @@ void Ifc4x3_add2::IfcProcess::setIdentification(const std::optional< std::string std::optional< std::string > Ifc4x3_add2::IfcProcess::LongDescription() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcProcess::setLongDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x3_add2::IfcRelSequence> Ifc4x3_add2::IfcProcess::IsPredecessorTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[943], 4)); } -std::vector<::Ifc4x3_add2::IfcRelSequence> Ifc4x3_add2::IfcProcess::IsSuccessorFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[943], 5)); } -std::vector<::Ifc4x3_add2::IfcRelAssignsToProcess> Ifc4x3_add2::IfcProcess::OperatesOn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[905], 6)); } +std::vector<::Ifc4x3_add2::IfcRelSequence> Ifc4x3_add2::IfcProcess::IsPredecessorTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[943], 4)); } +std::vector<::Ifc4x3_add2::IfcRelSequence> Ifc4x3_add2::IfcProcess::IsSuccessorFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[943], 5)); } +std::vector<::Ifc4x3_add2::IfcRelAssignsToProcess> Ifc4x3_add2::IfcProcess::OperatesOn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[905], 6)); } // const IfcParse::entity& Ifc4x3_add2::IfcProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[798]); } const IfcParse::entity& Ifc4x3_add2::IfcProcess::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[798]); } @@ -13782,9 +13782,9 @@ void Ifc4x3_add2::IfcProduct::setObjectPlacement(const ::Ifc4x3_add2::IfcObjectP ::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(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[906], 6)); } -std::vector<::Ifc4x3_add2::IfcRelPositions> Ifc4x3_add2::IfcProduct::PositionedRelativeTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[940], 5)); } -std::vector<::Ifc4x3_add2::IfcRelReferencedInSpatialStructure> Ifc4x3_add2::IfcProduct::ReferencedInStructures() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[942], 4)); } +std::vector<::Ifc4x3_add2::IfcRelAssignsToProduct> Ifc4x3_add2::IfcProduct::ReferencedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[906], 6)); } +std::vector<::Ifc4x3_add2::IfcRelPositions> Ifc4x3_add2::IfcProduct::PositionedRelativeTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[940], 5)); } +std::vector<::Ifc4x3_add2::IfcRelReferencedInSpatialStructure> Ifc4x3_add2::IfcProduct::ReferencedInStructures() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[942], 4)); } // const IfcParse::entity& Ifc4x3_add2::IfcProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[800]); } const IfcParse::entity& Ifc4x3_add2::IfcProduct::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[800]); } @@ -13793,8 +13793,8 @@ const IfcParse::entity& Ifc4x3_add2::IfcProduct::Class() { return *((IfcParse::e // Function implementations for IfcProductDefinitionShape -std::vector<::Ifc4x3_add2::IfcProduct> Ifc4x3_add2::IfcProductDefinitionShape::ShapeOfProduct() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[800], 6)); } -std::vector<::Ifc4x3_add2::IfcShapeAspect> Ifc4x3_add2::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[1006], 4)); } +std::vector<::Ifc4x3_add2::IfcProduct> Ifc4x3_add2::IfcProductDefinitionShape::ShapeOfProduct() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[800], 6)); } +std::vector<::Ifc4x3_add2::IfcShapeAspect> Ifc4x3_add2::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[1006], 4)); } // const IfcParse::entity& Ifc4x3_add2::IfcProductDefinitionShape::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[801]); } const IfcParse::entity& Ifc4x3_add2::IfcProductDefinitionShape::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[801]); } @@ -13821,8 +13821,8 @@ void Ifc4x3_add2::IfcProfileDef::setProfileType(const ::Ifc4x3_add2::IfcProfileT std::optional< std::string > Ifc4x3_add2::IfcProfileDef::ProfileName() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcProfileDef::setProfileName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcProfileDef::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[427], 3)); } -std::vector<::Ifc4x3_add2::IfcProfileProperties> Ifc4x3_add2::IfcProfileDef::HasProperties() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[806], 3)); } +std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcProfileDef::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[427], 3)); } +std::vector<::Ifc4x3_add2::IfcProfileProperties> Ifc4x3_add2::IfcProfileDef::HasProperties() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[806], 3)); } // const IfcParse::entity& Ifc4x3_add2::IfcProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[805]); } const IfcParse::entity& Ifc4x3_add2::IfcProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[805]); } @@ -13901,12 +13901,12 @@ void Ifc4x3_add2::IfcProperty::setName(const std::string& v) { set_attribute_val std::optional< std::string > Ifc4x3_add2::IfcProperty::Specification() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcProperty::setSpecification(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x3_add2::IfcPropertySet> Ifc4x3_add2::IfcProperty::PartOfPset() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[825], 4)); } -std::vector<::Ifc4x3_add2::IfcPropertyDependencyRelationship> Ifc4x3_add2::IfcProperty::PropertyForDependance() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[820], 2)); } -std::vector<::Ifc4x3_add2::IfcPropertyDependencyRelationship> Ifc4x3_add2::IfcProperty::PropertyDependsOn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[820], 3)); } -std::vector<::Ifc4x3_add2::IfcComplexProperty> Ifc4x3_add2::IfcProperty::PartOfComplex() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[189], 3)); } -std::vector<::Ifc4x3_add2::IfcResourceConstraintRelationship> Ifc4x3_add2::IfcProperty::HasConstraints() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[956], 3)); } -std::vector<::Ifc4x3_add2::IfcResourceApprovalRelationship> Ifc4x3_add2::IfcProperty::HasApprovals() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[955], 2)); } +std::vector<::Ifc4x3_add2::IfcPropertySet> Ifc4x3_add2::IfcProperty::PartOfPset() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[825], 4)); } +std::vector<::Ifc4x3_add2::IfcPropertyDependencyRelationship> Ifc4x3_add2::IfcProperty::PropertyForDependance() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[820], 2)); } +std::vector<::Ifc4x3_add2::IfcPropertyDependencyRelationship> Ifc4x3_add2::IfcProperty::PropertyDependsOn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[820], 3)); } +std::vector<::Ifc4x3_add2::IfcComplexProperty> Ifc4x3_add2::IfcProperty::PartOfComplex() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[189], 3)); } +std::vector<::Ifc4x3_add2::IfcResourceConstraintRelationship> Ifc4x3_add2::IfcProperty::HasConstraints() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[956], 3)); } +std::vector<::Ifc4x3_add2::IfcResourceApprovalRelationship> Ifc4x3_add2::IfcProperty::HasApprovals() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[955], 2)); } // const IfcParse::entity& Ifc4x3_add2::IfcProperty::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[816]); } const IfcParse::entity& Ifc4x3_add2::IfcProperty::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[816]); } @@ -13915,7 +13915,7 @@ const IfcParse::entity& Ifc4x3_add2::IfcProperty::Class() { return *((IfcParse:: // Function implementations for IfcPropertyAbstraction -std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[427], 3)); } +std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[427], 3)); } // const IfcParse::entity& Ifc4x3_add2::IfcPropertyAbstraction::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[817]); } const IfcParse::entity& Ifc4x3_add2::IfcPropertyAbstraction::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[817]); } @@ -13940,8 +13940,8 @@ const IfcParse::entity& Ifc4x3_add2::IfcPropertyBoundedValue::Class() { return * // Function implementations for IfcPropertyDefinition -std::vector<::Ifc4x3_add2::IfcRelDeclares> Ifc4x3_add2::IfcPropertyDefinition::HasContext() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[929], 5)); } -std::vector<::Ifc4x3_add2::IfcRelAssociates> Ifc4x3_add2::IfcPropertyDefinition::HasAssociations() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[908], 4)); } +std::vector<::Ifc4x3_add2::IfcRelDeclares> Ifc4x3_add2::IfcPropertyDefinition::HasContext() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[929], 5)); } +std::vector<::Ifc4x3_add2::IfcRelAssociates> Ifc4x3_add2::IfcPropertyDefinition::HasAssociations() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[908], 4)); } // const IfcParse::entity& Ifc4x3_add2::IfcPropertyDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[819]); } const IfcParse::entity& Ifc4x3_add2::IfcPropertyDefinition::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[819]); } @@ -14024,9 +14024,9 @@ const IfcParse::entity& Ifc4x3_add2::IfcPropertySet::Class() { return *((IfcPars // Function implementations for IfcPropertySetDefinition -std::vector<::Ifc4x3_add2::IfcTypeObject> Ifc4x3_add2::IfcPropertySetDefinition::DefinesType() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[1241], 5)); } -std::vector<::Ifc4x3_add2::IfcRelDefinesByTemplate> Ifc4x3_add2::IfcPropertySetDefinition::IsDefinedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[934], 4)); } -std::vector<::Ifc4x3_add2::IfcRelDefinesByProperties> Ifc4x3_add2::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[933], 5)); } +std::vector<::Ifc4x3_add2::IfcTypeObject> Ifc4x3_add2::IfcPropertySetDefinition::DefinesType() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[1241], 5)); } +std::vector<::Ifc4x3_add2::IfcRelDefinesByTemplate> Ifc4x3_add2::IfcPropertySetDefinition::IsDefinedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[934], 4)); } +std::vector<::Ifc4x3_add2::IfcRelDefinesByProperties> Ifc4x3_add2::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[933], 5)); } // const IfcParse::entity& Ifc4x3_add2::IfcPropertySetDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[826]); } const IfcParse::entity& Ifc4x3_add2::IfcPropertySetDefinition::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[826]); } @@ -14041,7 +14041,7 @@ void Ifc4x3_add2::IfcPropertySetTemplate::setApplicableEntity(const std::optiona 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(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[934], 5)); } +std::vector<::Ifc4x3_add2::IfcRelDefinesByTemplate> Ifc4x3_add2::IfcPropertySetTemplate::Defines() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[934], 5)); } // const IfcParse::entity& Ifc4x3_add2::IfcPropertySetTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[829]); } const IfcParse::entity& Ifc4x3_add2::IfcPropertySetTemplate::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[829]); } @@ -14082,8 +14082,8 @@ const IfcParse::entity& Ifc4x3_add2::IfcPropertyTableValue::Class() { return *(( // Function implementations for IfcPropertyTemplate -std::vector<::Ifc4x3_add2::IfcComplexPropertyTemplate> Ifc4x3_add2::IfcPropertyTemplate::PartOfComplexTemplate() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[190], 6)); } -std::vector<::Ifc4x3_add2::IfcPropertySetTemplate> Ifc4x3_add2::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[829], 6)); } +std::vector<::Ifc4x3_add2::IfcComplexPropertyTemplate> Ifc4x3_add2::IfcPropertyTemplate::PartOfComplexTemplate() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[190], 6)); } +std::vector<::Ifc4x3_add2::IfcPropertySetTemplate> Ifc4x3_add2::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[829], 6)); } // const IfcParse::entity& Ifc4x3_add2::IfcPropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[833]); } const IfcParse::entity& Ifc4x3_add2::IfcPropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[833]); } @@ -15218,7 +15218,7 @@ const IfcParse::entity& Ifc4x3_add2::IfcRelSpaceBoundary::Class() { return *((If ::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(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[946], 9)); } +std::vector<::Ifc4x3_add2::IfcRelSpaceBoundary1stLevel> Ifc4x3_add2::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[946], 9)); } // const IfcParse::entity& Ifc4x3_add2::IfcRelSpaceBoundary1stLevel::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[946]); } const IfcParse::entity& Ifc4x3_add2::IfcRelSpaceBoundary1stLevel::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[946]); } @@ -15229,7 +15229,7 @@ const IfcParse::entity& Ifc4x3_add2::IfcRelSpaceBoundary1stLevel::Class() { retu ::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(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[947], 10)); } +std::vector<::Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel> Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[947], 10)); } // const IfcParse::entity& Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[947]); } const IfcParse::entity& Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[947]); } @@ -15276,9 +15276,9 @@ void Ifc4x3_add2::IfcRepresentation::setRepresentationType(const std::optional< 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(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[953], 1)); } -std::vector<::Ifc4x3_add2::IfcPresentationLayerAssignment> Ifc4x3_add2::IfcRepresentation::LayerAssignments() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[791], 2)); } -std::vector<::Ifc4x3_add2::IfcProductRepresentation> Ifc4x3_add2::IfcRepresentation::OfProductRepresentation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[802], 2)); } +std::vector<::Ifc4x3_add2::IfcRepresentationMap> Ifc4x3_add2::IfcRepresentation::RepresentationMap() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[953], 1)); } +std::vector<::Ifc4x3_add2::IfcPresentationLayerAssignment> Ifc4x3_add2::IfcRepresentation::LayerAssignments() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[791], 2)); } +std::vector<::Ifc4x3_add2::IfcProductRepresentation> Ifc4x3_add2::IfcRepresentation::OfProductRepresentation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[802], 2)); } // const IfcParse::entity& Ifc4x3_add2::IfcRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[950]); } const IfcParse::entity& Ifc4x3_add2::IfcRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[950]); } @@ -15291,7 +15291,7 @@ void Ifc4x3_add2::IfcRepresentationContext::setContextIdentifier(const std::opti std::optional< std::string > Ifc4x3_add2::IfcRepresentationContext::ContextType() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcRepresentationContext::setContextType(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::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[950], 0)); } +std::vector<::Ifc4x3_add2::IfcRepresentation> Ifc4x3_add2::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[950], 0)); } // const IfcParse::entity& Ifc4x3_add2::IfcRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[951]); } const IfcParse::entity& Ifc4x3_add2::IfcRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[951]); } @@ -15300,8 +15300,8 @@ const IfcParse::entity& Ifc4x3_add2::IfcRepresentationContext::Class() { return // Function implementations for IfcRepresentationItem -std::vector<::Ifc4x3_add2::IfcPresentationLayerAssignment> Ifc4x3_add2::IfcRepresentationItem::LayerAssignment() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[791], 2)); } -std::vector<::Ifc4x3_add2::IfcStyledItem> Ifc4x3_add2::IfcRepresentationItem::StyledByItem() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[1117], 0)); } +std::vector<::Ifc4x3_add2::IfcPresentationLayerAssignment> Ifc4x3_add2::IfcRepresentationItem::LayerAssignment() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[791], 2)); } +std::vector<::Ifc4x3_add2::IfcStyledItem> Ifc4x3_add2::IfcRepresentationItem::StyledByItem() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[1117], 0)); } // const IfcParse::entity& Ifc4x3_add2::IfcRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[952]); } const IfcParse::entity& Ifc4x3_add2::IfcRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[952]); } @@ -15314,8 +15314,8 @@ void Ifc4x3_add2::IfcRepresentationMap::setMappingOrigin(const ::Ifc4x3_add2::If ::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(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[1006], 4)); } -std::vector<::Ifc4x3_add2::IfcMappedItem> Ifc4x3_add2::IfcRepresentationMap::MapUsage() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[628], 0)); } +std::vector<::Ifc4x3_add2::IfcShapeAspect> Ifc4x3_add2::IfcRepresentationMap::HasShapeAspects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[1006], 4)); } +std::vector<::Ifc4x3_add2::IfcMappedItem> Ifc4x3_add2::IfcRepresentationMap::MapUsage() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[628], 0)); } // const IfcParse::entity& Ifc4x3_add2::IfcRepresentationMap::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[953]); } const IfcParse::entity& Ifc4x3_add2::IfcRepresentationMap::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[953]); } @@ -15328,7 +15328,7 @@ void Ifc4x3_add2::IfcResource::setIdentification(const std::optional< std::strin std::optional< std::string > Ifc4x3_add2::IfcResource::LongDescription() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcResource::setLongDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x3_add2::IfcRelAssignsToResource> Ifc4x3_add2::IfcResource::ResourceOf() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[907], 6)); } +std::vector<::Ifc4x3_add2::IfcRelAssignsToResource> Ifc4x3_add2::IfcResource::ResourceOf() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[907], 6)); } // const IfcParse::entity& Ifc4x3_add2::IfcResource::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[954]); } const IfcParse::entity& Ifc4x3_add2::IfcResource::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[954]); } @@ -15691,7 +15691,7 @@ const IfcParse::entity& Ifc4x3_add2::IfcSectionedSurface::Class() { return *((If ::Ifc4x3_add2::IfcTransitionCode::Value Ifc4x3_add2::IfcSegment::Transition() const { return ::Ifc4x3_add2::IfcTransitionCode::FromString(get_attribute_value(0)); } void Ifc4x3_add2::IfcSegment::setTransition(const ::Ifc4x3_add2::IfcTransitionCode::Value& v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_add2::IfcTransitionCode::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -std::vector<::Ifc4x3_add2::IfcCompositeCurve> Ifc4x3_add2::IfcSegment::UsingCurves() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[192], 0)); } +std::vector<::Ifc4x3_add2::IfcCompositeCurve> Ifc4x3_add2::IfcSegment::UsingCurves() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[192], 0)); } // const IfcParse::entity& Ifc4x3_add2::IfcSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[995]); } const IfcParse::entity& Ifc4x3_add2::IfcSegment::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[995]); } @@ -15786,7 +15786,7 @@ void Ifc4x3_add2::IfcShapeAspect::setProductDefinitional(const boost::logic::tri ::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(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[427], 3)); } +std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcShapeAspect::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[427], 3)); } // const IfcParse::entity& Ifc4x3_add2::IfcShapeAspect::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1006]); } const IfcParse::entity& Ifc4x3_add2::IfcShapeAspect::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1006]); } @@ -15795,7 +15795,7 @@ const IfcParse::entity& Ifc4x3_add2::IfcShapeAspect::Class() { return *((IfcPars // Function implementations for IfcShapeModel -std::vector<::Ifc4x3_add2::IfcShapeAspect> Ifc4x3_add2::IfcShapeModel::OfShapeAspect() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[1006], 0)); } +std::vector<::Ifc4x3_add2::IfcShapeAspect> Ifc4x3_add2::IfcShapeModel::OfShapeAspect() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[1006], 0)); } // const IfcParse::entity& Ifc4x3_add2::IfcShapeModel::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1007]); } const IfcParse::entity& Ifc4x3_add2::IfcShapeModel::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1007]); } @@ -15992,8 +15992,8 @@ void Ifc4x3_add2::IfcSpace::setPredefinedType(const std::optional< ::Ifc4x3_add2 std::optional< double > Ifc4x3_add2::IfcSpace::ElevationWithFlooring() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } double v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcSpace::setElevationWithFlooring(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -std::vector<::Ifc4x3_add2::IfcRelCoversSpaces> Ifc4x3_add2::IfcSpace::HasCoverings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[928], 4)); } -std::vector<::Ifc4x3_add2::IfcRelSpaceBoundary> Ifc4x3_add2::IfcSpace::BoundedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[945], 4)); } +std::vector<::Ifc4x3_add2::IfcRelCoversSpaces> Ifc4x3_add2::IfcSpace::HasCoverings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[928], 4)); } +std::vector<::Ifc4x3_add2::IfcRelSpaceBoundary> Ifc4x3_add2::IfcSpace::BoundedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[945], 4)); } // const IfcParse::entity& Ifc4x3_add2::IfcSpace::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1042]); } const IfcParse::entity& Ifc4x3_add2::IfcSpace::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1042]); } @@ -16036,11 +16036,11 @@ const IfcParse::entity& Ifc4x3_add2::IfcSpaceType::Class() { return *((IfcParse: 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; } void Ifc4x3_add2::IfcSpatialElement::setLongName(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -std::vector<::Ifc4x3_add2::IfcRelContainedInSpatialStructure> Ifc4x3_add2::IfcSpatialElement::ContainsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[926], 5)); } -std::vector<::Ifc4x3_add2::IfcRelServicesBuildings> Ifc4x3_add2::IfcSpatialElement::ServicedBySystems() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[944], 5)); } -std::vector<::Ifc4x3_add2::IfcRelReferencedInSpatialStructure> Ifc4x3_add2::IfcSpatialElement::ReferencesElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[942], 5)); } -std::vector<::Ifc4x3_add2::IfcRelInterferesElements> Ifc4x3_add2::IfcSpatialElement::IsInterferedByElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[938], 5)); } -std::vector<::Ifc4x3_add2::IfcRelInterferesElements> Ifc4x3_add2::IfcSpatialElement::InterferesElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[938], 4)); } +std::vector<::Ifc4x3_add2::IfcRelContainedInSpatialStructure> Ifc4x3_add2::IfcSpatialElement::ContainsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[926], 5)); } +std::vector<::Ifc4x3_add2::IfcRelServicesBuildings> Ifc4x3_add2::IfcSpatialElement::ServicedBySystems() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[944], 5)); } +std::vector<::Ifc4x3_add2::IfcRelReferencedInSpatialStructure> Ifc4x3_add2::IfcSpatialElement::ReferencesElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[942], 5)); } +std::vector<::Ifc4x3_add2::IfcRelInterferesElements> Ifc4x3_add2::IfcSpatialElement::IsInterferedByElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[938], 5)); } +std::vector<::Ifc4x3_add2::IfcRelInterferesElements> Ifc4x3_add2::IfcSpatialElement::InterferesElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[938], 4)); } // const IfcParse::entity& Ifc4x3_add2::IfcSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1049]); } const IfcParse::entity& Ifc4x3_add2::IfcSpatialElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1049]); } @@ -16211,7 +16211,7 @@ void Ifc4x3_add2::IfcStructuralActivity::setAppliedLoad(const ::Ifc4x3_add2::Ifc ::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, EnumerationReference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -std::vector<::Ifc4x3_add2::IfcRelConnectsStructuralActivity> Ifc4x3_add2::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[922], 5)); } +std::vector<::Ifc4x3_add2::IfcRelConnectsStructuralActivity> Ifc4x3_add2::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[922], 5)); } // const IfcParse::entity& Ifc4x3_add2::IfcStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1076]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralActivity::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1076]); } @@ -16240,7 +16240,7 @@ const IfcParse::entity& Ifc4x3_add2::IfcStructuralAnalysisModel::Class() { retur ::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(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[923], 5)); } +std::vector<::Ifc4x3_add2::IfcRelConnectsStructuralMember> Ifc4x3_add2::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[923], 5)); } // const IfcParse::entity& Ifc4x3_add2::IfcStructuralConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1079]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralConnection::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1079]); } @@ -16311,7 +16311,7 @@ const IfcParse::entity& Ifc4x3_add2::IfcStructuralCurveReaction::Class() { retur // Function implementations for IfcStructuralItem -std::vector<::Ifc4x3_add2::IfcRelConnectsStructuralActivity> Ifc4x3_add2::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[922], 4)); } +std::vector<::Ifc4x3_add2::IfcRelConnectsStructuralActivity> Ifc4x3_add2::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[922], 4)); } // const IfcParse::entity& Ifc4x3_add2::IfcStructuralItem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1088]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralItem::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1088]); } @@ -16370,8 +16370,8 @@ void Ifc4x3_add2::IfcStructuralLoadGroup::setCoefficient(const std::optional< do std::optional< std::string > Ifc4x3_add2::IfcStructuralLoadGroup::Purpose() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_add2::IfcStructuralLoadGroup::setPurpose(const std::optional< std::string >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -std::vector<::Ifc4x3_add2::IfcStructuralResultGroup> Ifc4x3_add2::IfcStructuralLoadGroup::SourceOfResultGroup() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[1109], 6)); } -std::vector<::Ifc4x3_add2::IfcStructuralAnalysisModel> Ifc4x3_add2::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[1078], 7)); } +std::vector<::Ifc4x3_add2::IfcStructuralResultGroup> Ifc4x3_add2::IfcStructuralLoadGroup::SourceOfResultGroup() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[1109], 6)); } +std::vector<::Ifc4x3_add2::IfcStructuralAnalysisModel> Ifc4x3_add2::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[1078], 7)); } // const IfcParse::entity& Ifc4x3_add2::IfcStructuralLoadGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1093]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralLoadGroup::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1093]); } @@ -16504,7 +16504,7 @@ const IfcParse::entity& Ifc4x3_add2::IfcStructuralLoadTemperature::Class() { ret // Function implementations for IfcStructuralMember -std::vector<::Ifc4x3_add2::IfcRelConnectsStructuralMember> Ifc4x3_add2::IfcStructuralMember::ConnectedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[923], 4)); } +std::vector<::Ifc4x3_add2::IfcRelConnectsStructuralMember> Ifc4x3_add2::IfcStructuralMember::ConnectedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[923], 4)); } // const IfcParse::entity& Ifc4x3_add2::IfcStructuralMember::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1103]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralMember::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1103]); } @@ -16561,7 +16561,7 @@ void Ifc4x3_add2::IfcStructuralResultGroup::setResultForLoadGroup(const ::Ifc4x3 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); } -std::vector<::Ifc4x3_add2::IfcStructuralAnalysisModel> Ifc4x3_add2::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[1078], 8)); } +std::vector<::Ifc4x3_add2::IfcStructuralAnalysisModel> Ifc4x3_add2::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[1078], 8)); } // const IfcParse::entity& Ifc4x3_add2::IfcStructuralResultGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1109]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralResultGroup::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1109]); } @@ -16714,7 +16714,7 @@ const IfcParse::entity& Ifc4x3_add2::IfcSurfaceCurveSweptAreaSolid::Class() { re std::optional< ::Ifc4x3_add2::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3_add2::IfcSurfaceFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcSurfaceFeatureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcSurfaceFeature::setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcSurfaceFeatureTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcSurfaceFeatureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_add2::IfcRelAdheresToElement> Ifc4x3_add2::IfcSurfaceFeature::AdheresToElement() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[898], 5)); } +std::vector<::Ifc4x3_add2::IfcRelAdheresToElement> Ifc4x3_add2::IfcSurfaceFeature::AdheresToElement() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[898], 5)); } // const IfcParse::entity& Ifc4x3_add2::IfcSurfaceFeature::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1127]); } const IfcParse::entity& Ifc4x3_add2::IfcSurfaceFeature::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1127]); } @@ -16853,8 +16853,8 @@ void Ifc4x3_add2::IfcSurfaceTexture::setTextureTransform(const ::Ifc4x3_add2::If 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);} } -std::vector<::Ifc4x3_add2::IfcTextureCoordinate> Ifc4x3_add2::IfcSurfaceTexture::IsMappedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[1192], 0)); } -std::vector<::Ifc4x3_add2::IfcSurfaceStyleWithTextures> Ifc4x3_add2::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[1140], 0)); } +std::vector<::Ifc4x3_add2::IfcTextureCoordinate> Ifc4x3_add2::IfcSurfaceTexture::IsMappedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[1192], 0)); } +std::vector<::Ifc4x3_add2::IfcSurfaceStyleWithTextures> Ifc4x3_add2::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[1140], 0)); } // const IfcParse::entity& Ifc4x3_add2::IfcSurfaceTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1141]); } const IfcParse::entity& Ifc4x3_add2::IfcSurfaceTexture::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1141]); } @@ -16935,8 +16935,8 @@ const IfcParse::entity& Ifc4x3_add2::IfcSwitchingDeviceType::Class() { return *( // Function implementations for IfcSystem -std::vector<::Ifc4x3_add2::IfcRelServicesBuildings> Ifc4x3_add2::IfcSystem::ServicesBuildings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[944], 4)); } -std::vector<::Ifc4x3_add2::IfcRelReferencedInSpatialStructure> Ifc4x3_add2::IfcSystem::ServicesFacilities() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[942], 4)); } +std::vector<::Ifc4x3_add2::IfcRelServicesBuildings> Ifc4x3_add2::IfcSystem::ServicesBuildings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[944], 4)); } +std::vector<::Ifc4x3_add2::IfcRelReferencedInSpatialStructure> Ifc4x3_add2::IfcSystem::ServicesFacilities() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[942], 4)); } // const IfcParse::entity& Ifc4x3_add2::IfcSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1149]); } const IfcParse::entity& Ifc4x3_add2::IfcSystem::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1149]); } @@ -17241,8 +17241,8 @@ const IfcParse::entity& Ifc4x3_add2::IfcTendonType::Class() { return *((IfcParse ::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(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[542], 0)); } -std::vector<::Ifc4x3_add2::IfcIndexedTextureMap> Ifc4x3_add2::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[547], 1)); } +std::vector<::Ifc4x3_add2::IfcIndexedColourMap> Ifc4x3_add2::IfcTessellatedFaceSet::HasColours() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[542], 0)); } +std::vector<::Ifc4x3_add2::IfcIndexedTextureMap> Ifc4x3_add2::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[547], 1)); } // const IfcParse::entity& Ifc4x3_add2::IfcTessellatedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1177]); } const IfcParse::entity& Ifc4x3_add2::IfcTessellatedFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1177]); } @@ -17379,7 +17379,7 @@ void Ifc4x3_add2::IfcTextureCoordinateIndices::setTexCoordIndex(const std::vecto ::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(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[546], 3)); } +std::vector<::Ifc4x3_add2::IfcIndexedPolygonalTextureMap> Ifc4x3_add2::IfcTextureCoordinateIndices::ToTexMap() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[546], 3)); } // const IfcParse::entity& Ifc4x3_add2::IfcTextureCoordinateIndices::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1194]); } const IfcParse::entity& Ifc4x3_add2::IfcTextureCoordinateIndices::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1194]); } @@ -17474,7 +17474,7 @@ void Ifc4x3_add2::IfcTimeSeries::setUserDefinedDataOrigin(const std::optional< s ::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(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[427], 3)); } +std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcTimeSeries::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[427], 3)); } // const IfcParse::entity& Ifc4x3_add2::IfcTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1210]); } const IfcParse::entity& Ifc4x3_add2::IfcTimeSeries::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1210]); } @@ -17681,7 +17681,7 @@ void Ifc4x3_add2::IfcTypeObject::setApplicableOccurrence(const std::optional< st 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(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[935], 5)); } +std::vector<::Ifc4x3_add2::IfcRelDefinesByType> Ifc4x3_add2::IfcTypeObject::Types() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[935], 5)); } // const IfcParse::entity& Ifc4x3_add2::IfcTypeObject::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1241]); } const IfcParse::entity& Ifc4x3_add2::IfcTypeObject::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1241]); } @@ -17696,7 +17696,7 @@ void Ifc4x3_add2::IfcTypeProcess::setLongDescription(const std::optional< std::s std::optional< std::string > Ifc4x3_add2::IfcTypeProcess::ProcessType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcTypeProcess::setProcessType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_add2::IfcRelAssignsToProcess> Ifc4x3_add2::IfcTypeProcess::OperatesOn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[905], 6)); } +std::vector<::Ifc4x3_add2::IfcRelAssignsToProcess> Ifc4x3_add2::IfcTypeProcess::OperatesOn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[905], 6)); } // const IfcParse::entity& Ifc4x3_add2::IfcTypeProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1242]); } const IfcParse::entity& Ifc4x3_add2::IfcTypeProcess::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1242]); } @@ -17709,7 +17709,7 @@ void Ifc4x3_add2::IfcTypeProduct::setRepresentationMaps(const std::optional< std 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(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[906], 6)); } +std::vector<::Ifc4x3_add2::IfcRelAssignsToProduct> Ifc4x3_add2::IfcTypeProduct::ReferencedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[906], 6)); } // const IfcParse::entity& Ifc4x3_add2::IfcTypeProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1243]); } const IfcParse::entity& Ifc4x3_add2::IfcTypeProduct::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1243]); } @@ -17724,7 +17724,7 @@ void Ifc4x3_add2::IfcTypeResource::setLongDescription(const std::optional< std:: std::optional< std::string > Ifc4x3_add2::IfcTypeResource::ResourceType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcTypeResource::setResourceType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_add2::IfcRelAssignsToResource> Ifc4x3_add2::IfcTypeResource::ResourceOf() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_ADD2_types[907], 6)); } +std::vector<::Ifc4x3_add2::IfcRelAssignsToResource> Ifc4x3_add2::IfcTypeResource::ResourceOf() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_ADD2_types[907], 6)); } // const IfcParse::entity& Ifc4x3_add2::IfcTypeResource::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1244]); } const IfcParse::entity& Ifc4x3_add2::IfcTypeResource::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1244]); } diff --git a/src/ifcparse/Ifc4x3_rc1.cpp b/src/ifcparse/Ifc4x3_rc1.cpp index 2a518ceb76..11922ee8bf 100644 --- a/src/ifcparse/Ifc4x3_rc1.cpp +++ b/src/ifcparse/Ifc4x3_rc1.cpp @@ -7729,7 +7729,7 @@ const IfcParse::entity& Ifc4x3_rc1::IfcActionRequest::Class() { return *((IfcPar ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[912], 6)); } +std::vector<::Ifc4x3_rc1::IfcRelAssignsToActor> Ifc4x3_rc1::IfcActor::IsActingUpon() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[912], 6)); } // const IfcParse::entity& Ifc4x3_rc1::IfcActor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[6]); } const IfcParse::entity& Ifc4x3_rc1::IfcActor::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[6]); } @@ -7744,7 +7744,7 @@ void Ifc4x3_rc1::IfcActorRole::setUserDefinedRole(const std::optional< std::stri std::optional< std::string > Ifc4x3_rc1::IfcActorRole::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcActorRole::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcActorRole::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[436], 3)); } +std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcActorRole::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[436], 3)); } // const IfcParse::entity& Ifc4x3_rc1::IfcActorRole::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[7]); } const IfcParse::entity& Ifc4x3_rc1::IfcActorRole::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[7]); } @@ -7779,8 +7779,8 @@ void Ifc4x3_rc1::IfcAddress::setDescription(const std::optional< std::string >& std::optional< std::string > Ifc4x3_rc1::IfcAddress::UserDefinedPurpose() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcAddress::setUserDefinedPurpose(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x3_rc1::IfcPerson> Ifc4x3_rc1::IfcAddress::OfPerson() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[749], 7)); } -std::vector<::Ifc4x3_rc1::IfcOrganization> Ifc4x3_rc1::IfcAddress::OfOrganization() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[728], 4)); } +std::vector<::Ifc4x3_rc1::IfcPerson> Ifc4x3_rc1::IfcAddress::OfPerson() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[749], 7)); } +std::vector<::Ifc4x3_rc1::IfcOrganization> Ifc4x3_rc1::IfcAddress::OfOrganization() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[728], 4)); } // const IfcParse::entity& Ifc4x3_rc1::IfcAddress::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[12]); } const IfcParse::entity& Ifc4x3_rc1::IfcAddress::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[12]); } @@ -7955,7 +7955,7 @@ void Ifc4x3_rc1::IfcAlignment2DCantSegment::setStartCantRight(const double& v) { std::optional< double > Ifc4x3_rc1::IfcAlignment2DCantSegment::EndCantRight() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcAlignment2DCantSegment::setEndCantRight(const std::optional< double >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_rc1::IfcAlignment2DCant> Ifc4x3_rc1::IfcAlignment2DCantSegment::ToCant() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[30], 0)); } +std::vector<::Ifc4x3_rc1::IfcAlignment2DCant> Ifc4x3_rc1::IfcAlignment2DCantSegment::ToCant() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[30], 0)); } // const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DCantSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[32]); } const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DCantSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[32]); } @@ -7968,7 +7968,7 @@ void Ifc4x3_rc1::IfcAlignment2DHorizontal::setStartDistAlong(const std::optional 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(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[43], 0)); } +std::vector<::Ifc4x3_rc1::IfcAlignmentCurve> Ifc4x3_rc1::IfcAlignment2DHorizontal::ToAlignmentCurve() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[43], 0)); } // const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DHorizontal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[34]); } const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DHorizontal::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[34]); } @@ -7979,7 +7979,7 @@ const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DHorizontal::Class() { return * ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[34], 1)); } +std::vector<::Ifc4x3_rc1::IfcAlignment2DHorizontal> Ifc4x3_rc1::IfcAlignment2DHorizontalSegment::ToHorizontal() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[34], 1)); } // const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DHorizontalSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[35]); } const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DHorizontalSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[35]); } @@ -8054,7 +8054,7 @@ const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DVerSegTransition::Class() { re 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(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[43], 1)); } +std::vector<::Ifc4x3_rc1::IfcAlignmentCurve> Ifc4x3_rc1::IfcAlignment2DVertical::ToAlignmentCurve() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[43], 1)); } // const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DVertical::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[41]); } const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DVertical::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[41]); } @@ -8071,7 +8071,7 @@ void Ifc4x3_rc1::IfcAlignment2DVerticalSegment::setStartHeight(const double& v) double Ifc4x3_rc1::IfcAlignment2DVerticalSegment::StartGradient() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcAlignment2DVerticalSegment::setStartGradient(const double& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::vector<::Ifc4x3_rc1::IfcAlignment2DVertical> Ifc4x3_rc1::IfcAlignment2DVerticalSegment::ToVertical() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[41], 0)); } +std::vector<::Ifc4x3_rc1::IfcAlignment2DVertical> Ifc4x3_rc1::IfcAlignment2DVerticalSegment::ToVertical() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[41], 0)); } // const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DVerticalSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[42]); } const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DVerticalSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[42]); } @@ -8096,7 +8096,7 @@ const IfcParse::entity& Ifc4x3_rc1::IfcAlignmentCurve::Class() { return *((IfcPa std::optional< ::Ifc4x3_rc1::IfcAnnotationTypeEnum::Value > Ifc4x3_rc1::IfcAnnotation::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcAnnotationTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc1::IfcAnnotation::setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcAnnotationTypeEnum::Value >& v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc1::IfcAnnotationTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -std::vector<::Ifc4x3_rc1::IfcRelContainedInSpatialStructure> Ifc4x3_rc1::IfcAnnotation::ContainedInStructure() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[937], 4)); } +std::vector<::Ifc4x3_rc1::IfcRelContainedInSpatialStructure> Ifc4x3_rc1::IfcAnnotation::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[937], 4)); } // const IfcParse::entity& Ifc4x3_rc1::IfcAnnotation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[49]); } const IfcParse::entity& Ifc4x3_rc1::IfcAnnotation::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[49]); } @@ -8153,7 +8153,7 @@ void Ifc4x3_rc1::IfcAppliedValue::setArithmeticOperator(const std::optional< ::I 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(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[436], 3)); } +std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcAppliedValue::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[436], 3)); } // const IfcParse::entity& Ifc4x3_rc1::IfcAppliedValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[53]); } const IfcParse::entity& Ifc4x3_rc1::IfcAppliedValue::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[53]); } @@ -8180,11 +8180,11 @@ void Ifc4x3_rc1::IfcApproval::setRequestingApproval(const ::Ifc4x3_rc1::IfcActor ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[436], 3)); } -std::vector<::Ifc4x3_rc1::IfcRelAssociatesApproval> Ifc4x3_rc1::IfcApproval::ApprovedObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[920], 5)); } -std::vector<::Ifc4x3_rc1::IfcResourceApprovalRelationship> Ifc4x3_rc1::IfcApproval::ApprovedResources() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[966], 3)); } -std::vector<::Ifc4x3_rc1::IfcApprovalRelationship> Ifc4x3_rc1::IfcApproval::IsRelatedWith() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[56], 3)); } -std::vector<::Ifc4x3_rc1::IfcApprovalRelationship> Ifc4x3_rc1::IfcApproval::Relates() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[56], 2)); } +std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcApproval::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[436], 3)); } +std::vector<::Ifc4x3_rc1::IfcRelAssociatesApproval> Ifc4x3_rc1::IfcApproval::ApprovedObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[920], 5)); } +std::vector<::Ifc4x3_rc1::IfcResourceApprovalRelationship> Ifc4x3_rc1::IfcApproval::ApprovedResources() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[966], 3)); } +std::vector<::Ifc4x3_rc1::IfcApprovalRelationship> Ifc4x3_rc1::IfcApproval::IsRelatedWith() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[56], 3)); } +std::vector<::Ifc4x3_rc1::IfcApprovalRelationship> Ifc4x3_rc1::IfcApproval::Relates() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[56], 2)); } // const IfcParse::entity& Ifc4x3_rc1::IfcApproval::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[55]); } const IfcParse::entity& Ifc4x3_rc1::IfcApproval::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[55]); } @@ -8345,7 +8345,7 @@ const IfcParse::entity& Ifc4x3_rc1::IfcAxis2Placement3D::Class() { return *((Ifc // Function implementations for IfcAxisLateralInclination -std::vector<::Ifc4x3_rc1::IfcLinearAxisWithInclination> Ifc4x3_rc1::IfcAxisLateralInclination::ToLinearAxis() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[610], 1)); } +std::vector<::Ifc4x3_rc1::IfcLinearAxisWithInclination> Ifc4x3_rc1::IfcAxisLateralInclination::ToLinearAxis() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[610], 1)); } // const IfcParse::entity& Ifc4x3_rc1::IfcAxisLateralInclination::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[74]); } const IfcParse::entity& Ifc4x3_rc1::IfcAxisLateralInclination::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[74]); } @@ -8632,7 +8632,7 @@ const IfcParse::entity& Ifc4x3_rc1::IfcBoundaryNodeConditionWarping::Class() { r // Function implementations for IfcBoundedCurve -std::vector<::Ifc4x3_rc1::IfcLinearPositioningElement> Ifc4x3_rc1::IfcBoundedCurve::PositioningElement() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[615], 7)); } +std::vector<::Ifc4x3_rc1::IfcLinearPositioningElement> Ifc4x3_rc1::IfcBoundedCurve::PositioningElement() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[615], 7)); } // const IfcParse::entity& Ifc4x3_rc1::IfcBoundedCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[103]); } const IfcParse::entity& Ifc4x3_rc1::IfcBoundedCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[103]); } @@ -9155,8 +9155,8 @@ void Ifc4x3_rc1::IfcClassification::setLocation(const std::optional< std::string std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::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_rc1::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_rc1::IfcRelAssociatesClassification> Ifc4x3_rc1::IfcClassification::ClassificationForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[921], 5)); } -std::vector<::Ifc4x3_rc1::IfcClassificationReference> Ifc4x3_rc1::IfcClassification::HasReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[175], 3)); } +std::vector<::Ifc4x3_rc1::IfcRelAssociatesClassification> Ifc4x3_rc1::IfcClassification::ClassificationForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[921], 5)); } +std::vector<::Ifc4x3_rc1::IfcClassificationReference> Ifc4x3_rc1::IfcClassification::HasReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[175], 3)); } // const IfcParse::entity& Ifc4x3_rc1::IfcClassification::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[174]); } const IfcParse::entity& Ifc4x3_rc1::IfcClassification::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[174]); } @@ -9171,8 +9171,8 @@ void Ifc4x3_rc1::IfcClassificationReference::setDescription(const std::optional< std::optional< std::string > Ifc4x3_rc1::IfcClassificationReference::Sort() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcClassificationReference::setSort(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3_rc1::IfcRelAssociatesClassification> Ifc4x3_rc1::IfcClassificationReference::ClassificationRefForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[921], 5)); } -std::vector<::Ifc4x3_rc1::IfcClassificationReference> Ifc4x3_rc1::IfcClassificationReference::HasReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[175], 3)); } +std::vector<::Ifc4x3_rc1::IfcRelAssociatesClassification> Ifc4x3_rc1::IfcClassificationReference::ClassificationRefForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[921], 5)); } +std::vector<::Ifc4x3_rc1::IfcClassificationReference> Ifc4x3_rc1::IfcClassificationReference::HasReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[175], 3)); } // const IfcParse::entity& Ifc4x3_rc1::IfcClassificationReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[175]); } const IfcParse::entity& Ifc4x3_rc1::IfcClassificationReference::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[175]); } @@ -9343,7 +9343,7 @@ void Ifc4x3_rc1::IfcCompositeCurveSegment::setSameSense(const bool& v) { set_att ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[198], 0)); } +std::vector<::Ifc4x3_rc1::IfcCompositeCurve> Ifc4x3_rc1::IfcCompositeCurveSegment::UsingCurves() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[198], 0)); } // const IfcParse::entity& Ifc4x3_rc1::IfcCompositeCurveSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[200]); } const IfcParse::entity& Ifc4x3_rc1::IfcCompositeCurveSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[200]); } @@ -9508,8 +9508,8 @@ void Ifc4x3_rc1::IfcConstraint::setCreationTime(const std::optional< std::string std::optional< std::string > Ifc4x3_rc1::IfcConstraint::UserDefinedGrade() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcConstraint::setUserDefinedGrade(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcConstraint::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[436], 3)); } -std::vector<::Ifc4x3_rc1::IfcResourceConstraintRelationship> Ifc4x3_rc1::IfcConstraint::PropertiesForConstraint() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[967], 2)); } +std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcConstraint::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[436], 3)); } +std::vector<::Ifc4x3_rc1::IfcResourceConstraintRelationship> Ifc4x3_rc1::IfcConstraint::PropertiesForConstraint() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[967], 2)); } // const IfcParse::entity& Ifc4x3_rc1::IfcConstraint::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[218]); } const IfcParse::entity& Ifc4x3_rc1::IfcConstraint::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[218]); } @@ -9614,8 +9614,8 @@ void Ifc4x3_rc1::IfcContext::setRepresentationContexts(const std::optional< std: ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[944], 4)); } -std::vector<::Ifc4x3_rc1::IfcRelDeclares> Ifc4x3_rc1::IfcContext::Declares() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[940], 4)); } +std::vector<::Ifc4x3_rc1::IfcRelDefinesByProperties> Ifc4x3_rc1::IfcContext::IsDefinedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[944], 4)); } +std::vector<::Ifc4x3_rc1::IfcRelDeclares> Ifc4x3_rc1::IfcContext::Declares() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[940], 4)); } // const IfcParse::entity& Ifc4x3_rc1::IfcContext::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[231]); } const IfcParse::entity& Ifc4x3_rc1::IfcContext::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[231]); } @@ -9626,7 +9626,7 @@ const IfcParse::entity& Ifc4x3_rc1::IfcContext::Class() { return *((IfcParse::en std::string Ifc4x3_rc1::IfcContextDependentUnit::Name() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcContextDependentUnit::setName(const std::string& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcContextDependentUnit::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[436], 3)); } +std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcContextDependentUnit::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[436], 3)); } // const IfcParse::entity& Ifc4x3_rc1::IfcContextDependentUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[233]); } const IfcParse::entity& Ifc4x3_rc1::IfcContextDependentUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[233]); } @@ -9637,7 +9637,7 @@ const IfcParse::entity& Ifc4x3_rc1::IfcContextDependentUnit::Class() { return *( std::optional< std::string > Ifc4x3_rc1::IfcControl::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcControl::setIdentification(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3_rc1::IfcRelAssignsToControl> Ifc4x3_rc1::IfcControl::Controls() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[913], 6)); } +std::vector<::Ifc4x3_rc1::IfcRelAssignsToControl> Ifc4x3_rc1::IfcControl::Controls() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[913], 6)); } // const IfcParse::entity& Ifc4x3_rc1::IfcControl::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[234]); } const IfcParse::entity& Ifc4x3_rc1::IfcControl::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[234]); } @@ -9670,7 +9670,7 @@ void Ifc4x3_rc1::IfcConversionBasedUnit::setName(const std::string& v) { set_att ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[436], 3)); } +std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[436], 3)); } // const IfcParse::entity& Ifc4x3_rc1::IfcConversionBasedUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[238]); } const IfcParse::entity& Ifc4x3_rc1::IfcConversionBasedUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[238]); } @@ -9769,7 +9769,7 @@ void Ifc4x3_rc1::IfcCoordinateReferenceSystem::setGeodeticDatum(const std::optio std::optional< std::string > Ifc4x3_rc1::IfcCoordinateReferenceSystem::VerticalDatum() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcCoordinateReferenceSystem::setVerticalDatum(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -std::vector<::Ifc4x3_rc1::IfcCoordinateOperation> Ifc4x3_rc1::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[249], 0)); } +std::vector<::Ifc4x3_rc1::IfcCoordinateOperation> Ifc4x3_rc1::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[249], 0)); } // const IfcParse::entity& Ifc4x3_rc1::IfcCoordinateReferenceSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[250]); } const IfcParse::entity& Ifc4x3_rc1::IfcCoordinateReferenceSystem::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[250]); } @@ -9838,8 +9838,8 @@ const IfcParse::entity& Ifc4x3_rc1::IfcCourseType::Class() { return *((IfcParse: 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)); } void Ifc4x3_rc1::IfcCovering::setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcCoveringTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcCoveringTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_rc1::IfcRelCoversSpaces> Ifc4x3_rc1::IfcCovering::CoversSpaces() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[939], 5)); } -std::vector<::Ifc4x3_rc1::IfcRelCoversBldgElements> Ifc4x3_rc1::IfcCovering::CoversElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[938], 5)); } +std::vector<::Ifc4x3_rc1::IfcRelCoversSpaces> Ifc4x3_rc1::IfcCovering::CoversSpaces() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[939], 5)); } +std::vector<::Ifc4x3_rc1::IfcRelCoversBldgElements> Ifc4x3_rc1::IfcCovering::CoversElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[938], 5)); } // const IfcParse::entity& Ifc4x3_rc1::IfcCovering::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[261]); } const IfcParse::entity& Ifc4x3_rc1::IfcCovering::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[261]); } @@ -10272,7 +10272,7 @@ const IfcParse::entity& Ifc4x3_rc1::IfcDistributionCircuit::Class() { return *(( // Function implementations for IfcDistributionControlElement -std::vector<::Ifc4x3_rc1::IfcRelFlowControlElements> Ifc4x3_rc1::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[948], 4)); } +std::vector<::Ifc4x3_rc1::IfcRelFlowControlElements> Ifc4x3_rc1::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[948], 4)); } // const IfcParse::entity& Ifc4x3_rc1::IfcDistributionControlElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[324]); } const IfcParse::entity& Ifc4x3_rc1::IfcDistributionControlElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[324]); } @@ -10289,7 +10289,7 @@ const IfcParse::entity& Ifc4x3_rc1::IfcDistributionControlElementType::Class() { // Function implementations for IfcDistributionElement -std::vector<::Ifc4x3_rc1::IfcRelConnectsPortToElement> Ifc4x3_rc1::IfcDistributionElement::HasPorts() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[932], 5)); } +std::vector<::Ifc4x3_rc1::IfcRelConnectsPortToElement> Ifc4x3_rc1::IfcDistributionElement::HasPorts() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[932], 5)); } // const IfcParse::entity& Ifc4x3_rc1::IfcDistributionElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[326]); } const IfcParse::entity& Ifc4x3_rc1::IfcDistributionElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[326]); } @@ -10306,7 +10306,7 @@ const IfcParse::entity& Ifc4x3_rc1::IfcDistributionElementType::Class() { return // Function implementations for IfcDistributionFlowElement -std::vector<::Ifc4x3_rc1::IfcRelFlowControlElements> Ifc4x3_rc1::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[948], 5)); } +std::vector<::Ifc4x3_rc1::IfcRelFlowControlElements> Ifc4x3_rc1::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[948], 5)); } // const IfcParse::entity& Ifc4x3_rc1::IfcDistributionFlowElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[328]); } const IfcParse::entity& Ifc4x3_rc1::IfcDistributionFlowElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[328]); } @@ -10383,10 +10383,10 @@ void Ifc4x3_rc1::IfcDocumentInformation::setConfidentiality(const std::optional< std::optional< ::Ifc4x3_rc1::IfcDocumentStatusEnum::Value > Ifc4x3_rc1::IfcDocumentInformation::Status() const { if(get_attribute_value(16).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcDocumentStatusEnum::FromString(get_attribute_value(16)); } void Ifc4x3_rc1::IfcDocumentInformation::setStatus(const std::optional< ::Ifc4x3_rc1::IfcDocumentStatusEnum::Value >& v) { if (v) {set_attribute_value(16, EnumerationReference(&::Ifc4x3_rc1::IfcDocumentStatusEnum::Class(), (size_t) *v));} else {unset_attribute_value(16);} } -std::vector<::Ifc4x3_rc1::IfcRelAssociatesDocument> Ifc4x3_rc1::IfcDocumentInformation::DocumentInfoForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[923], 5)); } -std::vector<::Ifc4x3_rc1::IfcDocumentReference> Ifc4x3_rc1::IfcDocumentInformation::HasDocumentReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[337], 4)); } -std::vector<::Ifc4x3_rc1::IfcDocumentInformationRelationship> Ifc4x3_rc1::IfcDocumentInformation::IsPointedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[336], 3)); } -std::vector<::Ifc4x3_rc1::IfcDocumentInformationRelationship> Ifc4x3_rc1::IfcDocumentInformation::IsPointer() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[336], 2)); } +std::vector<::Ifc4x3_rc1::IfcRelAssociatesDocument> Ifc4x3_rc1::IfcDocumentInformation::DocumentInfoForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[923], 5)); } +std::vector<::Ifc4x3_rc1::IfcDocumentReference> Ifc4x3_rc1::IfcDocumentInformation::HasDocumentReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[337], 4)); } +std::vector<::Ifc4x3_rc1::IfcDocumentInformationRelationship> Ifc4x3_rc1::IfcDocumentInformation::IsPointedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[336], 3)); } +std::vector<::Ifc4x3_rc1::IfcDocumentInformationRelationship> Ifc4x3_rc1::IfcDocumentInformation::IsPointer() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[336], 2)); } // const IfcParse::entity& Ifc4x3_rc1::IfcDocumentInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[335]); } const IfcParse::entity& Ifc4x3_rc1::IfcDocumentInformation::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[335]); } @@ -10413,7 +10413,7 @@ void Ifc4x3_rc1::IfcDocumentReference::setDescription(const std::optional< std:: ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[923], 5)); } +std::vector<::Ifc4x3_rc1::IfcRelAssociatesDocument> Ifc4x3_rc1::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[923], 5)); } // const IfcParse::entity& Ifc4x3_rc1::IfcDocumentReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[337]); } const IfcParse::entity& Ifc4x3_rc1::IfcDocumentReference::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[337]); } @@ -10812,17 +10812,17 @@ const IfcParse::entity& Ifc4x3_rc1::IfcElectricTimeControlType::Class() { return 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; } void Ifc4x3_rc1::IfcElement::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -std::vector<::Ifc4x3_rc1::IfcRelFillsElement> Ifc4x3_rc1::IfcElement::FillsVoids() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[947], 5)); } -std::vector<::Ifc4x3_rc1::IfcRelConnectsElements> Ifc4x3_rc1::IfcElement::ConnectedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[929], 5)); } -std::vector<::Ifc4x3_rc1::IfcRelInterferesElements> Ifc4x3_rc1::IfcElement::IsInterferedByElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[949], 5)); } -std::vector<::Ifc4x3_rc1::IfcRelInterferesElements> Ifc4x3_rc1::IfcElement::InterferesElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[949], 4)); } -std::vector<::Ifc4x3_rc1::IfcRelProjectsElement> Ifc4x3_rc1::IfcElement::HasProjections() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[952], 4)); } -std::vector<::Ifc4x3_rc1::IfcRelVoidsElement> Ifc4x3_rc1::IfcElement::HasOpenings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[959], 4)); } -std::vector<::Ifc4x3_rc1::IfcRelConnectsWithRealizingElements> Ifc4x3_rc1::IfcElement::IsConnectionRealization() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[936], 7)); } -std::vector<::Ifc4x3_rc1::IfcRelSpaceBoundary> Ifc4x3_rc1::IfcElement::ProvidesBoundaries() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[956], 5)); } -std::vector<::Ifc4x3_rc1::IfcRelConnectsElements> Ifc4x3_rc1::IfcElement::ConnectedFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[929], 6)); } -std::vector<::Ifc4x3_rc1::IfcRelContainedInSpatialStructure> Ifc4x3_rc1::IfcElement::ContainedInStructure() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[937], 4)); } -std::vector<::Ifc4x3_rc1::IfcRelCoversBldgElements> Ifc4x3_rc1::IfcElement::HasCoverings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[938], 4)); } +std::vector<::Ifc4x3_rc1::IfcRelFillsElement> Ifc4x3_rc1::IfcElement::FillsVoids() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[947], 5)); } +std::vector<::Ifc4x3_rc1::IfcRelConnectsElements> Ifc4x3_rc1::IfcElement::ConnectedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[929], 5)); } +std::vector<::Ifc4x3_rc1::IfcRelInterferesElements> Ifc4x3_rc1::IfcElement::IsInterferedByElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[949], 5)); } +std::vector<::Ifc4x3_rc1::IfcRelInterferesElements> Ifc4x3_rc1::IfcElement::InterferesElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[949], 4)); } +std::vector<::Ifc4x3_rc1::IfcRelProjectsElement> Ifc4x3_rc1::IfcElement::HasProjections() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[952], 4)); } +std::vector<::Ifc4x3_rc1::IfcRelVoidsElement> Ifc4x3_rc1::IfcElement::HasOpenings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[959], 4)); } +std::vector<::Ifc4x3_rc1::IfcRelConnectsWithRealizingElements> Ifc4x3_rc1::IfcElement::IsConnectionRealization() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[936], 7)); } +std::vector<::Ifc4x3_rc1::IfcRelSpaceBoundary> Ifc4x3_rc1::IfcElement::ProvidesBoundaries() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[956], 5)); } +std::vector<::Ifc4x3_rc1::IfcRelConnectsElements> Ifc4x3_rc1::IfcElement::ConnectedFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[929], 6)); } +std::vector<::Ifc4x3_rc1::IfcRelContainedInSpatialStructure> Ifc4x3_rc1::IfcElement::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[937], 4)); } +std::vector<::Ifc4x3_rc1::IfcRelCoversBldgElements> Ifc4x3_rc1::IfcElement::HasCoverings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[938], 4)); } // const IfcParse::entity& Ifc4x3_rc1::IfcElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[401]); } const IfcParse::entity& Ifc4x3_rc1::IfcElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[401]); } @@ -11075,7 +11075,7 @@ void Ifc4x3_rc1::IfcExternalReference::setIdentification(const std::optional< st std::optional< std::string > Ifc4x3_rc1::IfcExternalReference::Name() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcExternalReference::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[436], 2)); } +std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[436], 2)); } // const IfcParse::entity& Ifc4x3_rc1::IfcExternalReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[435]); } const IfcParse::entity& Ifc4x3_rc1::IfcExternalReference::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[435]); } @@ -11098,7 +11098,7 @@ const IfcParse::entity& Ifc4x3_rc1::IfcExternalReferenceRelationship::Class() { 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)); } void Ifc4x3_rc1::IfcExternalSpatialElement::setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_rc1::IfcRelSpaceBoundary> Ifc4x3_rc1::IfcExternalSpatialElement::BoundedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[956], 4)); } +std::vector<::Ifc4x3_rc1::IfcRelSpaceBoundary> Ifc4x3_rc1::IfcExternalSpatialElement::BoundedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[956], 4)); } // const IfcParse::entity& Ifc4x3_rc1::IfcExternalSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[437]); } const IfcParse::entity& Ifc4x3_rc1::IfcExternalSpatialElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[437]); } @@ -11163,7 +11163,7 @@ const IfcParse::entity& Ifc4x3_rc1::IfcExtrudedAreaSolidTapered::Class() { retur 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(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[1199], 2)); } +std::vector<::Ifc4x3_rc1::IfcTextureMap> Ifc4x3_rc1::IfcFace::HasTextureMaps() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[1199], 2)); } // const IfcParse::entity& Ifc4x3_rc1::IfcFace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[442]); } const IfcParse::entity& Ifc4x3_rc1::IfcFace::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[442]); } @@ -11320,7 +11320,7 @@ const IfcParse::entity& Ifc4x3_rc1::IfcFeatureElement::Class() { return *((IfcPa // Function implementations for IfcFeatureElementAddition -std::vector<::Ifc4x3_rc1::IfcRelProjectsElement> Ifc4x3_rc1::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[952], 5)); } +std::vector<::Ifc4x3_rc1::IfcRelProjectsElement> Ifc4x3_rc1::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[952], 5)); } // const IfcParse::entity& Ifc4x3_rc1::IfcFeatureElementAddition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[462]); } const IfcParse::entity& Ifc4x3_rc1::IfcFeatureElementAddition::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[462]); } @@ -11329,7 +11329,7 @@ const IfcParse::entity& Ifc4x3_rc1::IfcFeatureElementAddition::Class() { return // Function implementations for IfcFeatureElementSubtraction -std::vector<::Ifc4x3_rc1::IfcRelVoidsElement> Ifc4x3_rc1::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[959], 5)); } +std::vector<::Ifc4x3_rc1::IfcRelVoidsElement> Ifc4x3_rc1::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[959], 5)); } // const IfcParse::entity& Ifc4x3_rc1::IfcFeatureElementSubtraction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[463]); } const IfcParse::entity& Ifc4x3_rc1::IfcFeatureElementSubtraction::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[463]); } @@ -11678,8 +11678,8 @@ void Ifc4x3_rc1::IfcGeometricRepresentationContext::setWorldCoordinateSystem(con ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[516], 6)); } -std::vector<::Ifc4x3_rc1::IfcCoordinateOperation> Ifc4x3_rc1::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[249], 0)); } +std::vector<::Ifc4x3_rc1::IfcGeometricRepresentationSubContext> Ifc4x3_rc1::IfcGeometricRepresentationContext::HasSubContexts() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[516], 6)); } +std::vector<::Ifc4x3_rc1::IfcCoordinateOperation> Ifc4x3_rc1::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[249], 0)); } // const IfcParse::entity& Ifc4x3_rc1::IfcGeometricRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[514]); } const IfcParse::entity& Ifc4x3_rc1::IfcGeometricRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[514]); } @@ -11784,10 +11784,10 @@ void Ifc4x3_rc1::IfcGridAxis::setAxisCurve(const ::Ifc4x3_rc1::IfcCurve& v) { se 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); } -std::vector<::Ifc4x3_rc1::IfcGrid> Ifc4x3_rc1::IfcGridAxis::PartOfW() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[526], 9)); } -std::vector<::Ifc4x3_rc1::IfcGrid> Ifc4x3_rc1::IfcGridAxis::PartOfV() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[526], 8)); } -std::vector<::Ifc4x3_rc1::IfcGrid> Ifc4x3_rc1::IfcGridAxis::PartOfU() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[526], 7)); } -std::vector<::Ifc4x3_rc1::IfcVirtualGridIntersection> Ifc4x3_rc1::IfcGridAxis::HasIntersections() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[1277], 0)); } +std::vector<::Ifc4x3_rc1::IfcGrid> Ifc4x3_rc1::IfcGridAxis::PartOfW() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[526], 9)); } +std::vector<::Ifc4x3_rc1::IfcGrid> Ifc4x3_rc1::IfcGridAxis::PartOfV() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[526], 8)); } +std::vector<::Ifc4x3_rc1::IfcGrid> Ifc4x3_rc1::IfcGridAxis::PartOfU() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[526], 7)); } +std::vector<::Ifc4x3_rc1::IfcVirtualGridIntersection> Ifc4x3_rc1::IfcGridAxis::HasIntersections() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[1277], 0)); } // const IfcParse::entity& Ifc4x3_rc1::IfcGridAxis::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[527]); } const IfcParse::entity& Ifc4x3_rc1::IfcGridAxis::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[527]); } @@ -11808,7 +11808,7 @@ const IfcParse::entity& Ifc4x3_rc1::IfcGridPlacement::Class() { return *((IfcPar // Function implementations for IfcGroup -std::vector<::Ifc4x3_rc1::IfcRelAssignsToGroup> Ifc4x3_rc1::IfcGroup::IsGroupedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[914], 6)); } +std::vector<::Ifc4x3_rc1::IfcRelAssignsToGroup> Ifc4x3_rc1::IfcGroup::IsGroupedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[914], 6)); } // const IfcParse::entity& Ifc4x3_rc1::IfcGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[531]); } const IfcParse::entity& Ifc4x3_rc1::IfcGroup::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[531]); } @@ -11965,7 +11965,7 @@ const IfcParse::entity& Ifc4x3_rc1::IfcIndexedPolyCurve::Class() { return *((Ifc std::vector< int > /*[3:?]*/ Ifc4x3_rc1::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcIndexedPolygonalFace::setCoordIndex(const std::vector< int > /*[3:?]*/& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector<::Ifc4x3_rc1::IfcPolygonalFaceSet> Ifc4x3_rc1::IfcIndexedPolygonalFace::ToFaceSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[783], 2)); } +std::vector<::Ifc4x3_rc1::IfcPolygonalFaceSet> Ifc4x3_rc1::IfcIndexedPolygonalFace::ToFaceSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[783], 2)); } // const IfcParse::entity& Ifc4x3_rc1::IfcIndexedPolygonalFace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[552]); } const IfcParse::entity& Ifc4x3_rc1::IfcIndexedPolygonalFace::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[552]); } @@ -12200,8 +12200,8 @@ void Ifc4x3_rc1::IfcLibraryInformation::setLocation(const std::optional< std::st std::optional< std::string > Ifc4x3_rc1::IfcLibraryInformation::Description() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcLibraryInformation::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3_rc1::IfcRelAssociatesLibrary> Ifc4x3_rc1::IfcLibraryInformation::LibraryInfoForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[924], 5)); } -std::vector<::Ifc4x3_rc1::IfcLibraryReference> Ifc4x3_rc1::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[592], 5)); } +std::vector<::Ifc4x3_rc1::IfcRelAssociatesLibrary> Ifc4x3_rc1::IfcLibraryInformation::LibraryInfoForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[924], 5)); } +std::vector<::Ifc4x3_rc1::IfcLibraryReference> Ifc4x3_rc1::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[592], 5)); } // const IfcParse::entity& Ifc4x3_rc1::IfcLibraryInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[591]); } const IfcParse::entity& Ifc4x3_rc1::IfcLibraryInformation::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[591]); } @@ -12216,7 +12216,7 @@ void Ifc4x3_rc1::IfcLibraryReference::setLanguage(const std::optional< std::stri ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[924], 5)); } +std::vector<::Ifc4x3_rc1::IfcRelAssociatesLibrary> Ifc4x3_rc1::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[924], 5)); } // const IfcParse::entity& Ifc4x3_rc1::IfcLibraryReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[592]); } const IfcParse::entity& Ifc4x3_rc1::IfcLibraryReference::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[592]); } @@ -12533,9 +12533,9 @@ void Ifc4x3_rc1::IfcMaterial::setDescription(const std::optional< std::string >& std::optional< std::string > Ifc4x3_rc1::IfcMaterial::Category() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcMaterial::setCategory(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x3_rc1::IfcMaterialDefinitionRepresentation> Ifc4x3_rc1::IfcMaterial::HasRepresentation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[650], 3)); } -std::vector<::Ifc4x3_rc1::IfcMaterialRelationship> Ifc4x3_rc1::IfcMaterial::IsRelatedWith() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[662], 3)); } -std::vector<::Ifc4x3_rc1::IfcMaterialRelationship> Ifc4x3_rc1::IfcMaterial::RelatesTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[662], 2)); } +std::vector<::Ifc4x3_rc1::IfcMaterialDefinitionRepresentation> Ifc4x3_rc1::IfcMaterial::HasRepresentation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[650], 3)); } +std::vector<::Ifc4x3_rc1::IfcMaterialRelationship> Ifc4x3_rc1::IfcMaterial::IsRelatedWith() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[662], 3)); } +std::vector<::Ifc4x3_rc1::IfcMaterialRelationship> Ifc4x3_rc1::IfcMaterial::RelatesTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[662], 2)); } // const IfcParse::entity& Ifc4x3_rc1::IfcMaterial::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[645]); } const IfcParse::entity& Ifc4x3_rc1::IfcMaterial::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[645]); } @@ -12566,7 +12566,7 @@ void Ifc4x3_rc1::IfcMaterialConstituent::setFraction(const std::optional< double std::optional< std::string > Ifc4x3_rc1::IfcMaterialConstituent::Category() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcMaterialConstituent::setCategory(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector<::Ifc4x3_rc1::IfcMaterialConstituentSet> Ifc4x3_rc1::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[648], 2)); } +std::vector<::Ifc4x3_rc1::IfcMaterialConstituentSet> Ifc4x3_rc1::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[648], 2)); } // const IfcParse::entity& Ifc4x3_rc1::IfcMaterialConstituent::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[647]); } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialConstituent::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[647]); } @@ -12589,9 +12589,9 @@ const IfcParse::entity& Ifc4x3_rc1::IfcMaterialConstituentSet::Class() { return // Function implementations for IfcMaterialDefinition -std::vector<::Ifc4x3_rc1::IfcRelAssociatesMaterial> Ifc4x3_rc1::IfcMaterialDefinition::AssociatedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[925], 5)); } -std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcMaterialDefinition::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[436], 3)); } -std::vector<::Ifc4x3_rc1::IfcMaterialProperties> Ifc4x3_rc1::IfcMaterialDefinition::HasProperties() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[661], 3)); } +std::vector<::Ifc4x3_rc1::IfcRelAssociatesMaterial> Ifc4x3_rc1::IfcMaterialDefinition::AssociatedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[925], 5)); } +std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcMaterialDefinition::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[436], 3)); } +std::vector<::Ifc4x3_rc1::IfcMaterialProperties> Ifc4x3_rc1::IfcMaterialDefinition::HasProperties() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[661], 3)); } // const IfcParse::entity& Ifc4x3_rc1::IfcMaterialDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[649]); } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[649]); } @@ -12624,7 +12624,7 @@ void Ifc4x3_rc1::IfcMaterialLayer::setCategory(const std::optional< std::string std::optional< int > Ifc4x3_rc1::IfcMaterialLayer::Priority() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } int v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcMaterialLayer::setPriority(const std::optional< int >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x3_rc1::IfcMaterialLayerSet> Ifc4x3_rc1::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[652], 0)); } +std::vector<::Ifc4x3_rc1::IfcMaterialLayerSet> Ifc4x3_rc1::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[652], 0)); } // const IfcParse::entity& Ifc4x3_rc1::IfcMaterialLayer::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[651]); } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialLayer::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[651]); } @@ -12699,7 +12699,7 @@ void Ifc4x3_rc1::IfcMaterialProfile::setPriority(const std::optional< int >& v) std::optional< std::string > Ifc4x3_rc1::IfcMaterialProfile::Category() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcMaterialProfile::setCategory(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3_rc1::IfcMaterialProfileSet> Ifc4x3_rc1::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[657], 2)); } +std::vector<::Ifc4x3_rc1::IfcMaterialProfileSet> Ifc4x3_rc1::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[657], 2)); } // const IfcParse::entity& Ifc4x3_rc1::IfcMaterialProfile::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[656]); } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialProfile::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[656]); } @@ -12784,7 +12784,7 @@ const IfcParse::entity& Ifc4x3_rc1::IfcMaterialRelationship::Class() { return *( // Function implementations for IfcMaterialUsageDefinition -std::vector<::Ifc4x3_rc1::IfcRelAssociatesMaterial> Ifc4x3_rc1::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[925], 5)); } +std::vector<::Ifc4x3_rc1::IfcRelAssociatesMaterial> Ifc4x3_rc1::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[925], 5)); } // const IfcParse::entity& Ifc4x3_rc1::IfcMaterialUsageDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[664]); } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialUsageDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[664]); } @@ -13009,10 +13009,10 @@ const IfcParse::entity& Ifc4x3_rc1::IfcNavigationElementType::Class() { return * 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; } void Ifc4x3_rc1::IfcObject::setObjectType(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector<::Ifc4x3_rc1::IfcRelDefinesByObject> Ifc4x3_rc1::IfcObject::IsDeclaredBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[943], 4)); } -std::vector<::Ifc4x3_rc1::IfcRelDefinesByObject> Ifc4x3_rc1::IfcObject::Declares() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[943], 5)); } -std::vector<::Ifc4x3_rc1::IfcRelDefinesByType> Ifc4x3_rc1::IfcObject::IsTypedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[946], 4)); } -std::vector<::Ifc4x3_rc1::IfcRelDefinesByProperties> Ifc4x3_rc1::IfcObject::IsDefinedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[944], 4)); } +std::vector<::Ifc4x3_rc1::IfcRelDefinesByObject> Ifc4x3_rc1::IfcObject::IsDeclaredBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[943], 4)); } +std::vector<::Ifc4x3_rc1::IfcRelDefinesByObject> Ifc4x3_rc1::IfcObject::Declares() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[943], 5)); } +std::vector<::Ifc4x3_rc1::IfcRelDefinesByType> Ifc4x3_rc1::IfcObject::IsTypedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[946], 4)); } +std::vector<::Ifc4x3_rc1::IfcRelDefinesByProperties> Ifc4x3_rc1::IfcObject::IsDefinedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[944], 4)); } // const IfcParse::entity& Ifc4x3_rc1::IfcObject::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[710]); } const IfcParse::entity& Ifc4x3_rc1::IfcObject::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[710]); } @@ -13021,13 +13021,13 @@ const IfcParse::entity& Ifc4x3_rc1::IfcObject::Class() { return *((IfcParse::ent // Function implementations for IfcObjectDefinition -std::vector<::Ifc4x3_rc1::IfcRelAssigns> Ifc4x3_rc1::IfcObjectDefinition::HasAssignments() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[911], 4)); } -std::vector<::Ifc4x3_rc1::IfcRelNests> Ifc4x3_rc1::IfcObjectDefinition::Nests() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[950], 5)); } -std::vector<::Ifc4x3_rc1::IfcRelNests> Ifc4x3_rc1::IfcObjectDefinition::IsNestedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[950], 4)); } -std::vector<::Ifc4x3_rc1::IfcRelDeclares> Ifc4x3_rc1::IfcObjectDefinition::HasContext() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[940], 5)); } -std::vector<::Ifc4x3_rc1::IfcRelAggregates> Ifc4x3_rc1::IfcObjectDefinition::IsDecomposedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[910], 4)); } -std::vector<::Ifc4x3_rc1::IfcRelAggregates> Ifc4x3_rc1::IfcObjectDefinition::Decomposes() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[910], 5)); } -std::vector<::Ifc4x3_rc1::IfcRelAssociates> Ifc4x3_rc1::IfcObjectDefinition::HasAssociations() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[919], 4)); } +std::vector<::Ifc4x3_rc1::IfcRelAssigns> Ifc4x3_rc1::IfcObjectDefinition::HasAssignments() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[911], 4)); } +std::vector<::Ifc4x3_rc1::IfcRelNests> Ifc4x3_rc1::IfcObjectDefinition::Nests() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[950], 5)); } +std::vector<::Ifc4x3_rc1::IfcRelNests> Ifc4x3_rc1::IfcObjectDefinition::IsNestedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[950], 4)); } +std::vector<::Ifc4x3_rc1::IfcRelDeclares> Ifc4x3_rc1::IfcObjectDefinition::HasContext() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[940], 5)); } +std::vector<::Ifc4x3_rc1::IfcRelAggregates> Ifc4x3_rc1::IfcObjectDefinition::IsDecomposedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[910], 4)); } +std::vector<::Ifc4x3_rc1::IfcRelAggregates> Ifc4x3_rc1::IfcObjectDefinition::Decomposes() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[910], 5)); } +std::vector<::Ifc4x3_rc1::IfcRelAssociates> Ifc4x3_rc1::IfcObjectDefinition::HasAssociations() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[919], 4)); } // const IfcParse::entity& Ifc4x3_rc1::IfcObjectDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[711]); } const IfcParse::entity& Ifc4x3_rc1::IfcObjectDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[711]); } @@ -13038,7 +13038,7 @@ const IfcParse::entity& Ifc4x3_rc1::IfcObjectDefinition::Class() { return *((Ifc ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[814], 5)); } +std::vector<::Ifc4x3_rc1::IfcProduct> Ifc4x3_rc1::IfcObjectPlacement::PlacesObject() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[814], 5)); } // const IfcParse::entity& Ifc4x3_rc1::IfcObjectPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[714]); } const IfcParse::entity& Ifc4x3_rc1::IfcObjectPlacement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[714]); } @@ -13147,7 +13147,7 @@ const IfcParse::entity& Ifc4x3_rc1::IfcOpenShell::Class() { return *((IfcParse:: 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)); } void Ifc4x3_rc1::IfcOpeningElement::setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcOpeningElementTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcOpeningElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_rc1::IfcRelFillsElement> Ifc4x3_rc1::IfcOpeningElement::HasFillings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[947], 4)); } +std::vector<::Ifc4x3_rc1::IfcRelFillsElement> Ifc4x3_rc1::IfcOpeningElement::HasFillings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[947], 4)); } // const IfcParse::entity& Ifc4x3_rc1::IfcOpeningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[724]); } const IfcParse::entity& Ifc4x3_rc1::IfcOpeningElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[724]); } @@ -13174,9 +13174,9 @@ void Ifc4x3_rc1::IfcOrganization::setRoles(const std::optional< std::vector< ::I 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(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[729], 3)); } -std::vector<::Ifc4x3_rc1::IfcOrganizationRelationship> Ifc4x3_rc1::IfcOrganization::Relates() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[729], 2)); } -std::vector<::Ifc4x3_rc1::IfcPersonAndOrganization> Ifc4x3_rc1::IfcOrganization::Engages() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[750], 1)); } +std::vector<::Ifc4x3_rc1::IfcOrganizationRelationship> Ifc4x3_rc1::IfcOrganization::IsRelatedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[729], 3)); } +std::vector<::Ifc4x3_rc1::IfcOrganizationRelationship> Ifc4x3_rc1::IfcOrganization::Relates() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[729], 2)); } +std::vector<::Ifc4x3_rc1::IfcPersonAndOrganization> Ifc4x3_rc1::IfcOrganization::Engages() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[750], 1)); } // const IfcParse::entity& Ifc4x3_rc1::IfcOrganization::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[728]); } const IfcParse::entity& Ifc4x3_rc1::IfcOrganization::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[728]); } @@ -13385,7 +13385,7 @@ void Ifc4x3_rc1::IfcPerson::setRoles(const std::optional< std::vector< ::Ifc4x3_ 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(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[750], 0)); } +std::vector<::Ifc4x3_rc1::IfcPersonAndOrganization> Ifc4x3_rc1::IfcPerson::EngagedIn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[750], 0)); } // const IfcParse::entity& Ifc4x3_rc1::IfcPerson::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[749]); } const IfcParse::entity& Ifc4x3_rc1::IfcPerson::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[749]); } @@ -13428,8 +13428,8 @@ void Ifc4x3_rc1::IfcPhysicalQuantity::setName(const std::string& v) { set_attrib std::optional< std::string > Ifc4x3_rc1::IfcPhysicalQuantity::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcPhysicalQuantity::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcPhysicalQuantity::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[436], 3)); } -std::vector<::Ifc4x3_rc1::IfcPhysicalComplexQuantity> Ifc4x3_rc1::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[752], 2)); } +std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcPhysicalQuantity::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[436], 3)); } +std::vector<::Ifc4x3_rc1::IfcPhysicalComplexQuantity> Ifc4x3_rc1::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[752], 2)); } // const IfcParse::entity& Ifc4x3_rc1::IfcPhysicalQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[754]); } const IfcParse::entity& Ifc4x3_rc1::IfcPhysicalQuantity::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[754]); } @@ -13682,9 +13682,9 @@ const IfcParse::entity& Ifc4x3_rc1::IfcPolyline::Class() { return *((IfcParse::e // Function implementations for IfcPort -std::vector<::Ifc4x3_rc1::IfcRelConnectsPortToElement> Ifc4x3_rc1::IfcPort::ContainedIn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[932], 4)); } -std::vector<::Ifc4x3_rc1::IfcRelConnectsPorts> Ifc4x3_rc1::IfcPort::ConnectedFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[931], 5)); } -std::vector<::Ifc4x3_rc1::IfcRelConnectsPorts> Ifc4x3_rc1::IfcPort::ConnectedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[931], 4)); } +std::vector<::Ifc4x3_rc1::IfcRelConnectsPortToElement> Ifc4x3_rc1::IfcPort::ContainedIn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[932], 4)); } +std::vector<::Ifc4x3_rc1::IfcRelConnectsPorts> Ifc4x3_rc1::IfcPort::ConnectedFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[931], 5)); } +std::vector<::Ifc4x3_rc1::IfcRelConnectsPorts> Ifc4x3_rc1::IfcPort::ConnectedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[931], 4)); } // const IfcParse::entity& Ifc4x3_rc1::IfcPort::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[786]); } const IfcParse::entity& Ifc4x3_rc1::IfcPort::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[786]); } @@ -13693,8 +13693,8 @@ const IfcParse::entity& Ifc4x3_rc1::IfcPort::Class() { return *((IfcParse::entit // Function implementations for IfcPositioningElement -std::vector<::Ifc4x3_rc1::IfcRelContainedInSpatialStructure> Ifc4x3_rc1::IfcPositioningElement::ContainedInStructure() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[937], 4)); } -std::vector<::Ifc4x3_rc1::IfcRelPositions> Ifc4x3_rc1::IfcPositioningElement::Positions() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[951], 4)); } +std::vector<::Ifc4x3_rc1::IfcRelContainedInSpatialStructure> Ifc4x3_rc1::IfcPositioningElement::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[937], 4)); } +std::vector<::Ifc4x3_rc1::IfcRelPositions> Ifc4x3_rc1::IfcPositioningElement::Positions() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[951], 4)); } // const IfcParse::entity& Ifc4x3_rc1::IfcPositioningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[787]); } const IfcParse::entity& Ifc4x3_rc1::IfcPositioningElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[787]); } @@ -13859,9 +13859,9 @@ void Ifc4x3_rc1::IfcProcess::setIdentification(const std::optional< std::string std::optional< std::string > Ifc4x3_rc1::IfcProcess::LongDescription() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcProcess::setLongDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x3_rc1::IfcRelSequence> Ifc4x3_rc1::IfcProcess::IsPredecessorTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[954], 4)); } -std::vector<::Ifc4x3_rc1::IfcRelSequence> Ifc4x3_rc1::IfcProcess::IsSuccessorFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[954], 5)); } -std::vector<::Ifc4x3_rc1::IfcRelAssignsToProcess> Ifc4x3_rc1::IfcProcess::OperatesOn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[916], 6)); } +std::vector<::Ifc4x3_rc1::IfcRelSequence> Ifc4x3_rc1::IfcProcess::IsPredecessorTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[954], 4)); } +std::vector<::Ifc4x3_rc1::IfcRelSequence> Ifc4x3_rc1::IfcProcess::IsSuccessorFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[954], 5)); } +std::vector<::Ifc4x3_rc1::IfcRelAssignsToProcess> Ifc4x3_rc1::IfcProcess::OperatesOn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[916], 6)); } // const IfcParse::entity& Ifc4x3_rc1::IfcProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[812]); } const IfcParse::entity& Ifc4x3_rc1::IfcProcess::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[812]); } @@ -13874,9 +13874,9 @@ void Ifc4x3_rc1::IfcProduct::setObjectPlacement(const ::Ifc4x3_rc1::IfcObjectPla ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[917], 6)); } -std::vector<::Ifc4x3_rc1::IfcRelPositions> Ifc4x3_rc1::IfcProduct::PositionedRelativeTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[951], 5)); } -std::vector<::Ifc4x3_rc1::IfcRelReferencedInSpatialStructure> Ifc4x3_rc1::IfcProduct::ReferencedInStructures() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[953], 4)); } +std::vector<::Ifc4x3_rc1::IfcRelAssignsToProduct> Ifc4x3_rc1::IfcProduct::ReferencedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[917], 6)); } +std::vector<::Ifc4x3_rc1::IfcRelPositions> Ifc4x3_rc1::IfcProduct::PositionedRelativeTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[951], 5)); } +std::vector<::Ifc4x3_rc1::IfcRelReferencedInSpatialStructure> Ifc4x3_rc1::IfcProduct::ReferencedInStructures() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[953], 4)); } // const IfcParse::entity& Ifc4x3_rc1::IfcProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[814]); } const IfcParse::entity& Ifc4x3_rc1::IfcProduct::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[814]); } @@ -13885,8 +13885,8 @@ const IfcParse::entity& Ifc4x3_rc1::IfcProduct::Class() { return *((IfcParse::en // Function implementations for IfcProductDefinitionShape -std::vector<::Ifc4x3_rc1::IfcProduct> Ifc4x3_rc1::IfcProductDefinitionShape::ShapeOfProduct() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[814], 6)); } -std::vector<::Ifc4x3_rc1::IfcShapeAspect> Ifc4x3_rc1::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[1010], 4)); } +std::vector<::Ifc4x3_rc1::IfcProduct> Ifc4x3_rc1::IfcProductDefinitionShape::ShapeOfProduct() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[814], 6)); } +std::vector<::Ifc4x3_rc1::IfcShapeAspect> Ifc4x3_rc1::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[1010], 4)); } // const IfcParse::entity& Ifc4x3_rc1::IfcProductDefinitionShape::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[815]); } const IfcParse::entity& Ifc4x3_rc1::IfcProductDefinitionShape::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[815]); } @@ -13913,8 +13913,8 @@ void Ifc4x3_rc1::IfcProfileDef::setProfileType(const ::Ifc4x3_rc1::IfcProfileTyp std::optional< std::string > Ifc4x3_rc1::IfcProfileDef::ProfileName() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcProfileDef::setProfileName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcProfileDef::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[436], 3)); } -std::vector<::Ifc4x3_rc1::IfcProfileProperties> Ifc4x3_rc1::IfcProfileDef::HasProperties() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[820], 3)); } +std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcProfileDef::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[436], 3)); } +std::vector<::Ifc4x3_rc1::IfcProfileProperties> Ifc4x3_rc1::IfcProfileDef::HasProperties() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[820], 3)); } // const IfcParse::entity& Ifc4x3_rc1::IfcProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[819]); } const IfcParse::entity& Ifc4x3_rc1::IfcProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[819]); } @@ -13991,12 +13991,12 @@ void Ifc4x3_rc1::IfcProperty::setName(const std::string& v) { set_attribute_valu std::optional< std::string > Ifc4x3_rc1::IfcProperty::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcProperty::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x3_rc1::IfcPropertySet> Ifc4x3_rc1::IfcProperty::PartOfPset() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[839], 4)); } -std::vector<::Ifc4x3_rc1::IfcPropertyDependencyRelationship> Ifc4x3_rc1::IfcProperty::PropertyForDependance() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[834], 2)); } -std::vector<::Ifc4x3_rc1::IfcPropertyDependencyRelationship> Ifc4x3_rc1::IfcProperty::PropertyDependsOn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[834], 3)); } -std::vector<::Ifc4x3_rc1::IfcComplexProperty> Ifc4x3_rc1::IfcProperty::PartOfComplex() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[195], 3)); } -std::vector<::Ifc4x3_rc1::IfcResourceConstraintRelationship> Ifc4x3_rc1::IfcProperty::HasConstraints() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[967], 3)); } -std::vector<::Ifc4x3_rc1::IfcResourceApprovalRelationship> Ifc4x3_rc1::IfcProperty::HasApprovals() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[966], 2)); } +std::vector<::Ifc4x3_rc1::IfcPropertySet> Ifc4x3_rc1::IfcProperty::PartOfPset() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[839], 4)); } +std::vector<::Ifc4x3_rc1::IfcPropertyDependencyRelationship> Ifc4x3_rc1::IfcProperty::PropertyForDependance() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[834], 2)); } +std::vector<::Ifc4x3_rc1::IfcPropertyDependencyRelationship> Ifc4x3_rc1::IfcProperty::PropertyDependsOn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[834], 3)); } +std::vector<::Ifc4x3_rc1::IfcComplexProperty> Ifc4x3_rc1::IfcProperty::PartOfComplex() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[195], 3)); } +std::vector<::Ifc4x3_rc1::IfcResourceConstraintRelationship> Ifc4x3_rc1::IfcProperty::HasConstraints() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[967], 3)); } +std::vector<::Ifc4x3_rc1::IfcResourceApprovalRelationship> Ifc4x3_rc1::IfcProperty::HasApprovals() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[966], 2)); } // const IfcParse::entity& Ifc4x3_rc1::IfcProperty::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[830]); } const IfcParse::entity& Ifc4x3_rc1::IfcProperty::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[830]); } @@ -14005,7 +14005,7 @@ const IfcParse::entity& Ifc4x3_rc1::IfcProperty::Class() { return *((IfcParse::e // Function implementations for IfcPropertyAbstraction -std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[436], 3)); } +std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[436], 3)); } // const IfcParse::entity& Ifc4x3_rc1::IfcPropertyAbstraction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[831]); } const IfcParse::entity& Ifc4x3_rc1::IfcPropertyAbstraction::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[831]); } @@ -14030,8 +14030,8 @@ const IfcParse::entity& Ifc4x3_rc1::IfcPropertyBoundedValue::Class() { return *( // Function implementations for IfcPropertyDefinition -std::vector<::Ifc4x3_rc1::IfcRelDeclares> Ifc4x3_rc1::IfcPropertyDefinition::HasContext() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[940], 5)); } -std::vector<::Ifc4x3_rc1::IfcRelAssociates> Ifc4x3_rc1::IfcPropertyDefinition::HasAssociations() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[919], 4)); } +std::vector<::Ifc4x3_rc1::IfcRelDeclares> Ifc4x3_rc1::IfcPropertyDefinition::HasContext() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[940], 5)); } +std::vector<::Ifc4x3_rc1::IfcRelAssociates> Ifc4x3_rc1::IfcPropertyDefinition::HasAssociations() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[919], 4)); } // const IfcParse::entity& Ifc4x3_rc1::IfcPropertyDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[833]); } const IfcParse::entity& Ifc4x3_rc1::IfcPropertyDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[833]); } @@ -14114,9 +14114,9 @@ const IfcParse::entity& Ifc4x3_rc1::IfcPropertySet::Class() { return *((IfcParse // Function implementations for IfcPropertySetDefinition -std::vector<::Ifc4x3_rc1::IfcTypeObject> Ifc4x3_rc1::IfcPropertySetDefinition::DefinesType() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[1245], 5)); } -std::vector<::Ifc4x3_rc1::IfcRelDefinesByTemplate> Ifc4x3_rc1::IfcPropertySetDefinition::IsDefinedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[945], 4)); } -std::vector<::Ifc4x3_rc1::IfcRelDefinesByProperties> Ifc4x3_rc1::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[944], 5)); } +std::vector<::Ifc4x3_rc1::IfcTypeObject> Ifc4x3_rc1::IfcPropertySetDefinition::DefinesType() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[1245], 5)); } +std::vector<::Ifc4x3_rc1::IfcRelDefinesByTemplate> Ifc4x3_rc1::IfcPropertySetDefinition::IsDefinedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[945], 4)); } +std::vector<::Ifc4x3_rc1::IfcRelDefinesByProperties> Ifc4x3_rc1::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[944], 5)); } // const IfcParse::entity& Ifc4x3_rc1::IfcPropertySetDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[840]); } const IfcParse::entity& Ifc4x3_rc1::IfcPropertySetDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[840]); } @@ -14131,7 +14131,7 @@ void Ifc4x3_rc1::IfcPropertySetTemplate::setApplicableEntity(const std::optional 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(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[945], 5)); } +std::vector<::Ifc4x3_rc1::IfcRelDefinesByTemplate> Ifc4x3_rc1::IfcPropertySetTemplate::Defines() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[945], 5)); } // const IfcParse::entity& Ifc4x3_rc1::IfcPropertySetTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[843]); } const IfcParse::entity& Ifc4x3_rc1::IfcPropertySetTemplate::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[843]); } @@ -14172,8 +14172,8 @@ const IfcParse::entity& Ifc4x3_rc1::IfcPropertyTableValue::Class() { return *((I // Function implementations for IfcPropertyTemplate -std::vector<::Ifc4x3_rc1::IfcComplexPropertyTemplate> Ifc4x3_rc1::IfcPropertyTemplate::PartOfComplexTemplate() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[196], 6)); } -std::vector<::Ifc4x3_rc1::IfcPropertySetTemplate> Ifc4x3_rc1::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[843], 6)); } +std::vector<::Ifc4x3_rc1::IfcComplexPropertyTemplate> Ifc4x3_rc1::IfcPropertyTemplate::PartOfComplexTemplate() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[196], 6)); } +std::vector<::Ifc4x3_rc1::IfcPropertySetTemplate> Ifc4x3_rc1::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[843], 6)); } // const IfcParse::entity& Ifc4x3_rc1::IfcPropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[847]); } const IfcParse::entity& Ifc4x3_rc1::IfcPropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[847]); } @@ -15284,7 +15284,7 @@ const IfcParse::entity& Ifc4x3_rc1::IfcRelSpaceBoundary::Class() { return *((Ifc ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[957], 9)); } +std::vector<::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel> Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[957], 9)); } // const IfcParse::entity& Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[957]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[957]); } @@ -15295,7 +15295,7 @@ const IfcParse::entity& Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel::Class() { retur ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[958], 10)); } +std::vector<::Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel> Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[958], 10)); } // const IfcParse::entity& Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[958]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[958]); } @@ -15342,9 +15342,9 @@ void Ifc4x3_rc1::IfcRepresentation::setRepresentationType(const std::optional< s 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(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[964], 1)); } -std::vector<::Ifc4x3_rc1::IfcPresentationLayerAssignment> Ifc4x3_rc1::IfcRepresentation::LayerAssignments() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[803], 2)); } -std::vector<::Ifc4x3_rc1::IfcProductRepresentation> Ifc4x3_rc1::IfcRepresentation::OfProductRepresentation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[816], 2)); } +std::vector<::Ifc4x3_rc1::IfcRepresentationMap> Ifc4x3_rc1::IfcRepresentation::RepresentationMap() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[964], 1)); } +std::vector<::Ifc4x3_rc1::IfcPresentationLayerAssignment> Ifc4x3_rc1::IfcRepresentation::LayerAssignments() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[803], 2)); } +std::vector<::Ifc4x3_rc1::IfcProductRepresentation> Ifc4x3_rc1::IfcRepresentation::OfProductRepresentation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[816], 2)); } // const IfcParse::entity& Ifc4x3_rc1::IfcRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[961]); } const IfcParse::entity& Ifc4x3_rc1::IfcRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[961]); } @@ -15357,7 +15357,7 @@ void Ifc4x3_rc1::IfcRepresentationContext::setContextIdentifier(const std::optio std::optional< std::string > Ifc4x3_rc1::IfcRepresentationContext::ContextType() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcRepresentationContext::setContextType(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::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[961], 0)); } +std::vector<::Ifc4x3_rc1::IfcRepresentation> Ifc4x3_rc1::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[961], 0)); } // const IfcParse::entity& Ifc4x3_rc1::IfcRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[962]); } const IfcParse::entity& Ifc4x3_rc1::IfcRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[962]); } @@ -15366,8 +15366,8 @@ const IfcParse::entity& Ifc4x3_rc1::IfcRepresentationContext::Class() { return * // Function implementations for IfcRepresentationItem -std::vector<::Ifc4x3_rc1::IfcPresentationLayerAssignment> Ifc4x3_rc1::IfcRepresentationItem::LayerAssignment() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[803], 2)); } -std::vector<::Ifc4x3_rc1::IfcStyledItem> Ifc4x3_rc1::IfcRepresentationItem::StyledByItem() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[1122], 0)); } +std::vector<::Ifc4x3_rc1::IfcPresentationLayerAssignment> Ifc4x3_rc1::IfcRepresentationItem::LayerAssignment() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[803], 2)); } +std::vector<::Ifc4x3_rc1::IfcStyledItem> Ifc4x3_rc1::IfcRepresentationItem::StyledByItem() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[1122], 0)); } // const IfcParse::entity& Ifc4x3_rc1::IfcRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[963]); } const IfcParse::entity& Ifc4x3_rc1::IfcRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[963]); } @@ -15380,8 +15380,8 @@ void Ifc4x3_rc1::IfcRepresentationMap::setMappingOrigin(const ::Ifc4x3_rc1::IfcA ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[1010], 4)); } -std::vector<::Ifc4x3_rc1::IfcMappedItem> Ifc4x3_rc1::IfcRepresentationMap::MapUsage() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[637], 0)); } +std::vector<::Ifc4x3_rc1::IfcShapeAspect> Ifc4x3_rc1::IfcRepresentationMap::HasShapeAspects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[1010], 4)); } +std::vector<::Ifc4x3_rc1::IfcMappedItem> Ifc4x3_rc1::IfcRepresentationMap::MapUsage() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[637], 0)); } // const IfcParse::entity& Ifc4x3_rc1::IfcRepresentationMap::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[964]); } const IfcParse::entity& Ifc4x3_rc1::IfcRepresentationMap::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[964]); } @@ -15394,7 +15394,7 @@ void Ifc4x3_rc1::IfcResource::setIdentification(const std::optional< std::string std::optional< std::string > Ifc4x3_rc1::IfcResource::LongDescription() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcResource::setLongDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x3_rc1::IfcRelAssignsToResource> Ifc4x3_rc1::IfcResource::ResourceOf() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[918], 6)); } +std::vector<::Ifc4x3_rc1::IfcRelAssignsToResource> Ifc4x3_rc1::IfcResource::ResourceOf() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[918], 6)); } // const IfcParse::entity& Ifc4x3_rc1::IfcResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[965]); } const IfcParse::entity& Ifc4x3_rc1::IfcResource::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[965]); } @@ -15769,7 +15769,7 @@ void Ifc4x3_rc1::IfcShapeAspect::setProductDefinitional(const boost::logic::trib ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[436], 3)); } +std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcShapeAspect::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[436], 3)); } // const IfcParse::entity& Ifc4x3_rc1::IfcShapeAspect::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1010]); } const IfcParse::entity& Ifc4x3_rc1::IfcShapeAspect::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1010]); } @@ -15778,7 +15778,7 @@ const IfcParse::entity& Ifc4x3_rc1::IfcShapeAspect::Class() { return *((IfcParse // Function implementations for IfcShapeModel -std::vector<::Ifc4x3_rc1::IfcShapeAspect> Ifc4x3_rc1::IfcShapeModel::OfShapeAspect() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[1010], 0)); } +std::vector<::Ifc4x3_rc1::IfcShapeAspect> Ifc4x3_rc1::IfcShapeModel::OfShapeAspect() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[1010], 0)); } // const IfcParse::entity& Ifc4x3_rc1::IfcShapeModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1011]); } const IfcParse::entity& Ifc4x3_rc1::IfcShapeModel::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1011]); } @@ -15985,8 +15985,8 @@ void Ifc4x3_rc1::IfcSpace::setPredefinedType(const std::optional< ::Ifc4x3_rc1:: std::optional< double > Ifc4x3_rc1::IfcSpace::ElevationWithFlooring() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcSpace::setElevationWithFlooring(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -std::vector<::Ifc4x3_rc1::IfcRelCoversSpaces> Ifc4x3_rc1::IfcSpace::HasCoverings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[939], 4)); } -std::vector<::Ifc4x3_rc1::IfcRelSpaceBoundary> Ifc4x3_rc1::IfcSpace::BoundedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[956], 4)); } +std::vector<::Ifc4x3_rc1::IfcRelCoversSpaces> Ifc4x3_rc1::IfcSpace::HasCoverings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[939], 4)); } +std::vector<::Ifc4x3_rc1::IfcRelSpaceBoundary> Ifc4x3_rc1::IfcSpace::BoundedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[956], 4)); } // const IfcParse::entity& Ifc4x3_rc1::IfcSpace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1048]); } const IfcParse::entity& Ifc4x3_rc1::IfcSpace::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1048]); } @@ -16029,9 +16029,9 @@ const IfcParse::entity& Ifc4x3_rc1::IfcSpaceType::Class() { return *((IfcParse:: 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; } void Ifc4x3_rc1::IfcSpatialElement::setLongName(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -std::vector<::Ifc4x3_rc1::IfcRelContainedInSpatialStructure> Ifc4x3_rc1::IfcSpatialElement::ContainsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[937], 5)); } -std::vector<::Ifc4x3_rc1::IfcRelServicesBuildings> Ifc4x3_rc1::IfcSpatialElement::ServicedBySystems() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[955], 5)); } -std::vector<::Ifc4x3_rc1::IfcRelReferencedInSpatialStructure> Ifc4x3_rc1::IfcSpatialElement::ReferencesElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[953], 5)); } +std::vector<::Ifc4x3_rc1::IfcRelContainedInSpatialStructure> Ifc4x3_rc1::IfcSpatialElement::ContainsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[937], 5)); } +std::vector<::Ifc4x3_rc1::IfcRelServicesBuildings> Ifc4x3_rc1::IfcSpatialElement::ServicedBySystems() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[955], 5)); } +std::vector<::Ifc4x3_rc1::IfcRelReferencedInSpatialStructure> Ifc4x3_rc1::IfcSpatialElement::ReferencesElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[953], 5)); } // const IfcParse::entity& Ifc4x3_rc1::IfcSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1055]); } const IfcParse::entity& Ifc4x3_rc1::IfcSpatialElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1055]); } @@ -16192,7 +16192,7 @@ void Ifc4x3_rc1::IfcStructuralActivity::setAppliedLoad(const ::Ifc4x3_rc1::IfcSt ::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, EnumerationReference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -std::vector<::Ifc4x3_rc1::IfcRelConnectsStructuralActivity> Ifc4x3_rc1::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[933], 5)); } +std::vector<::Ifc4x3_rc1::IfcRelConnectsStructuralActivity> Ifc4x3_rc1::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[933], 5)); } // const IfcParse::entity& Ifc4x3_rc1::IfcStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1080]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralActivity::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1080]); } @@ -16221,7 +16221,7 @@ const IfcParse::entity& Ifc4x3_rc1::IfcStructuralAnalysisModel::Class() { return ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[934], 5)); } +std::vector<::Ifc4x3_rc1::IfcRelConnectsStructuralMember> Ifc4x3_rc1::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[934], 5)); } // const IfcParse::entity& Ifc4x3_rc1::IfcStructuralConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1083]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralConnection::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1083]); } @@ -16292,7 +16292,7 @@ const IfcParse::entity& Ifc4x3_rc1::IfcStructuralCurveReaction::Class() { return // Function implementations for IfcStructuralItem -std::vector<::Ifc4x3_rc1::IfcRelConnectsStructuralActivity> Ifc4x3_rc1::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[933], 4)); } +std::vector<::Ifc4x3_rc1::IfcRelConnectsStructuralActivity> Ifc4x3_rc1::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[933], 4)); } // const IfcParse::entity& Ifc4x3_rc1::IfcStructuralItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1092]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralItem::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1092]); } @@ -16351,8 +16351,8 @@ void Ifc4x3_rc1::IfcStructuralLoadGroup::setCoefficient(const std::optional< dou std::optional< std::string > Ifc4x3_rc1::IfcStructuralLoadGroup::Purpose() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc1::IfcStructuralLoadGroup::setPurpose(const std::optional< std::string >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -std::vector<::Ifc4x3_rc1::IfcStructuralResultGroup> Ifc4x3_rc1::IfcStructuralLoadGroup::SourceOfResultGroup() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[1113], 6)); } -std::vector<::Ifc4x3_rc1::IfcStructuralAnalysisModel> Ifc4x3_rc1::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[1082], 7)); } +std::vector<::Ifc4x3_rc1::IfcStructuralResultGroup> Ifc4x3_rc1::IfcStructuralLoadGroup::SourceOfResultGroup() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[1113], 6)); } +std::vector<::Ifc4x3_rc1::IfcStructuralAnalysisModel> Ifc4x3_rc1::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[1082], 7)); } // const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1097]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadGroup::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1097]); } @@ -16485,7 +16485,7 @@ const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadTemperature::Class() { retu // Function implementations for IfcStructuralMember -std::vector<::Ifc4x3_rc1::IfcRelConnectsStructuralMember> Ifc4x3_rc1::IfcStructuralMember::ConnectedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[934], 4)); } +std::vector<::Ifc4x3_rc1::IfcRelConnectsStructuralMember> Ifc4x3_rc1::IfcStructuralMember::ConnectedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[934], 4)); } // const IfcParse::entity& Ifc4x3_rc1::IfcStructuralMember::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1107]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralMember::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1107]); } @@ -16542,7 +16542,7 @@ void Ifc4x3_rc1::IfcStructuralResultGroup::setResultForLoadGroup(const ::Ifc4x3_ 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); } -std::vector<::Ifc4x3_rc1::IfcStructuralAnalysisModel> Ifc4x3_rc1::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[1082], 8)); } +std::vector<::Ifc4x3_rc1::IfcStructuralAnalysisModel> Ifc4x3_rc1::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[1082], 8)); } // const IfcParse::entity& Ifc4x3_rc1::IfcStructuralResultGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1113]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralResultGroup::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1113]); } @@ -16833,8 +16833,8 @@ void Ifc4x3_rc1::IfcSurfaceTexture::setTextureTransform(const ::Ifc4x3_rc1::IfcC 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);} } -std::vector<::Ifc4x3_rc1::IfcTextureCoordinate> Ifc4x3_rc1::IfcSurfaceTexture::IsMappedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[1197], 0)); } -std::vector<::Ifc4x3_rc1::IfcSurfaceStyleWithTextures> Ifc4x3_rc1::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[1145], 0)); } +std::vector<::Ifc4x3_rc1::IfcTextureCoordinate> Ifc4x3_rc1::IfcSurfaceTexture::IsMappedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[1197], 0)); } +std::vector<::Ifc4x3_rc1::IfcSurfaceStyleWithTextures> Ifc4x3_rc1::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[1145], 0)); } // const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1146]); } const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceTexture::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1146]); } @@ -16915,8 +16915,8 @@ const IfcParse::entity& Ifc4x3_rc1::IfcSwitchingDeviceType::Class() { return *(( // Function implementations for IfcSystem -std::vector<::Ifc4x3_rc1::IfcRelServicesBuildings> Ifc4x3_rc1::IfcSystem::ServicesBuildings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[955], 4)); } -std::vector<::Ifc4x3_rc1::IfcRelReferencedInSpatialStructure> Ifc4x3_rc1::IfcSystem::ServicesFacilities() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[953], 4)); } +std::vector<::Ifc4x3_rc1::IfcRelServicesBuildings> Ifc4x3_rc1::IfcSystem::ServicesBuildings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[955], 4)); } +std::vector<::Ifc4x3_rc1::IfcRelReferencedInSpatialStructure> Ifc4x3_rc1::IfcSystem::ServicesFacilities() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[953], 4)); } // const IfcParse::entity& Ifc4x3_rc1::IfcSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1154]); } const IfcParse::entity& Ifc4x3_rc1::IfcSystem::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1154]); } @@ -17221,8 +17221,8 @@ const IfcParse::entity& Ifc4x3_rc1::IfcTendonType::Class() { return *((IfcParse: ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[550], 0)); } -std::vector<::Ifc4x3_rc1::IfcIndexedTextureMap> Ifc4x3_rc1::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[554], 1)); } +std::vector<::Ifc4x3_rc1::IfcIndexedColourMap> Ifc4x3_rc1::IfcTessellatedFaceSet::HasColours() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[550], 0)); } +std::vector<::Ifc4x3_rc1::IfcIndexedTextureMap> Ifc4x3_rc1::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[554], 1)); } // const IfcParse::entity& Ifc4x3_rc1::IfcTessellatedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1182]); } const IfcParse::entity& Ifc4x3_rc1::IfcTessellatedFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1182]); } @@ -17415,7 +17415,7 @@ void Ifc4x3_rc1::IfcTimeSeries::setUserDefinedDataOrigin(const std::optional< st ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[436], 3)); } +std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcTimeSeries::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[436], 3)); } // const IfcParse::entity& Ifc4x3_rc1::IfcTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1212]); } const IfcParse::entity& Ifc4x3_rc1::IfcTimeSeries::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1212]); } @@ -17624,7 +17624,7 @@ void Ifc4x3_rc1::IfcTypeObject::setApplicableOccurrence(const std::optional< std 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(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[946], 5)); } +std::vector<::Ifc4x3_rc1::IfcRelDefinesByType> Ifc4x3_rc1::IfcTypeObject::Types() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[946], 5)); } // const IfcParse::entity& Ifc4x3_rc1::IfcTypeObject::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1245]); } const IfcParse::entity& Ifc4x3_rc1::IfcTypeObject::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1245]); } @@ -17639,7 +17639,7 @@ void Ifc4x3_rc1::IfcTypeProcess::setLongDescription(const std::optional< std::st std::optional< std::string > Ifc4x3_rc1::IfcTypeProcess::ProcessType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcTypeProcess::setProcessType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_rc1::IfcRelAssignsToProcess> Ifc4x3_rc1::IfcTypeProcess::OperatesOn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[916], 6)); } +std::vector<::Ifc4x3_rc1::IfcRelAssignsToProcess> Ifc4x3_rc1::IfcTypeProcess::OperatesOn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[916], 6)); } // const IfcParse::entity& Ifc4x3_rc1::IfcTypeProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1246]); } const IfcParse::entity& Ifc4x3_rc1::IfcTypeProcess::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1246]); } @@ -17652,7 +17652,7 @@ void Ifc4x3_rc1::IfcTypeProduct::setRepresentationMaps(const std::optional< std: 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(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[917], 6)); } +std::vector<::Ifc4x3_rc1::IfcRelAssignsToProduct> Ifc4x3_rc1::IfcTypeProduct::ReferencedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[917], 6)); } // const IfcParse::entity& Ifc4x3_rc1::IfcTypeProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1247]); } const IfcParse::entity& Ifc4x3_rc1::IfcTypeProduct::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1247]); } @@ -17667,7 +17667,7 @@ void Ifc4x3_rc1::IfcTypeResource::setLongDescription(const std::optional< std::s std::optional< std::string > Ifc4x3_rc1::IfcTypeResource::ResourceType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcTypeResource::setResourceType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_rc1::IfcRelAssignsToResource> Ifc4x3_rc1::IfcTypeResource::ResourceOf() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC1_types[918], 6)); } +std::vector<::Ifc4x3_rc1::IfcRelAssignsToResource> Ifc4x3_rc1::IfcTypeResource::ResourceOf() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC1_types[918], 6)); } // const IfcParse::entity& Ifc4x3_rc1::IfcTypeResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1248]); } const IfcParse::entity& Ifc4x3_rc1::IfcTypeResource::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1248]); } diff --git a/src/ifcparse/Ifc4x3_rc2.cpp b/src/ifcparse/Ifc4x3_rc2.cpp index 642a750942..9ea33c2f0a 100644 --- a/src/ifcparse/Ifc4x3_rc2.cpp +++ b/src/ifcparse/Ifc4x3_rc2.cpp @@ -7818,7 +7818,7 @@ const IfcParse::entity& Ifc4x3_rc2::IfcActionRequest::Class() { return *((IfcPar ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[919], 6)); } +std::vector<::Ifc4x3_rc2::IfcRelAssignsToActor> Ifc4x3_rc2::IfcActor::IsActingUpon() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[919], 6)); } // const IfcParse::entity& Ifc4x3_rc2::IfcActor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[6]); } const IfcParse::entity& Ifc4x3_rc2::IfcActor::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[6]); } @@ -7833,7 +7833,7 @@ void Ifc4x3_rc2::IfcActorRole::setUserDefinedRole(const std::optional< std::stri std::optional< std::string > Ifc4x3_rc2::IfcActorRole::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcActorRole::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcActorRole::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[441], 3)); } +std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcActorRole::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[441], 3)); } // const IfcParse::entity& Ifc4x3_rc2::IfcActorRole::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[7]); } const IfcParse::entity& Ifc4x3_rc2::IfcActorRole::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[7]); } @@ -7868,8 +7868,8 @@ void Ifc4x3_rc2::IfcAddress::setDescription(const std::optional< std::string >& std::optional< std::string > Ifc4x3_rc2::IfcAddress::UserDefinedPurpose() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcAddress::setUserDefinedPurpose(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x3_rc2::IfcPerson> Ifc4x3_rc2::IfcAddress::OfPerson() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[755], 7)); } -std::vector<::Ifc4x3_rc2::IfcOrganization> Ifc4x3_rc2::IfcAddress::OfOrganization() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[735], 4)); } +std::vector<::Ifc4x3_rc2::IfcPerson> Ifc4x3_rc2::IfcAddress::OfPerson() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[755], 7)); } +std::vector<::Ifc4x3_rc2::IfcOrganization> Ifc4x3_rc2::IfcAddress::OfOrganization() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[735], 4)); } // const IfcParse::entity& Ifc4x3_rc2::IfcAddress::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[12]); } const IfcParse::entity& Ifc4x3_rc2::IfcAddress::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[12]); } @@ -8166,7 +8166,7 @@ const IfcParse::entity& Ifc4x3_rc2::IfcAlignmentVerticalSegment::Class() { retur std::optional< ::Ifc4x3_rc2::IfcAnnotationTypeEnum::Value > Ifc4x3_rc2::IfcAnnotation::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcAnnotationTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc2::IfcAnnotation::setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcAnnotationTypeEnum::Value >& v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc2::IfcAnnotationTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -std::vector<::Ifc4x3_rc2::IfcRelContainedInSpatialStructure> Ifc4x3_rc2::IfcAnnotation::ContainedInStructure() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[944], 4)); } +std::vector<::Ifc4x3_rc2::IfcRelContainedInSpatialStructure> Ifc4x3_rc2::IfcAnnotation::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[944], 4)); } // const IfcParse::entity& Ifc4x3_rc2::IfcAnnotation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[50]); } const IfcParse::entity& Ifc4x3_rc2::IfcAnnotation::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[50]); } @@ -8223,7 +8223,7 @@ void Ifc4x3_rc2::IfcAppliedValue::setArithmeticOperator(const std::optional< ::I 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(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[441], 3)); } +std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcAppliedValue::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[441], 3)); } // const IfcParse::entity& Ifc4x3_rc2::IfcAppliedValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[54]); } const IfcParse::entity& Ifc4x3_rc2::IfcAppliedValue::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[54]); } @@ -8250,11 +8250,11 @@ void Ifc4x3_rc2::IfcApproval::setRequestingApproval(const ::Ifc4x3_rc2::IfcActor ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[441], 3)); } -std::vector<::Ifc4x3_rc2::IfcRelAssociatesApproval> Ifc4x3_rc2::IfcApproval::ApprovedObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[927], 5)); } -std::vector<::Ifc4x3_rc2::IfcResourceApprovalRelationship> Ifc4x3_rc2::IfcApproval::ApprovedResources() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[973], 3)); } -std::vector<::Ifc4x3_rc2::IfcApprovalRelationship> Ifc4x3_rc2::IfcApproval::IsRelatedWith() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[57], 3)); } -std::vector<::Ifc4x3_rc2::IfcApprovalRelationship> Ifc4x3_rc2::IfcApproval::Relates() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[57], 2)); } +std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcApproval::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[441], 3)); } +std::vector<::Ifc4x3_rc2::IfcRelAssociatesApproval> Ifc4x3_rc2::IfcApproval::ApprovedObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[927], 5)); } +std::vector<::Ifc4x3_rc2::IfcResourceApprovalRelationship> Ifc4x3_rc2::IfcApproval::ApprovedResources() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[973], 3)); } +std::vector<::Ifc4x3_rc2::IfcApprovalRelationship> Ifc4x3_rc2::IfcApproval::IsRelatedWith() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[57], 3)); } +std::vector<::Ifc4x3_rc2::IfcApprovalRelationship> Ifc4x3_rc2::IfcApproval::Relates() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[57], 2)); } // const IfcParse::entity& Ifc4x3_rc2::IfcApproval::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[56]); } const IfcParse::entity& Ifc4x3_rc2::IfcApproval::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[56]); } @@ -8427,7 +8427,7 @@ const IfcParse::entity& Ifc4x3_rc2::IfcAxis2PlacementLinear::Class() { return *( // Function implementations for IfcAxisLateralInclination -std::vector<::Ifc4x3_rc2::IfcLinearAxisWithInclination> Ifc4x3_rc2::IfcAxisLateralInclination::ToLinearAxis() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[616], 1)); } +std::vector<::Ifc4x3_rc2::IfcLinearAxisWithInclination> Ifc4x3_rc2::IfcAxisLateralInclination::ToLinearAxis() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[616], 1)); } // const IfcParse::entity& Ifc4x3_rc2::IfcAxisLateralInclination::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[76]); } const IfcParse::entity& Ifc4x3_rc2::IfcAxisLateralInclination::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[76]); } @@ -8728,7 +8728,7 @@ const IfcParse::entity& Ifc4x3_rc2::IfcBoundaryNodeConditionWarping::Class() { r // Function implementations for IfcBoundedCurve -std::vector<::Ifc4x3_rc2::IfcLinearPositioningElement> Ifc4x3_rc2::IfcBoundedCurve::PositioningElement() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[622], 7)); } +std::vector<::Ifc4x3_rc2::IfcLinearPositioningElement> Ifc4x3_rc2::IfcBoundedCurve::PositioningElement() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[622], 7)); } // const IfcParse::entity& Ifc4x3_rc2::IfcBoundedCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[106]); } const IfcParse::entity& Ifc4x3_rc2::IfcBoundedCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[106]); } @@ -9251,8 +9251,8 @@ void Ifc4x3_rc2::IfcClassification::setLocation(const std::optional< std::string std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::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_rc2::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_rc2::IfcRelAssociatesClassification> Ifc4x3_rc2::IfcClassification::ClassificationForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[928], 5)); } -std::vector<::Ifc4x3_rc2::IfcClassificationReference> Ifc4x3_rc2::IfcClassification::HasReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[178], 3)); } +std::vector<::Ifc4x3_rc2::IfcRelAssociatesClassification> Ifc4x3_rc2::IfcClassification::ClassificationForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[928], 5)); } +std::vector<::Ifc4x3_rc2::IfcClassificationReference> Ifc4x3_rc2::IfcClassification::HasReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[178], 3)); } // const IfcParse::entity& Ifc4x3_rc2::IfcClassification::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[177]); } const IfcParse::entity& Ifc4x3_rc2::IfcClassification::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[177]); } @@ -9267,8 +9267,8 @@ void Ifc4x3_rc2::IfcClassificationReference::setDescription(const std::optional< std::optional< std::string > Ifc4x3_rc2::IfcClassificationReference::Sort() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcClassificationReference::setSort(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3_rc2::IfcRelAssociatesClassification> Ifc4x3_rc2::IfcClassificationReference::ClassificationRefForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[928], 5)); } -std::vector<::Ifc4x3_rc2::IfcClassificationReference> Ifc4x3_rc2::IfcClassificationReference::HasReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[178], 3)); } +std::vector<::Ifc4x3_rc2::IfcRelAssociatesClassification> Ifc4x3_rc2::IfcClassificationReference::ClassificationRefForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[928], 5)); } +std::vector<::Ifc4x3_rc2::IfcClassificationReference> Ifc4x3_rc2::IfcClassificationReference::HasReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[178], 3)); } // const IfcParse::entity& Ifc4x3_rc2::IfcClassificationReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[178]); } const IfcParse::entity& Ifc4x3_rc2::IfcClassificationReference::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[178]); } @@ -9449,7 +9449,7 @@ void Ifc4x3_rc2::IfcCompositeCurveSegment::setSameSense(const bool& v) { set_att ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[202], 0)); } +std::vector<::Ifc4x3_rc2::IfcCompositeCurve> Ifc4x3_rc2::IfcCompositeCurveSegment::UsingCurves() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[202], 0)); } // const IfcParse::entity& Ifc4x3_rc2::IfcCompositeCurveSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[204]); } const IfcParse::entity& Ifc4x3_rc2::IfcCompositeCurveSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[204]); } @@ -9614,8 +9614,8 @@ void Ifc4x3_rc2::IfcConstraint::setCreationTime(const std::optional< std::string std::optional< std::string > Ifc4x3_rc2::IfcConstraint::UserDefinedGrade() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcConstraint::setUserDefinedGrade(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcConstraint::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[441], 3)); } -std::vector<::Ifc4x3_rc2::IfcResourceConstraintRelationship> Ifc4x3_rc2::IfcConstraint::PropertiesForConstraint() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[974], 2)); } +std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcConstraint::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[441], 3)); } +std::vector<::Ifc4x3_rc2::IfcResourceConstraintRelationship> Ifc4x3_rc2::IfcConstraint::PropertiesForConstraint() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[974], 2)); } // const IfcParse::entity& Ifc4x3_rc2::IfcConstraint::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[222]); } const IfcParse::entity& Ifc4x3_rc2::IfcConstraint::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[222]); } @@ -9720,8 +9720,8 @@ void Ifc4x3_rc2::IfcContext::setRepresentationContexts(const std::optional< std: ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[951], 4)); } -std::vector<::Ifc4x3_rc2::IfcRelDeclares> Ifc4x3_rc2::IfcContext::Declares() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[947], 4)); } +std::vector<::Ifc4x3_rc2::IfcRelDefinesByProperties> Ifc4x3_rc2::IfcContext::IsDefinedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[951], 4)); } +std::vector<::Ifc4x3_rc2::IfcRelDeclares> Ifc4x3_rc2::IfcContext::Declares() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[947], 4)); } // const IfcParse::entity& Ifc4x3_rc2::IfcContext::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[235]); } const IfcParse::entity& Ifc4x3_rc2::IfcContext::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[235]); } @@ -9732,7 +9732,7 @@ const IfcParse::entity& Ifc4x3_rc2::IfcContext::Class() { return *((IfcParse::en std::string Ifc4x3_rc2::IfcContextDependentUnit::Name() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcContextDependentUnit::setName(const std::string& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcContextDependentUnit::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[441], 3)); } +std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcContextDependentUnit::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[441], 3)); } // const IfcParse::entity& Ifc4x3_rc2::IfcContextDependentUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[237]); } const IfcParse::entity& Ifc4x3_rc2::IfcContextDependentUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[237]); } @@ -9743,7 +9743,7 @@ const IfcParse::entity& Ifc4x3_rc2::IfcContextDependentUnit::Class() { return *( std::optional< std::string > Ifc4x3_rc2::IfcControl::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcControl::setIdentification(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3_rc2::IfcRelAssignsToControl> Ifc4x3_rc2::IfcControl::Controls() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[920], 6)); } +std::vector<::Ifc4x3_rc2::IfcRelAssignsToControl> Ifc4x3_rc2::IfcControl::Controls() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[920], 6)); } // const IfcParse::entity& Ifc4x3_rc2::IfcControl::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[238]); } const IfcParse::entity& Ifc4x3_rc2::IfcControl::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[238]); } @@ -9776,7 +9776,7 @@ void Ifc4x3_rc2::IfcConversionBasedUnit::setName(const std::string& v) { set_att ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[441], 3)); } +std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[441], 3)); } // const IfcParse::entity& Ifc4x3_rc2::IfcConversionBasedUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[242]); } const IfcParse::entity& Ifc4x3_rc2::IfcConversionBasedUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[242]); } @@ -9875,7 +9875,7 @@ void Ifc4x3_rc2::IfcCoordinateReferenceSystem::setGeodeticDatum(const std::optio std::optional< std::string > Ifc4x3_rc2::IfcCoordinateReferenceSystem::VerticalDatum() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcCoordinateReferenceSystem::setVerticalDatum(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -std::vector<::Ifc4x3_rc2::IfcCoordinateOperation> Ifc4x3_rc2::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[253], 0)); } +std::vector<::Ifc4x3_rc2::IfcCoordinateOperation> Ifc4x3_rc2::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[253], 0)); } // const IfcParse::entity& Ifc4x3_rc2::IfcCoordinateReferenceSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[254]); } const IfcParse::entity& Ifc4x3_rc2::IfcCoordinateReferenceSystem::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[254]); } @@ -9944,8 +9944,8 @@ const IfcParse::entity& Ifc4x3_rc2::IfcCourseType::Class() { return *((IfcParse: 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)); } void Ifc4x3_rc2::IfcCovering::setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcCoveringTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcCoveringTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_rc2::IfcRelCoversSpaces> Ifc4x3_rc2::IfcCovering::CoversSpaces() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[946], 5)); } -std::vector<::Ifc4x3_rc2::IfcRelCoversBldgElements> Ifc4x3_rc2::IfcCovering::CoversElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[945], 5)); } +std::vector<::Ifc4x3_rc2::IfcRelCoversSpaces> Ifc4x3_rc2::IfcCovering::CoversSpaces() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[946], 5)); } +std::vector<::Ifc4x3_rc2::IfcRelCoversBldgElements> Ifc4x3_rc2::IfcCovering::CoversElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[945], 5)); } // const IfcParse::entity& Ifc4x3_rc2::IfcCovering::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[265]); } const IfcParse::entity& Ifc4x3_rc2::IfcCovering::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[265]); } @@ -10374,7 +10374,7 @@ const IfcParse::entity& Ifc4x3_rc2::IfcDistributionCircuit::Class() { return *(( // Function implementations for IfcDistributionControlElement -std::vector<::Ifc4x3_rc2::IfcRelFlowControlElements> Ifc4x3_rc2::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[955], 4)); } +std::vector<::Ifc4x3_rc2::IfcRelFlowControlElements> Ifc4x3_rc2::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[955], 4)); } // const IfcParse::entity& Ifc4x3_rc2::IfcDistributionControlElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[329]); } const IfcParse::entity& Ifc4x3_rc2::IfcDistributionControlElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[329]); } @@ -10391,7 +10391,7 @@ const IfcParse::entity& Ifc4x3_rc2::IfcDistributionControlElementType::Class() { // Function implementations for IfcDistributionElement -std::vector<::Ifc4x3_rc2::IfcRelConnectsPortToElement> Ifc4x3_rc2::IfcDistributionElement::HasPorts() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[939], 5)); } +std::vector<::Ifc4x3_rc2::IfcRelConnectsPortToElement> Ifc4x3_rc2::IfcDistributionElement::HasPorts() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[939], 5)); } // const IfcParse::entity& Ifc4x3_rc2::IfcDistributionElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[331]); } const IfcParse::entity& Ifc4x3_rc2::IfcDistributionElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[331]); } @@ -10408,7 +10408,7 @@ const IfcParse::entity& Ifc4x3_rc2::IfcDistributionElementType::Class() { return // Function implementations for IfcDistributionFlowElement -std::vector<::Ifc4x3_rc2::IfcRelFlowControlElements> Ifc4x3_rc2::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[955], 5)); } +std::vector<::Ifc4x3_rc2::IfcRelFlowControlElements> Ifc4x3_rc2::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[955], 5)); } // const IfcParse::entity& Ifc4x3_rc2::IfcDistributionFlowElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[333]); } const IfcParse::entity& Ifc4x3_rc2::IfcDistributionFlowElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[333]); } @@ -10485,10 +10485,10 @@ void Ifc4x3_rc2::IfcDocumentInformation::setConfidentiality(const std::optional< std::optional< ::Ifc4x3_rc2::IfcDocumentStatusEnum::Value > Ifc4x3_rc2::IfcDocumentInformation::Status() const { if(get_attribute_value(16).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcDocumentStatusEnum::FromString(get_attribute_value(16)); } void Ifc4x3_rc2::IfcDocumentInformation::setStatus(const std::optional< ::Ifc4x3_rc2::IfcDocumentStatusEnum::Value >& v) { if (v) {set_attribute_value(16, EnumerationReference(&::Ifc4x3_rc2::IfcDocumentStatusEnum::Class(), (size_t) *v));} else {unset_attribute_value(16);} } -std::vector<::Ifc4x3_rc2::IfcRelAssociatesDocument> Ifc4x3_rc2::IfcDocumentInformation::DocumentInfoForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[930], 5)); } -std::vector<::Ifc4x3_rc2::IfcDocumentReference> Ifc4x3_rc2::IfcDocumentInformation::HasDocumentReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[342], 4)); } -std::vector<::Ifc4x3_rc2::IfcDocumentInformationRelationship> Ifc4x3_rc2::IfcDocumentInformation::IsPointedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[341], 3)); } -std::vector<::Ifc4x3_rc2::IfcDocumentInformationRelationship> Ifc4x3_rc2::IfcDocumentInformation::IsPointer() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[341], 2)); } +std::vector<::Ifc4x3_rc2::IfcRelAssociatesDocument> Ifc4x3_rc2::IfcDocumentInformation::DocumentInfoForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[930], 5)); } +std::vector<::Ifc4x3_rc2::IfcDocumentReference> Ifc4x3_rc2::IfcDocumentInformation::HasDocumentReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[342], 4)); } +std::vector<::Ifc4x3_rc2::IfcDocumentInformationRelationship> Ifc4x3_rc2::IfcDocumentInformation::IsPointedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[341], 3)); } +std::vector<::Ifc4x3_rc2::IfcDocumentInformationRelationship> Ifc4x3_rc2::IfcDocumentInformation::IsPointer() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[341], 2)); } // const IfcParse::entity& Ifc4x3_rc2::IfcDocumentInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[340]); } const IfcParse::entity& Ifc4x3_rc2::IfcDocumentInformation::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[340]); } @@ -10515,7 +10515,7 @@ void Ifc4x3_rc2::IfcDocumentReference::setDescription(const std::optional< std:: ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[930], 5)); } +std::vector<::Ifc4x3_rc2::IfcRelAssociatesDocument> Ifc4x3_rc2::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[930], 5)); } // const IfcParse::entity& Ifc4x3_rc2::IfcDocumentReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[342]); } const IfcParse::entity& Ifc4x3_rc2::IfcDocumentReference::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[342]); } @@ -10914,17 +10914,17 @@ const IfcParse::entity& Ifc4x3_rc2::IfcElectricTimeControlType::Class() { return 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; } void Ifc4x3_rc2::IfcElement::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -std::vector<::Ifc4x3_rc2::IfcRelFillsElement> Ifc4x3_rc2::IfcElement::FillsVoids() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[954], 5)); } -std::vector<::Ifc4x3_rc2::IfcRelConnectsElements> Ifc4x3_rc2::IfcElement::ConnectedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[936], 5)); } -std::vector<::Ifc4x3_rc2::IfcRelInterferesElements> Ifc4x3_rc2::IfcElement::IsInterferedByElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[956], 5)); } -std::vector<::Ifc4x3_rc2::IfcRelInterferesElements> Ifc4x3_rc2::IfcElement::InterferesElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[956], 4)); } -std::vector<::Ifc4x3_rc2::IfcRelProjectsElement> Ifc4x3_rc2::IfcElement::HasProjections() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[959], 4)); } -std::vector<::Ifc4x3_rc2::IfcRelVoidsElement> Ifc4x3_rc2::IfcElement::HasOpenings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[966], 4)); } -std::vector<::Ifc4x3_rc2::IfcRelConnectsWithRealizingElements> Ifc4x3_rc2::IfcElement::IsConnectionRealization() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[943], 7)); } -std::vector<::Ifc4x3_rc2::IfcRelSpaceBoundary> Ifc4x3_rc2::IfcElement::ProvidesBoundaries() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[963], 5)); } -std::vector<::Ifc4x3_rc2::IfcRelConnectsElements> Ifc4x3_rc2::IfcElement::ConnectedFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[936], 6)); } -std::vector<::Ifc4x3_rc2::IfcRelContainedInSpatialStructure> Ifc4x3_rc2::IfcElement::ContainedInStructure() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[944], 4)); } -std::vector<::Ifc4x3_rc2::IfcRelCoversBldgElements> Ifc4x3_rc2::IfcElement::HasCoverings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[945], 4)); } +std::vector<::Ifc4x3_rc2::IfcRelFillsElement> Ifc4x3_rc2::IfcElement::FillsVoids() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[954], 5)); } +std::vector<::Ifc4x3_rc2::IfcRelConnectsElements> Ifc4x3_rc2::IfcElement::ConnectedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[936], 5)); } +std::vector<::Ifc4x3_rc2::IfcRelInterferesElements> Ifc4x3_rc2::IfcElement::IsInterferedByElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[956], 5)); } +std::vector<::Ifc4x3_rc2::IfcRelInterferesElements> Ifc4x3_rc2::IfcElement::InterferesElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[956], 4)); } +std::vector<::Ifc4x3_rc2::IfcRelProjectsElement> Ifc4x3_rc2::IfcElement::HasProjections() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[959], 4)); } +std::vector<::Ifc4x3_rc2::IfcRelVoidsElement> Ifc4x3_rc2::IfcElement::HasOpenings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[966], 4)); } +std::vector<::Ifc4x3_rc2::IfcRelConnectsWithRealizingElements> Ifc4x3_rc2::IfcElement::IsConnectionRealization() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[943], 7)); } +std::vector<::Ifc4x3_rc2::IfcRelSpaceBoundary> Ifc4x3_rc2::IfcElement::ProvidesBoundaries() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[963], 5)); } +std::vector<::Ifc4x3_rc2::IfcRelConnectsElements> Ifc4x3_rc2::IfcElement::ConnectedFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[936], 6)); } +std::vector<::Ifc4x3_rc2::IfcRelContainedInSpatialStructure> Ifc4x3_rc2::IfcElement::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[944], 4)); } +std::vector<::Ifc4x3_rc2::IfcRelCoversBldgElements> Ifc4x3_rc2::IfcElement::HasCoverings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[945], 4)); } // const IfcParse::entity& Ifc4x3_rc2::IfcElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[406]); } const IfcParse::entity& Ifc4x3_rc2::IfcElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[406]); } @@ -11177,7 +11177,7 @@ void Ifc4x3_rc2::IfcExternalReference::setIdentification(const std::optional< st std::optional< std::string > Ifc4x3_rc2::IfcExternalReference::Name() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcExternalReference::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[441], 2)); } +std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[441], 2)); } // const IfcParse::entity& Ifc4x3_rc2::IfcExternalReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[440]); } const IfcParse::entity& Ifc4x3_rc2::IfcExternalReference::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[440]); } @@ -11200,7 +11200,7 @@ const IfcParse::entity& Ifc4x3_rc2::IfcExternalReferenceRelationship::Class() { 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)); } void Ifc4x3_rc2::IfcExternalSpatialElement::setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_rc2::IfcRelSpaceBoundary> Ifc4x3_rc2::IfcExternalSpatialElement::BoundedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[963], 4)); } +std::vector<::Ifc4x3_rc2::IfcRelSpaceBoundary> Ifc4x3_rc2::IfcExternalSpatialElement::BoundedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[963], 4)); } // const IfcParse::entity& Ifc4x3_rc2::IfcExternalSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[442]); } const IfcParse::entity& Ifc4x3_rc2::IfcExternalSpatialElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[442]); } @@ -11265,7 +11265,7 @@ const IfcParse::entity& Ifc4x3_rc2::IfcExtrudedAreaSolidTapered::Class() { retur 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(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[1209], 2)); } +std::vector<::Ifc4x3_rc2::IfcTextureMap> Ifc4x3_rc2::IfcFace::HasTextureMaps() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[1209], 2)); } // const IfcParse::entity& Ifc4x3_rc2::IfcFace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[447]); } const IfcParse::entity& Ifc4x3_rc2::IfcFace::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[447]); } @@ -11422,7 +11422,7 @@ const IfcParse::entity& Ifc4x3_rc2::IfcFeatureElement::Class() { return *((IfcPa // Function implementations for IfcFeatureElementAddition -std::vector<::Ifc4x3_rc2::IfcRelProjectsElement> Ifc4x3_rc2::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[959], 5)); } +std::vector<::Ifc4x3_rc2::IfcRelProjectsElement> Ifc4x3_rc2::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[959], 5)); } // const IfcParse::entity& Ifc4x3_rc2::IfcFeatureElementAddition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[467]); } const IfcParse::entity& Ifc4x3_rc2::IfcFeatureElementAddition::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[467]); } @@ -11431,7 +11431,7 @@ const IfcParse::entity& Ifc4x3_rc2::IfcFeatureElementAddition::Class() { return // Function implementations for IfcFeatureElementSubtraction -std::vector<::Ifc4x3_rc2::IfcRelVoidsElement> Ifc4x3_rc2::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[966], 5)); } +std::vector<::Ifc4x3_rc2::IfcRelVoidsElement> Ifc4x3_rc2::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[966], 5)); } // const IfcParse::entity& Ifc4x3_rc2::IfcFeatureElementSubtraction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[468]); } const IfcParse::entity& Ifc4x3_rc2::IfcFeatureElementSubtraction::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[468]); } @@ -11780,8 +11780,8 @@ void Ifc4x3_rc2::IfcGeometricRepresentationContext::setWorldCoordinateSystem(con ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[521], 6)); } -std::vector<::Ifc4x3_rc2::IfcCoordinateOperation> Ifc4x3_rc2::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[253], 0)); } +std::vector<::Ifc4x3_rc2::IfcGeometricRepresentationSubContext> Ifc4x3_rc2::IfcGeometricRepresentationContext::HasSubContexts() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[521], 6)); } +std::vector<::Ifc4x3_rc2::IfcCoordinateOperation> Ifc4x3_rc2::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[253], 0)); } // const IfcParse::entity& Ifc4x3_rc2::IfcGeometricRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[519]); } const IfcParse::entity& Ifc4x3_rc2::IfcGeometricRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[519]); } @@ -11900,10 +11900,10 @@ void Ifc4x3_rc2::IfcGridAxis::setAxisCurve(const ::Ifc4x3_rc2::IfcCurve& v) { se 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); } -std::vector<::Ifc4x3_rc2::IfcGrid> Ifc4x3_rc2::IfcGridAxis::PartOfW() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[532], 9)); } -std::vector<::Ifc4x3_rc2::IfcGrid> Ifc4x3_rc2::IfcGridAxis::PartOfV() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[532], 8)); } -std::vector<::Ifc4x3_rc2::IfcGrid> Ifc4x3_rc2::IfcGridAxis::PartOfU() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[532], 7)); } -std::vector<::Ifc4x3_rc2::IfcVirtualGridIntersection> Ifc4x3_rc2::IfcGridAxis::HasIntersections() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[1287], 0)); } +std::vector<::Ifc4x3_rc2::IfcGrid> Ifc4x3_rc2::IfcGridAxis::PartOfW() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[532], 9)); } +std::vector<::Ifc4x3_rc2::IfcGrid> Ifc4x3_rc2::IfcGridAxis::PartOfV() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[532], 8)); } +std::vector<::Ifc4x3_rc2::IfcGrid> Ifc4x3_rc2::IfcGridAxis::PartOfU() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[532], 7)); } +std::vector<::Ifc4x3_rc2::IfcVirtualGridIntersection> Ifc4x3_rc2::IfcGridAxis::HasIntersections() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[1287], 0)); } // const IfcParse::entity& Ifc4x3_rc2::IfcGridAxis::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[533]); } const IfcParse::entity& Ifc4x3_rc2::IfcGridAxis::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[533]); } @@ -11924,7 +11924,7 @@ const IfcParse::entity& Ifc4x3_rc2::IfcGridPlacement::Class() { return *((IfcPar // Function implementations for IfcGroup -std::vector<::Ifc4x3_rc2::IfcRelAssignsToGroup> Ifc4x3_rc2::IfcGroup::IsGroupedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[921], 6)); } +std::vector<::Ifc4x3_rc2::IfcRelAssignsToGroup> Ifc4x3_rc2::IfcGroup::IsGroupedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[921], 6)); } // const IfcParse::entity& Ifc4x3_rc2::IfcGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[537]); } const IfcParse::entity& Ifc4x3_rc2::IfcGroup::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[537]); } @@ -12081,7 +12081,7 @@ const IfcParse::entity& Ifc4x3_rc2::IfcIndexedPolyCurve::Class() { return *((Ifc std::vector< int > /*[3:?]*/ Ifc4x3_rc2::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcIndexedPolygonalFace::setCoordIndex(const std::vector< int > /*[3:?]*/& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector<::Ifc4x3_rc2::IfcPolygonalFaceSet> Ifc4x3_rc2::IfcIndexedPolygonalFace::ToFaceSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[790], 2)); } +std::vector<::Ifc4x3_rc2::IfcPolygonalFaceSet> Ifc4x3_rc2::IfcIndexedPolygonalFace::ToFaceSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[790], 2)); } // const IfcParse::entity& Ifc4x3_rc2::IfcIndexedPolygonalFace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[558]); } const IfcParse::entity& Ifc4x3_rc2::IfcIndexedPolygonalFace::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[558]); } @@ -12316,8 +12316,8 @@ void Ifc4x3_rc2::IfcLibraryInformation::setLocation(const std::optional< std::st std::optional< std::string > Ifc4x3_rc2::IfcLibraryInformation::Description() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcLibraryInformation::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3_rc2::IfcRelAssociatesLibrary> Ifc4x3_rc2::IfcLibraryInformation::LibraryInfoForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[931], 5)); } -std::vector<::Ifc4x3_rc2::IfcLibraryReference> Ifc4x3_rc2::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[598], 5)); } +std::vector<::Ifc4x3_rc2::IfcRelAssociatesLibrary> Ifc4x3_rc2::IfcLibraryInformation::LibraryInfoForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[931], 5)); } +std::vector<::Ifc4x3_rc2::IfcLibraryReference> Ifc4x3_rc2::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[598], 5)); } // const IfcParse::entity& Ifc4x3_rc2::IfcLibraryInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[597]); } const IfcParse::entity& Ifc4x3_rc2::IfcLibraryInformation::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[597]); } @@ -12332,7 +12332,7 @@ void Ifc4x3_rc2::IfcLibraryReference::setLanguage(const std::optional< std::stri ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[931], 5)); } +std::vector<::Ifc4x3_rc2::IfcRelAssociatesLibrary> Ifc4x3_rc2::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[931], 5)); } // const IfcParse::entity& Ifc4x3_rc2::IfcLibraryReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[598]); } const IfcParse::entity& Ifc4x3_rc2::IfcLibraryReference::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[598]); } @@ -12657,9 +12657,9 @@ void Ifc4x3_rc2::IfcMaterial::setDescription(const std::optional< std::string >& std::optional< std::string > Ifc4x3_rc2::IfcMaterial::Category() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcMaterial::setCategory(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x3_rc2::IfcMaterialDefinitionRepresentation> Ifc4x3_rc2::IfcMaterial::HasRepresentation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[657], 3)); } -std::vector<::Ifc4x3_rc2::IfcMaterialRelationship> Ifc4x3_rc2::IfcMaterial::IsRelatedWith() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[669], 3)); } -std::vector<::Ifc4x3_rc2::IfcMaterialRelationship> Ifc4x3_rc2::IfcMaterial::RelatesTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[669], 2)); } +std::vector<::Ifc4x3_rc2::IfcMaterialDefinitionRepresentation> Ifc4x3_rc2::IfcMaterial::HasRepresentation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[657], 3)); } +std::vector<::Ifc4x3_rc2::IfcMaterialRelationship> Ifc4x3_rc2::IfcMaterial::IsRelatedWith() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[669], 3)); } +std::vector<::Ifc4x3_rc2::IfcMaterialRelationship> Ifc4x3_rc2::IfcMaterial::RelatesTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[669], 2)); } // const IfcParse::entity& Ifc4x3_rc2::IfcMaterial::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[652]); } const IfcParse::entity& Ifc4x3_rc2::IfcMaterial::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[652]); } @@ -12690,7 +12690,7 @@ void Ifc4x3_rc2::IfcMaterialConstituent::setFraction(const std::optional< double std::optional< std::string > Ifc4x3_rc2::IfcMaterialConstituent::Category() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcMaterialConstituent::setCategory(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector<::Ifc4x3_rc2::IfcMaterialConstituentSet> Ifc4x3_rc2::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[655], 2)); } +std::vector<::Ifc4x3_rc2::IfcMaterialConstituentSet> Ifc4x3_rc2::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[655], 2)); } // const IfcParse::entity& Ifc4x3_rc2::IfcMaterialConstituent::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[654]); } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialConstituent::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[654]); } @@ -12713,9 +12713,9 @@ const IfcParse::entity& Ifc4x3_rc2::IfcMaterialConstituentSet::Class() { return // Function implementations for IfcMaterialDefinition -std::vector<::Ifc4x3_rc2::IfcRelAssociatesMaterial> Ifc4x3_rc2::IfcMaterialDefinition::AssociatedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[932], 5)); } -std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcMaterialDefinition::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[441], 3)); } -std::vector<::Ifc4x3_rc2::IfcMaterialProperties> Ifc4x3_rc2::IfcMaterialDefinition::HasProperties() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[668], 3)); } +std::vector<::Ifc4x3_rc2::IfcRelAssociatesMaterial> Ifc4x3_rc2::IfcMaterialDefinition::AssociatedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[932], 5)); } +std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcMaterialDefinition::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[441], 3)); } +std::vector<::Ifc4x3_rc2::IfcMaterialProperties> Ifc4x3_rc2::IfcMaterialDefinition::HasProperties() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[668], 3)); } // const IfcParse::entity& Ifc4x3_rc2::IfcMaterialDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[656]); } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[656]); } @@ -12748,7 +12748,7 @@ void Ifc4x3_rc2::IfcMaterialLayer::setCategory(const std::optional< std::string std::optional< int > Ifc4x3_rc2::IfcMaterialLayer::Priority() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } int v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcMaterialLayer::setPriority(const std::optional< int >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x3_rc2::IfcMaterialLayerSet> Ifc4x3_rc2::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[659], 0)); } +std::vector<::Ifc4x3_rc2::IfcMaterialLayerSet> Ifc4x3_rc2::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[659], 0)); } // const IfcParse::entity& Ifc4x3_rc2::IfcMaterialLayer::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[658]); } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialLayer::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[658]); } @@ -12823,7 +12823,7 @@ void Ifc4x3_rc2::IfcMaterialProfile::setPriority(const std::optional< int >& v) std::optional< std::string > Ifc4x3_rc2::IfcMaterialProfile::Category() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcMaterialProfile::setCategory(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3_rc2::IfcMaterialProfileSet> Ifc4x3_rc2::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[664], 2)); } +std::vector<::Ifc4x3_rc2::IfcMaterialProfileSet> Ifc4x3_rc2::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[664], 2)); } // const IfcParse::entity& Ifc4x3_rc2::IfcMaterialProfile::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[663]); } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialProfile::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[663]); } @@ -12908,7 +12908,7 @@ const IfcParse::entity& Ifc4x3_rc2::IfcMaterialRelationship::Class() { return *( // Function implementations for IfcMaterialUsageDefinition -std::vector<::Ifc4x3_rc2::IfcRelAssociatesMaterial> Ifc4x3_rc2::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[932], 5)); } +std::vector<::Ifc4x3_rc2::IfcRelAssociatesMaterial> Ifc4x3_rc2::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[932], 5)); } // const IfcParse::entity& Ifc4x3_rc2::IfcMaterialUsageDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[671]); } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialUsageDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[671]); } @@ -13133,10 +13133,10 @@ const IfcParse::entity& Ifc4x3_rc2::IfcNavigationElementType::Class() { return * 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; } void Ifc4x3_rc2::IfcObject::setObjectType(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector<::Ifc4x3_rc2::IfcRelDefinesByObject> Ifc4x3_rc2::IfcObject::IsDeclaredBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[950], 4)); } -std::vector<::Ifc4x3_rc2::IfcRelDefinesByObject> Ifc4x3_rc2::IfcObject::Declares() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[950], 5)); } -std::vector<::Ifc4x3_rc2::IfcRelDefinesByType> Ifc4x3_rc2::IfcObject::IsTypedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[953], 4)); } -std::vector<::Ifc4x3_rc2::IfcRelDefinesByProperties> Ifc4x3_rc2::IfcObject::IsDefinedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[951], 4)); } +std::vector<::Ifc4x3_rc2::IfcRelDefinesByObject> Ifc4x3_rc2::IfcObject::IsDeclaredBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[950], 4)); } +std::vector<::Ifc4x3_rc2::IfcRelDefinesByObject> Ifc4x3_rc2::IfcObject::Declares() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[950], 5)); } +std::vector<::Ifc4x3_rc2::IfcRelDefinesByType> Ifc4x3_rc2::IfcObject::IsTypedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[953], 4)); } +std::vector<::Ifc4x3_rc2::IfcRelDefinesByProperties> Ifc4x3_rc2::IfcObject::IsDefinedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[951], 4)); } // const IfcParse::entity& Ifc4x3_rc2::IfcObject::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[717]); } const IfcParse::entity& Ifc4x3_rc2::IfcObject::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[717]); } @@ -13145,13 +13145,13 @@ const IfcParse::entity& Ifc4x3_rc2::IfcObject::Class() { return *((IfcParse::ent // Function implementations for IfcObjectDefinition -std::vector<::Ifc4x3_rc2::IfcRelAssigns> Ifc4x3_rc2::IfcObjectDefinition::HasAssignments() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[918], 4)); } -std::vector<::Ifc4x3_rc2::IfcRelNests> Ifc4x3_rc2::IfcObjectDefinition::Nests() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[957], 5)); } -std::vector<::Ifc4x3_rc2::IfcRelNests> Ifc4x3_rc2::IfcObjectDefinition::IsNestedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[957], 4)); } -std::vector<::Ifc4x3_rc2::IfcRelDeclares> Ifc4x3_rc2::IfcObjectDefinition::HasContext() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[947], 5)); } -std::vector<::Ifc4x3_rc2::IfcRelAggregates> Ifc4x3_rc2::IfcObjectDefinition::IsDecomposedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[917], 4)); } -std::vector<::Ifc4x3_rc2::IfcRelAggregates> Ifc4x3_rc2::IfcObjectDefinition::Decomposes() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[917], 5)); } -std::vector<::Ifc4x3_rc2::IfcRelAssociates> Ifc4x3_rc2::IfcObjectDefinition::HasAssociations() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[926], 4)); } +std::vector<::Ifc4x3_rc2::IfcRelAssigns> Ifc4x3_rc2::IfcObjectDefinition::HasAssignments() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[918], 4)); } +std::vector<::Ifc4x3_rc2::IfcRelNests> Ifc4x3_rc2::IfcObjectDefinition::Nests() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[957], 5)); } +std::vector<::Ifc4x3_rc2::IfcRelNests> Ifc4x3_rc2::IfcObjectDefinition::IsNestedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[957], 4)); } +std::vector<::Ifc4x3_rc2::IfcRelDeclares> Ifc4x3_rc2::IfcObjectDefinition::HasContext() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[947], 5)); } +std::vector<::Ifc4x3_rc2::IfcRelAggregates> Ifc4x3_rc2::IfcObjectDefinition::IsDecomposedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[917], 4)); } +std::vector<::Ifc4x3_rc2::IfcRelAggregates> Ifc4x3_rc2::IfcObjectDefinition::Decomposes() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[917], 5)); } +std::vector<::Ifc4x3_rc2::IfcRelAssociates> Ifc4x3_rc2::IfcObjectDefinition::HasAssociations() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[926], 4)); } // const IfcParse::entity& Ifc4x3_rc2::IfcObjectDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[718]); } const IfcParse::entity& Ifc4x3_rc2::IfcObjectDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[718]); } @@ -13162,7 +13162,7 @@ const IfcParse::entity& Ifc4x3_rc2::IfcObjectDefinition::Class() { return *((Ifc ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[821], 5)); } +std::vector<::Ifc4x3_rc2::IfcProduct> Ifc4x3_rc2::IfcObjectPlacement::PlacesObject() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[821], 5)); } // const IfcParse::entity& Ifc4x3_rc2::IfcObjectPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[721]); } const IfcParse::entity& Ifc4x3_rc2::IfcObjectPlacement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[721]); } @@ -13271,7 +13271,7 @@ const IfcParse::entity& Ifc4x3_rc2::IfcOpenShell::Class() { return *((IfcParse:: 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)); } void Ifc4x3_rc2::IfcOpeningElement::setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcOpeningElementTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcOpeningElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_rc2::IfcRelFillsElement> Ifc4x3_rc2::IfcOpeningElement::HasFillings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[954], 4)); } +std::vector<::Ifc4x3_rc2::IfcRelFillsElement> Ifc4x3_rc2::IfcOpeningElement::HasFillings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[954], 4)); } // const IfcParse::entity& Ifc4x3_rc2::IfcOpeningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[731]); } const IfcParse::entity& Ifc4x3_rc2::IfcOpeningElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[731]); } @@ -13298,9 +13298,9 @@ void Ifc4x3_rc2::IfcOrganization::setRoles(const std::optional< std::vector< ::I 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(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[736], 3)); } -std::vector<::Ifc4x3_rc2::IfcOrganizationRelationship> Ifc4x3_rc2::IfcOrganization::Relates() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[736], 2)); } -std::vector<::Ifc4x3_rc2::IfcPersonAndOrganization> Ifc4x3_rc2::IfcOrganization::Engages() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[756], 1)); } +std::vector<::Ifc4x3_rc2::IfcOrganizationRelationship> Ifc4x3_rc2::IfcOrganization::IsRelatedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[736], 3)); } +std::vector<::Ifc4x3_rc2::IfcOrganizationRelationship> Ifc4x3_rc2::IfcOrganization::Relates() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[736], 2)); } +std::vector<::Ifc4x3_rc2::IfcPersonAndOrganization> Ifc4x3_rc2::IfcOrganization::Engages() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[756], 1)); } // const IfcParse::entity& Ifc4x3_rc2::IfcOrganization::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[735]); } const IfcParse::entity& Ifc4x3_rc2::IfcOrganization::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[735]); } @@ -13497,7 +13497,7 @@ void Ifc4x3_rc2::IfcPerson::setRoles(const std::optional< std::vector< ::Ifc4x3_ 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(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[756], 0)); } +std::vector<::Ifc4x3_rc2::IfcPersonAndOrganization> Ifc4x3_rc2::IfcPerson::EngagedIn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[756], 0)); } // const IfcParse::entity& Ifc4x3_rc2::IfcPerson::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[755]); } const IfcParse::entity& Ifc4x3_rc2::IfcPerson::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[755]); } @@ -13540,8 +13540,8 @@ void Ifc4x3_rc2::IfcPhysicalQuantity::setName(const std::string& v) { set_attrib std::optional< std::string > Ifc4x3_rc2::IfcPhysicalQuantity::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcPhysicalQuantity::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcPhysicalQuantity::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[441], 3)); } -std::vector<::Ifc4x3_rc2::IfcPhysicalComplexQuantity> Ifc4x3_rc2::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[758], 2)); } +std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcPhysicalQuantity::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[441], 3)); } +std::vector<::Ifc4x3_rc2::IfcPhysicalComplexQuantity> Ifc4x3_rc2::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[758], 2)); } // const IfcParse::entity& Ifc4x3_rc2::IfcPhysicalQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[760]); } const IfcParse::entity& Ifc4x3_rc2::IfcPhysicalQuantity::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[760]); } @@ -13812,9 +13812,9 @@ const IfcParse::entity& Ifc4x3_rc2::IfcPolyline::Class() { return *((IfcParse::e // Function implementations for IfcPort -std::vector<::Ifc4x3_rc2::IfcRelConnectsPortToElement> Ifc4x3_rc2::IfcPort::ContainedIn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[939], 4)); } -std::vector<::Ifc4x3_rc2::IfcRelConnectsPorts> Ifc4x3_rc2::IfcPort::ConnectedFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[938], 5)); } -std::vector<::Ifc4x3_rc2::IfcRelConnectsPorts> Ifc4x3_rc2::IfcPort::ConnectedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[938], 4)); } +std::vector<::Ifc4x3_rc2::IfcRelConnectsPortToElement> Ifc4x3_rc2::IfcPort::ContainedIn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[939], 4)); } +std::vector<::Ifc4x3_rc2::IfcRelConnectsPorts> Ifc4x3_rc2::IfcPort::ConnectedFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[938], 5)); } +std::vector<::Ifc4x3_rc2::IfcRelConnectsPorts> Ifc4x3_rc2::IfcPort::ConnectedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[938], 4)); } // const IfcParse::entity& Ifc4x3_rc2::IfcPort::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[793]); } const IfcParse::entity& Ifc4x3_rc2::IfcPort::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[793]); } @@ -13823,8 +13823,8 @@ const IfcParse::entity& Ifc4x3_rc2::IfcPort::Class() { return *((IfcParse::entit // Function implementations for IfcPositioningElement -std::vector<::Ifc4x3_rc2::IfcRelContainedInSpatialStructure> Ifc4x3_rc2::IfcPositioningElement::ContainedInStructure() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[944], 4)); } -std::vector<::Ifc4x3_rc2::IfcRelPositions> Ifc4x3_rc2::IfcPositioningElement::Positions() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[958], 4)); } +std::vector<::Ifc4x3_rc2::IfcRelContainedInSpatialStructure> Ifc4x3_rc2::IfcPositioningElement::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[944], 4)); } +std::vector<::Ifc4x3_rc2::IfcRelPositions> Ifc4x3_rc2::IfcPositioningElement::Positions() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[958], 4)); } // const IfcParse::entity& Ifc4x3_rc2::IfcPositioningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[794]); } const IfcParse::entity& Ifc4x3_rc2::IfcPositioningElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[794]); } @@ -13989,9 +13989,9 @@ void Ifc4x3_rc2::IfcProcess::setIdentification(const std::optional< std::string std::optional< std::string > Ifc4x3_rc2::IfcProcess::LongDescription() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcProcess::setLongDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x3_rc2::IfcRelSequence> Ifc4x3_rc2::IfcProcess::IsPredecessorTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[961], 4)); } -std::vector<::Ifc4x3_rc2::IfcRelSequence> Ifc4x3_rc2::IfcProcess::IsSuccessorFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[961], 5)); } -std::vector<::Ifc4x3_rc2::IfcRelAssignsToProcess> Ifc4x3_rc2::IfcProcess::OperatesOn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[923], 6)); } +std::vector<::Ifc4x3_rc2::IfcRelSequence> Ifc4x3_rc2::IfcProcess::IsPredecessorTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[961], 4)); } +std::vector<::Ifc4x3_rc2::IfcRelSequence> Ifc4x3_rc2::IfcProcess::IsSuccessorFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[961], 5)); } +std::vector<::Ifc4x3_rc2::IfcRelAssignsToProcess> Ifc4x3_rc2::IfcProcess::OperatesOn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[923], 6)); } // const IfcParse::entity& Ifc4x3_rc2::IfcProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[819]); } const IfcParse::entity& Ifc4x3_rc2::IfcProcess::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[819]); } @@ -14004,9 +14004,9 @@ void Ifc4x3_rc2::IfcProduct::setObjectPlacement(const ::Ifc4x3_rc2::IfcObjectPla ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[924], 6)); } -std::vector<::Ifc4x3_rc2::IfcRelPositions> Ifc4x3_rc2::IfcProduct::PositionedRelativeTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[958], 5)); } -std::vector<::Ifc4x3_rc2::IfcRelReferencedInSpatialStructure> Ifc4x3_rc2::IfcProduct::ReferencedInStructures() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[960], 4)); } +std::vector<::Ifc4x3_rc2::IfcRelAssignsToProduct> Ifc4x3_rc2::IfcProduct::ReferencedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[924], 6)); } +std::vector<::Ifc4x3_rc2::IfcRelPositions> Ifc4x3_rc2::IfcProduct::PositionedRelativeTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[958], 5)); } +std::vector<::Ifc4x3_rc2::IfcRelReferencedInSpatialStructure> Ifc4x3_rc2::IfcProduct::ReferencedInStructures() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[960], 4)); } // const IfcParse::entity& Ifc4x3_rc2::IfcProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[821]); } const IfcParse::entity& Ifc4x3_rc2::IfcProduct::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[821]); } @@ -14015,8 +14015,8 @@ const IfcParse::entity& Ifc4x3_rc2::IfcProduct::Class() { return *((IfcParse::en // Function implementations for IfcProductDefinitionShape -std::vector<::Ifc4x3_rc2::IfcProduct> Ifc4x3_rc2::IfcProductDefinitionShape::ShapeOfProduct() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[821], 6)); } -std::vector<::Ifc4x3_rc2::IfcShapeAspect> Ifc4x3_rc2::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[1020], 4)); } +std::vector<::Ifc4x3_rc2::IfcProduct> Ifc4x3_rc2::IfcProductDefinitionShape::ShapeOfProduct() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[821], 6)); } +std::vector<::Ifc4x3_rc2::IfcShapeAspect> Ifc4x3_rc2::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[1020], 4)); } // const IfcParse::entity& Ifc4x3_rc2::IfcProductDefinitionShape::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[822]); } const IfcParse::entity& Ifc4x3_rc2::IfcProductDefinitionShape::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[822]); } @@ -14043,8 +14043,8 @@ void Ifc4x3_rc2::IfcProfileDef::setProfileType(const ::Ifc4x3_rc2::IfcProfileTyp std::optional< std::string > Ifc4x3_rc2::IfcProfileDef::ProfileName() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcProfileDef::setProfileName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcProfileDef::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[441], 3)); } -std::vector<::Ifc4x3_rc2::IfcProfileProperties> Ifc4x3_rc2::IfcProfileDef::HasProperties() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[827], 3)); } +std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcProfileDef::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[441], 3)); } +std::vector<::Ifc4x3_rc2::IfcProfileProperties> Ifc4x3_rc2::IfcProfileDef::HasProperties() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[827], 3)); } // const IfcParse::entity& Ifc4x3_rc2::IfcProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[826]); } const IfcParse::entity& Ifc4x3_rc2::IfcProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[826]); } @@ -14121,12 +14121,12 @@ void Ifc4x3_rc2::IfcProperty::setName(const std::string& v) { set_attribute_valu std::optional< std::string > Ifc4x3_rc2::IfcProperty::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcProperty::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x3_rc2::IfcPropertySet> Ifc4x3_rc2::IfcProperty::PartOfPset() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[846], 4)); } -std::vector<::Ifc4x3_rc2::IfcPropertyDependencyRelationship> Ifc4x3_rc2::IfcProperty::PropertyForDependance() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[841], 2)); } -std::vector<::Ifc4x3_rc2::IfcPropertyDependencyRelationship> Ifc4x3_rc2::IfcProperty::PropertyDependsOn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[841], 3)); } -std::vector<::Ifc4x3_rc2::IfcComplexProperty> Ifc4x3_rc2::IfcProperty::PartOfComplex() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[199], 3)); } -std::vector<::Ifc4x3_rc2::IfcResourceConstraintRelationship> Ifc4x3_rc2::IfcProperty::HasConstraints() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[974], 3)); } -std::vector<::Ifc4x3_rc2::IfcResourceApprovalRelationship> Ifc4x3_rc2::IfcProperty::HasApprovals() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[973], 2)); } +std::vector<::Ifc4x3_rc2::IfcPropertySet> Ifc4x3_rc2::IfcProperty::PartOfPset() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[846], 4)); } +std::vector<::Ifc4x3_rc2::IfcPropertyDependencyRelationship> Ifc4x3_rc2::IfcProperty::PropertyForDependance() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[841], 2)); } +std::vector<::Ifc4x3_rc2::IfcPropertyDependencyRelationship> Ifc4x3_rc2::IfcProperty::PropertyDependsOn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[841], 3)); } +std::vector<::Ifc4x3_rc2::IfcComplexProperty> Ifc4x3_rc2::IfcProperty::PartOfComplex() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[199], 3)); } +std::vector<::Ifc4x3_rc2::IfcResourceConstraintRelationship> Ifc4x3_rc2::IfcProperty::HasConstraints() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[974], 3)); } +std::vector<::Ifc4x3_rc2::IfcResourceApprovalRelationship> Ifc4x3_rc2::IfcProperty::HasApprovals() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[973], 2)); } // const IfcParse::entity& Ifc4x3_rc2::IfcProperty::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[837]); } const IfcParse::entity& Ifc4x3_rc2::IfcProperty::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[837]); } @@ -14135,7 +14135,7 @@ const IfcParse::entity& Ifc4x3_rc2::IfcProperty::Class() { return *((IfcParse::e // Function implementations for IfcPropertyAbstraction -std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[441], 3)); } +std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[441], 3)); } // const IfcParse::entity& Ifc4x3_rc2::IfcPropertyAbstraction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[838]); } const IfcParse::entity& Ifc4x3_rc2::IfcPropertyAbstraction::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[838]); } @@ -14160,8 +14160,8 @@ const IfcParse::entity& Ifc4x3_rc2::IfcPropertyBoundedValue::Class() { return *( // Function implementations for IfcPropertyDefinition -std::vector<::Ifc4x3_rc2::IfcRelDeclares> Ifc4x3_rc2::IfcPropertyDefinition::HasContext() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[947], 5)); } -std::vector<::Ifc4x3_rc2::IfcRelAssociates> Ifc4x3_rc2::IfcPropertyDefinition::HasAssociations() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[926], 4)); } +std::vector<::Ifc4x3_rc2::IfcRelDeclares> Ifc4x3_rc2::IfcPropertyDefinition::HasContext() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[947], 5)); } +std::vector<::Ifc4x3_rc2::IfcRelAssociates> Ifc4x3_rc2::IfcPropertyDefinition::HasAssociations() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[926], 4)); } // const IfcParse::entity& Ifc4x3_rc2::IfcPropertyDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[840]); } const IfcParse::entity& Ifc4x3_rc2::IfcPropertyDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[840]); } @@ -14244,9 +14244,9 @@ const IfcParse::entity& Ifc4x3_rc2::IfcPropertySet::Class() { return *((IfcParse // Function implementations for IfcPropertySetDefinition -std::vector<::Ifc4x3_rc2::IfcTypeObject> Ifc4x3_rc2::IfcPropertySetDefinition::DefinesType() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[1255], 5)); } -std::vector<::Ifc4x3_rc2::IfcRelDefinesByTemplate> Ifc4x3_rc2::IfcPropertySetDefinition::IsDefinedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[952], 4)); } -std::vector<::Ifc4x3_rc2::IfcRelDefinesByProperties> Ifc4x3_rc2::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[951], 5)); } +std::vector<::Ifc4x3_rc2::IfcTypeObject> Ifc4x3_rc2::IfcPropertySetDefinition::DefinesType() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[1255], 5)); } +std::vector<::Ifc4x3_rc2::IfcRelDefinesByTemplate> Ifc4x3_rc2::IfcPropertySetDefinition::IsDefinedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[952], 4)); } +std::vector<::Ifc4x3_rc2::IfcRelDefinesByProperties> Ifc4x3_rc2::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[951], 5)); } // const IfcParse::entity& Ifc4x3_rc2::IfcPropertySetDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[847]); } const IfcParse::entity& Ifc4x3_rc2::IfcPropertySetDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[847]); } @@ -14261,7 +14261,7 @@ void Ifc4x3_rc2::IfcPropertySetTemplate::setApplicableEntity(const std::optional 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(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[952], 5)); } +std::vector<::Ifc4x3_rc2::IfcRelDefinesByTemplate> Ifc4x3_rc2::IfcPropertySetTemplate::Defines() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[952], 5)); } // const IfcParse::entity& Ifc4x3_rc2::IfcPropertySetTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[850]); } const IfcParse::entity& Ifc4x3_rc2::IfcPropertySetTemplate::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[850]); } @@ -14302,8 +14302,8 @@ const IfcParse::entity& Ifc4x3_rc2::IfcPropertyTableValue::Class() { return *((I // Function implementations for IfcPropertyTemplate -std::vector<::Ifc4x3_rc2::IfcComplexPropertyTemplate> Ifc4x3_rc2::IfcPropertyTemplate::PartOfComplexTemplate() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[200], 6)); } -std::vector<::Ifc4x3_rc2::IfcPropertySetTemplate> Ifc4x3_rc2::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[850], 6)); } +std::vector<::Ifc4x3_rc2::IfcComplexPropertyTemplate> Ifc4x3_rc2::IfcPropertyTemplate::PartOfComplexTemplate() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[200], 6)); } +std::vector<::Ifc4x3_rc2::IfcPropertySetTemplate> Ifc4x3_rc2::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[850], 6)); } // const IfcParse::entity& Ifc4x3_rc2::IfcPropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[854]); } const IfcParse::entity& Ifc4x3_rc2::IfcPropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[854]); } @@ -15414,7 +15414,7 @@ const IfcParse::entity& Ifc4x3_rc2::IfcRelSpaceBoundary::Class() { return *((Ifc ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[964], 9)); } +std::vector<::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel> Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[964], 9)); } // const IfcParse::entity& Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[964]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[964]); } @@ -15425,7 +15425,7 @@ const IfcParse::entity& Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel::Class() { retur ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[965], 10)); } +std::vector<::Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel> Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[965], 10)); } // const IfcParse::entity& Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[965]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[965]); } @@ -15472,9 +15472,9 @@ void Ifc4x3_rc2::IfcRepresentation::setRepresentationType(const std::optional< s 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(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[971], 1)); } -std::vector<::Ifc4x3_rc2::IfcPresentationLayerAssignment> Ifc4x3_rc2::IfcRepresentation::LayerAssignments() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[810], 2)); } -std::vector<::Ifc4x3_rc2::IfcProductRepresentation> Ifc4x3_rc2::IfcRepresentation::OfProductRepresentation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[823], 2)); } +std::vector<::Ifc4x3_rc2::IfcRepresentationMap> Ifc4x3_rc2::IfcRepresentation::RepresentationMap() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[971], 1)); } +std::vector<::Ifc4x3_rc2::IfcPresentationLayerAssignment> Ifc4x3_rc2::IfcRepresentation::LayerAssignments() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[810], 2)); } +std::vector<::Ifc4x3_rc2::IfcProductRepresentation> Ifc4x3_rc2::IfcRepresentation::OfProductRepresentation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[823], 2)); } // const IfcParse::entity& Ifc4x3_rc2::IfcRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[968]); } const IfcParse::entity& Ifc4x3_rc2::IfcRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[968]); } @@ -15487,7 +15487,7 @@ void Ifc4x3_rc2::IfcRepresentationContext::setContextIdentifier(const std::optio std::optional< std::string > Ifc4x3_rc2::IfcRepresentationContext::ContextType() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcRepresentationContext::setContextType(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::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[968], 0)); } +std::vector<::Ifc4x3_rc2::IfcRepresentation> Ifc4x3_rc2::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[968], 0)); } // const IfcParse::entity& Ifc4x3_rc2::IfcRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[969]); } const IfcParse::entity& Ifc4x3_rc2::IfcRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[969]); } @@ -15496,8 +15496,8 @@ const IfcParse::entity& Ifc4x3_rc2::IfcRepresentationContext::Class() { return * // Function implementations for IfcRepresentationItem -std::vector<::Ifc4x3_rc2::IfcPresentationLayerAssignment> Ifc4x3_rc2::IfcRepresentationItem::LayerAssignment() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[810], 2)); } -std::vector<::Ifc4x3_rc2::IfcStyledItem> Ifc4x3_rc2::IfcRepresentationItem::StyledByItem() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[1132], 0)); } +std::vector<::Ifc4x3_rc2::IfcPresentationLayerAssignment> Ifc4x3_rc2::IfcRepresentationItem::LayerAssignment() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[810], 2)); } +std::vector<::Ifc4x3_rc2::IfcStyledItem> Ifc4x3_rc2::IfcRepresentationItem::StyledByItem() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[1132], 0)); } // const IfcParse::entity& Ifc4x3_rc2::IfcRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[970]); } const IfcParse::entity& Ifc4x3_rc2::IfcRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[970]); } @@ -15510,8 +15510,8 @@ void Ifc4x3_rc2::IfcRepresentationMap::setMappingOrigin(const ::Ifc4x3_rc2::IfcA ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[1020], 4)); } -std::vector<::Ifc4x3_rc2::IfcMappedItem> Ifc4x3_rc2::IfcRepresentationMap::MapUsage() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[644], 0)); } +std::vector<::Ifc4x3_rc2::IfcShapeAspect> Ifc4x3_rc2::IfcRepresentationMap::HasShapeAspects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[1020], 4)); } +std::vector<::Ifc4x3_rc2::IfcMappedItem> Ifc4x3_rc2::IfcRepresentationMap::MapUsage() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[644], 0)); } // const IfcParse::entity& Ifc4x3_rc2::IfcRepresentationMap::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[971]); } const IfcParse::entity& Ifc4x3_rc2::IfcRepresentationMap::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[971]); } @@ -15524,7 +15524,7 @@ void Ifc4x3_rc2::IfcResource::setIdentification(const std::optional< std::string std::optional< std::string > Ifc4x3_rc2::IfcResource::LongDescription() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcResource::setLongDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x3_rc2::IfcRelAssignsToResource> Ifc4x3_rc2::IfcResource::ResourceOf() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[925], 6)); } +std::vector<::Ifc4x3_rc2::IfcRelAssignsToResource> Ifc4x3_rc2::IfcResource::ResourceOf() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[925], 6)); } // const IfcParse::entity& Ifc4x3_rc2::IfcResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[972]); } const IfcParse::entity& Ifc4x3_rc2::IfcResource::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[972]); } @@ -15937,7 +15937,7 @@ void Ifc4x3_rc2::IfcShapeAspect::setProductDefinitional(const boost::logic::trib ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[441], 3)); } +std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcShapeAspect::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[441], 3)); } // const IfcParse::entity& Ifc4x3_rc2::IfcShapeAspect::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1020]); } const IfcParse::entity& Ifc4x3_rc2::IfcShapeAspect::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1020]); } @@ -15946,7 +15946,7 @@ const IfcParse::entity& Ifc4x3_rc2::IfcShapeAspect::Class() { return *((IfcParse // Function implementations for IfcShapeModel -std::vector<::Ifc4x3_rc2::IfcShapeAspect> Ifc4x3_rc2::IfcShapeModel::OfShapeAspect() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[1020], 0)); } +std::vector<::Ifc4x3_rc2::IfcShapeAspect> Ifc4x3_rc2::IfcShapeModel::OfShapeAspect() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[1020], 0)); } // const IfcParse::entity& Ifc4x3_rc2::IfcShapeModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1021]); } const IfcParse::entity& Ifc4x3_rc2::IfcShapeModel::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1021]); } @@ -16153,8 +16153,8 @@ void Ifc4x3_rc2::IfcSpace::setPredefinedType(const std::optional< ::Ifc4x3_rc2:: std::optional< double > Ifc4x3_rc2::IfcSpace::ElevationWithFlooring() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcSpace::setElevationWithFlooring(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -std::vector<::Ifc4x3_rc2::IfcRelCoversSpaces> Ifc4x3_rc2::IfcSpace::HasCoverings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[946], 4)); } -std::vector<::Ifc4x3_rc2::IfcRelSpaceBoundary> Ifc4x3_rc2::IfcSpace::BoundedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[963], 4)); } +std::vector<::Ifc4x3_rc2::IfcRelCoversSpaces> Ifc4x3_rc2::IfcSpace::HasCoverings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[946], 4)); } +std::vector<::Ifc4x3_rc2::IfcRelSpaceBoundary> Ifc4x3_rc2::IfcSpace::BoundedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[963], 4)); } // const IfcParse::entity& Ifc4x3_rc2::IfcSpace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1058]); } const IfcParse::entity& Ifc4x3_rc2::IfcSpace::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1058]); } @@ -16197,9 +16197,9 @@ const IfcParse::entity& Ifc4x3_rc2::IfcSpaceType::Class() { return *((IfcParse:: 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; } void Ifc4x3_rc2::IfcSpatialElement::setLongName(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -std::vector<::Ifc4x3_rc2::IfcRelContainedInSpatialStructure> Ifc4x3_rc2::IfcSpatialElement::ContainsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[944], 5)); } -std::vector<::Ifc4x3_rc2::IfcRelServicesBuildings> Ifc4x3_rc2::IfcSpatialElement::ServicedBySystems() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[962], 5)); } -std::vector<::Ifc4x3_rc2::IfcRelReferencedInSpatialStructure> Ifc4x3_rc2::IfcSpatialElement::ReferencesElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[960], 5)); } +std::vector<::Ifc4x3_rc2::IfcRelContainedInSpatialStructure> Ifc4x3_rc2::IfcSpatialElement::ContainsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[944], 5)); } +std::vector<::Ifc4x3_rc2::IfcRelServicesBuildings> Ifc4x3_rc2::IfcSpatialElement::ServicedBySystems() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[962], 5)); } +std::vector<::Ifc4x3_rc2::IfcRelReferencedInSpatialStructure> Ifc4x3_rc2::IfcSpatialElement::ReferencesElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[960], 5)); } // const IfcParse::entity& Ifc4x3_rc2::IfcSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1065]); } const IfcParse::entity& Ifc4x3_rc2::IfcSpatialElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1065]); } @@ -16360,7 +16360,7 @@ void Ifc4x3_rc2::IfcStructuralActivity::setAppliedLoad(const ::Ifc4x3_rc2::IfcSt ::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, EnumerationReference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -std::vector<::Ifc4x3_rc2::IfcRelConnectsStructuralActivity> Ifc4x3_rc2::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[940], 5)); } +std::vector<::Ifc4x3_rc2::IfcRelConnectsStructuralActivity> Ifc4x3_rc2::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[940], 5)); } // const IfcParse::entity& Ifc4x3_rc2::IfcStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1090]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralActivity::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1090]); } @@ -16389,7 +16389,7 @@ const IfcParse::entity& Ifc4x3_rc2::IfcStructuralAnalysisModel::Class() { return ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[941], 5)); } +std::vector<::Ifc4x3_rc2::IfcRelConnectsStructuralMember> Ifc4x3_rc2::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[941], 5)); } // const IfcParse::entity& Ifc4x3_rc2::IfcStructuralConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1093]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralConnection::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1093]); } @@ -16460,7 +16460,7 @@ const IfcParse::entity& Ifc4x3_rc2::IfcStructuralCurveReaction::Class() { return // Function implementations for IfcStructuralItem -std::vector<::Ifc4x3_rc2::IfcRelConnectsStructuralActivity> Ifc4x3_rc2::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[940], 4)); } +std::vector<::Ifc4x3_rc2::IfcRelConnectsStructuralActivity> Ifc4x3_rc2::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[940], 4)); } // const IfcParse::entity& Ifc4x3_rc2::IfcStructuralItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1102]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralItem::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1102]); } @@ -16519,8 +16519,8 @@ void Ifc4x3_rc2::IfcStructuralLoadGroup::setCoefficient(const std::optional< dou std::optional< std::string > Ifc4x3_rc2::IfcStructuralLoadGroup::Purpose() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc2::IfcStructuralLoadGroup::setPurpose(const std::optional< std::string >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -std::vector<::Ifc4x3_rc2::IfcStructuralResultGroup> Ifc4x3_rc2::IfcStructuralLoadGroup::SourceOfResultGroup() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[1123], 6)); } -std::vector<::Ifc4x3_rc2::IfcStructuralAnalysisModel> Ifc4x3_rc2::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[1092], 7)); } +std::vector<::Ifc4x3_rc2::IfcStructuralResultGroup> Ifc4x3_rc2::IfcStructuralLoadGroup::SourceOfResultGroup() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[1123], 6)); } +std::vector<::Ifc4x3_rc2::IfcStructuralAnalysisModel> Ifc4x3_rc2::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[1092], 7)); } // const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1107]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadGroup::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1107]); } @@ -16653,7 +16653,7 @@ const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadTemperature::Class() { retu // Function implementations for IfcStructuralMember -std::vector<::Ifc4x3_rc2::IfcRelConnectsStructuralMember> Ifc4x3_rc2::IfcStructuralMember::ConnectedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[941], 4)); } +std::vector<::Ifc4x3_rc2::IfcRelConnectsStructuralMember> Ifc4x3_rc2::IfcStructuralMember::ConnectedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[941], 4)); } // const IfcParse::entity& Ifc4x3_rc2::IfcStructuralMember::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1117]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralMember::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1117]); } @@ -16710,7 +16710,7 @@ void Ifc4x3_rc2::IfcStructuralResultGroup::setResultForLoadGroup(const ::Ifc4x3_ 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); } -std::vector<::Ifc4x3_rc2::IfcStructuralAnalysisModel> Ifc4x3_rc2::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[1092], 8)); } +std::vector<::Ifc4x3_rc2::IfcStructuralAnalysisModel> Ifc4x3_rc2::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[1092], 8)); } // const IfcParse::entity& Ifc4x3_rc2::IfcStructuralResultGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1123]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralResultGroup::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1123]); } @@ -17001,8 +17001,8 @@ void Ifc4x3_rc2::IfcSurfaceTexture::setTextureTransform(const ::Ifc4x3_rc2::IfcC 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);} } -std::vector<::Ifc4x3_rc2::IfcTextureCoordinate> Ifc4x3_rc2::IfcSurfaceTexture::IsMappedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[1207], 0)); } -std::vector<::Ifc4x3_rc2::IfcSurfaceStyleWithTextures> Ifc4x3_rc2::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[1155], 0)); } +std::vector<::Ifc4x3_rc2::IfcTextureCoordinate> Ifc4x3_rc2::IfcSurfaceTexture::IsMappedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[1207], 0)); } +std::vector<::Ifc4x3_rc2::IfcSurfaceStyleWithTextures> Ifc4x3_rc2::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[1155], 0)); } // const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1156]); } const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceTexture::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1156]); } @@ -17083,8 +17083,8 @@ const IfcParse::entity& Ifc4x3_rc2::IfcSwitchingDeviceType::Class() { return *(( // Function implementations for IfcSystem -std::vector<::Ifc4x3_rc2::IfcRelServicesBuildings> Ifc4x3_rc2::IfcSystem::ServicesBuildings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[962], 4)); } -std::vector<::Ifc4x3_rc2::IfcRelReferencedInSpatialStructure> Ifc4x3_rc2::IfcSystem::ServicesFacilities() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[960], 4)); } +std::vector<::Ifc4x3_rc2::IfcRelServicesBuildings> Ifc4x3_rc2::IfcSystem::ServicesBuildings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[962], 4)); } +std::vector<::Ifc4x3_rc2::IfcRelReferencedInSpatialStructure> Ifc4x3_rc2::IfcSystem::ServicesFacilities() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[960], 4)); } // const IfcParse::entity& Ifc4x3_rc2::IfcSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1164]); } const IfcParse::entity& Ifc4x3_rc2::IfcSystem::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1164]); } @@ -17389,8 +17389,8 @@ const IfcParse::entity& Ifc4x3_rc2::IfcTendonType::Class() { return *((IfcParse: ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[556], 0)); } -std::vector<::Ifc4x3_rc2::IfcIndexedTextureMap> Ifc4x3_rc2::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[560], 1)); } +std::vector<::Ifc4x3_rc2::IfcIndexedColourMap> Ifc4x3_rc2::IfcTessellatedFaceSet::HasColours() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[556], 0)); } +std::vector<::Ifc4x3_rc2::IfcIndexedTextureMap> Ifc4x3_rc2::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[560], 1)); } // const IfcParse::entity& Ifc4x3_rc2::IfcTessellatedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1192]); } const IfcParse::entity& Ifc4x3_rc2::IfcTessellatedFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1192]); } @@ -17583,7 +17583,7 @@ void Ifc4x3_rc2::IfcTimeSeries::setUserDefinedDataOrigin(const std::optional< st ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[441], 3)); } +std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcTimeSeries::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[441], 3)); } // const IfcParse::entity& Ifc4x3_rc2::IfcTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1222]); } const IfcParse::entity& Ifc4x3_rc2::IfcTimeSeries::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1222]); } @@ -17792,7 +17792,7 @@ void Ifc4x3_rc2::IfcTypeObject::setApplicableOccurrence(const std::optional< std 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(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[953], 5)); } +std::vector<::Ifc4x3_rc2::IfcRelDefinesByType> Ifc4x3_rc2::IfcTypeObject::Types() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[953], 5)); } // const IfcParse::entity& Ifc4x3_rc2::IfcTypeObject::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1255]); } const IfcParse::entity& Ifc4x3_rc2::IfcTypeObject::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1255]); } @@ -17807,7 +17807,7 @@ void Ifc4x3_rc2::IfcTypeProcess::setLongDescription(const std::optional< std::st std::optional< std::string > Ifc4x3_rc2::IfcTypeProcess::ProcessType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcTypeProcess::setProcessType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_rc2::IfcRelAssignsToProcess> Ifc4x3_rc2::IfcTypeProcess::OperatesOn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[923], 6)); } +std::vector<::Ifc4x3_rc2::IfcRelAssignsToProcess> Ifc4x3_rc2::IfcTypeProcess::OperatesOn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[923], 6)); } // const IfcParse::entity& Ifc4x3_rc2::IfcTypeProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1256]); } const IfcParse::entity& Ifc4x3_rc2::IfcTypeProcess::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1256]); } @@ -17820,7 +17820,7 @@ void Ifc4x3_rc2::IfcTypeProduct::setRepresentationMaps(const std::optional< std: 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(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[924], 6)); } +std::vector<::Ifc4x3_rc2::IfcRelAssignsToProduct> Ifc4x3_rc2::IfcTypeProduct::ReferencedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[924], 6)); } // const IfcParse::entity& Ifc4x3_rc2::IfcTypeProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1257]); } const IfcParse::entity& Ifc4x3_rc2::IfcTypeProduct::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1257]); } @@ -17835,7 +17835,7 @@ void Ifc4x3_rc2::IfcTypeResource::setLongDescription(const std::optional< std::s std::optional< std::string > Ifc4x3_rc2::IfcTypeResource::ResourceType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcTypeResource::setResourceType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_rc2::IfcRelAssignsToResource> Ifc4x3_rc2::IfcTypeResource::ResourceOf() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC2_types[925], 6)); } +std::vector<::Ifc4x3_rc2::IfcRelAssignsToResource> Ifc4x3_rc2::IfcTypeResource::ResourceOf() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC2_types[925], 6)); } // const IfcParse::entity& Ifc4x3_rc2::IfcTypeResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1258]); } const IfcParse::entity& Ifc4x3_rc2::IfcTypeResource::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1258]); } diff --git a/src/ifcparse/Ifc4x3_rc3.cpp b/src/ifcparse/Ifc4x3_rc3.cpp index a1863310b1..b7a1f2fa83 100644 --- a/src/ifcparse/Ifc4x3_rc3.cpp +++ b/src/ifcparse/Ifc4x3_rc3.cpp @@ -7841,7 +7841,7 @@ const IfcParse::entity& Ifc4x3_rc3::IfcActionRequest::Class() { return *((IfcPar ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[907], 6)); } +std::vector<::Ifc4x3_rc3::IfcRelAssignsToActor> Ifc4x3_rc3::IfcActor::IsActingUpon() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[907], 6)); } // const IfcParse::entity& Ifc4x3_rc3::IfcActor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[6]); } const IfcParse::entity& Ifc4x3_rc3::IfcActor::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[6]); } @@ -7856,7 +7856,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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[434], 3)); } +std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcActorRole::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[434], 3)); } // const IfcParse::entity& Ifc4x3_rc3::IfcActorRole::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[7]); } const IfcParse::entity& Ifc4x3_rc3::IfcActorRole::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[7]); } @@ -7891,8 +7891,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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[743], 7)); } -std::vector<::Ifc4x3_rc3::IfcOrganization> Ifc4x3_rc3::IfcAddress::OfOrganization() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[722], 4)); } +std::vector<::Ifc4x3_rc3::IfcPerson> Ifc4x3_rc3::IfcAddress::OfPerson() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[743], 7)); } +std::vector<::Ifc4x3_rc3::IfcOrganization> Ifc4x3_rc3::IfcAddress::OfOrganization() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[722], 4)); } // const IfcParse::entity& Ifc4x3_rc3::IfcAddress::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[12]); } const IfcParse::entity& Ifc4x3_rc3::IfcAddress::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[12]); } @@ -8133,7 +8133,7 @@ const IfcParse::entity& Ifc4x3_rc3::IfcAlignmentVerticalSegment::Class() { retur 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, EnumerationReference(&::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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[932], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelContainedInSpatialStructure> Ifc4x3_rc3::IfcAnnotation::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[932], 4)); } // const IfcParse::entity& Ifc4x3_rc3::IfcAnnotation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[46]); } const IfcParse::entity& Ifc4x3_rc3::IfcAnnotation::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[46]); } @@ -8190,7 +8190,7 @@ void Ifc4x3_rc3::IfcAppliedValue::setArithmeticOperator(const std::optional< ::I 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[434], 3)); } +std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcAppliedValue::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[434], 3)); } // const IfcParse::entity& Ifc4x3_rc3::IfcAppliedValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[50]); } const IfcParse::entity& Ifc4x3_rc3::IfcAppliedValue::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[50]); } @@ -8217,11 +8217,11 @@ void Ifc4x3_rc3::IfcApproval::setRequestingApproval(const ::Ifc4x3_rc3::IfcActor ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[434], 3)); } -std::vector<::Ifc4x3_rc3::IfcRelAssociatesApproval> Ifc4x3_rc3::IfcApproval::ApprovedObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[915], 5)); } -std::vector<::Ifc4x3_rc3::IfcResourceApprovalRelationship> Ifc4x3_rc3::IfcApproval::ApprovedResources() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[961], 3)); } -std::vector<::Ifc4x3_rc3::IfcApprovalRelationship> Ifc4x3_rc3::IfcApproval::IsRelatedWith() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[53], 3)); } -std::vector<::Ifc4x3_rc3::IfcApprovalRelationship> Ifc4x3_rc3::IfcApproval::Relates() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[53], 2)); } +std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcApproval::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[434], 3)); } +std::vector<::Ifc4x3_rc3::IfcRelAssociatesApproval> Ifc4x3_rc3::IfcApproval::ApprovedObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[915], 5)); } +std::vector<::Ifc4x3_rc3::IfcResourceApprovalRelationship> Ifc4x3_rc3::IfcApproval::ApprovedResources() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[961], 3)); } +std::vector<::Ifc4x3_rc3::IfcApprovalRelationship> Ifc4x3_rc3::IfcApproval::IsRelatedWith() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[53], 3)); } +std::vector<::Ifc4x3_rc3::IfcApprovalRelationship> Ifc4x3_rc3::IfcApproval::Relates() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[53], 2)); } // const IfcParse::entity& Ifc4x3_rc3::IfcApproval::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[52]); } const IfcParse::entity& Ifc4x3_rc3::IfcApproval::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[52]); } @@ -9174,8 +9174,8 @@ 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[916], 5)); } -std::vector<::Ifc4x3_rc3::IfcClassificationReference> Ifc4x3_rc3::IfcClassification::HasReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[170], 3)); } +std::vector<::Ifc4x3_rc3::IfcRelAssociatesClassification> Ifc4x3_rc3::IfcClassification::ClassificationForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[916], 5)); } +std::vector<::Ifc4x3_rc3::IfcClassificationReference> Ifc4x3_rc3::IfcClassification::HasReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[170], 3)); } // const IfcParse::entity& Ifc4x3_rc3::IfcClassification::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[169]); } const IfcParse::entity& Ifc4x3_rc3::IfcClassification::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[169]); } @@ -9190,8 +9190,8 @@ void Ifc4x3_rc3::IfcClassificationReference::setDescription(const std::optional< 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[916], 5)); } -std::vector<::Ifc4x3_rc3::IfcClassificationReference> Ifc4x3_rc3::IfcClassificationReference::HasReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[170], 3)); } +std::vector<::Ifc4x3_rc3::IfcRelAssociatesClassification> Ifc4x3_rc3::IfcClassificationReference::ClassificationRefForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[916], 5)); } +std::vector<::Ifc4x3_rc3::IfcClassificationReference> Ifc4x3_rc3::IfcClassificationReference::HasReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[170], 3)); } // const IfcParse::entity& Ifc4x3_rc3::IfcClassificationReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[170]); } const IfcParse::entity& Ifc4x3_rc3::IfcClassificationReference::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[170]); } @@ -9534,8 +9534,8 @@ void Ifc4x3_rc3::IfcConstraint::setCreationTime(const std::optional< std::string 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[434], 3)); } -std::vector<::Ifc4x3_rc3::IfcResourceConstraintRelationship> Ifc4x3_rc3::IfcConstraint::PropertiesForConstraint() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[962], 2)); } +std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcConstraint::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[434], 3)); } +std::vector<::Ifc4x3_rc3::IfcResourceConstraintRelationship> Ifc4x3_rc3::IfcConstraint::PropertiesForConstraint() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[962], 2)); } // const IfcParse::entity& Ifc4x3_rc3::IfcConstraint::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[214]); } const IfcParse::entity& Ifc4x3_rc3::IfcConstraint::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[214]); } @@ -9640,8 +9640,8 @@ void Ifc4x3_rc3::IfcContext::setRepresentationContexts(const std::optional< std: ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[939], 4)); } -std::vector<::Ifc4x3_rc3::IfcRelDeclares> Ifc4x3_rc3::IfcContext::Declares() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[935], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelDefinesByProperties> Ifc4x3_rc3::IfcContext::IsDefinedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[939], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelDeclares> Ifc4x3_rc3::IfcContext::Declares() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[935], 4)); } // const IfcParse::entity& Ifc4x3_rc3::IfcContext::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[227]); } const IfcParse::entity& Ifc4x3_rc3::IfcContext::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[227]); } @@ -9652,7 +9652,7 @@ const IfcParse::entity& Ifc4x3_rc3::IfcContext::Class() { return *((IfcParse::en 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[434], 3)); } +std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcContextDependentUnit::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[434], 3)); } // const IfcParse::entity& Ifc4x3_rc3::IfcContextDependentUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[229]); } const IfcParse::entity& Ifc4x3_rc3::IfcContextDependentUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[229]); } @@ -9663,7 +9663,7 @@ const IfcParse::entity& Ifc4x3_rc3::IfcContextDependentUnit::Class() { return *( 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[908], 6)); } +std::vector<::Ifc4x3_rc3::IfcRelAssignsToControl> Ifc4x3_rc3::IfcControl::Controls() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[908], 6)); } // const IfcParse::entity& Ifc4x3_rc3::IfcControl::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[230]); } const IfcParse::entity& Ifc4x3_rc3::IfcControl::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[230]); } @@ -9696,7 +9696,7 @@ void Ifc4x3_rc3::IfcConversionBasedUnit::setName(const std::string& v) { set_att ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[434], 3)); } +std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[434], 3)); } // const IfcParse::entity& Ifc4x3_rc3::IfcConversionBasedUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[234]); } const IfcParse::entity& Ifc4x3_rc3::IfcConversionBasedUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[234]); } @@ -9795,7 +9795,7 @@ void Ifc4x3_rc3::IfcCoordinateReferenceSystem::setGeodeticDatum(const std::optio std::optional< std::string > Ifc4x3_rc3::IfcCoordinateReferenceSystem::VerticalDatum() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcCoordinateReferenceSystem::setVerticalDatum(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -std::vector<::Ifc4x3_rc3::IfcCoordinateOperation> Ifc4x3_rc3::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[245], 0)); } +std::vector<::Ifc4x3_rc3::IfcCoordinateOperation> Ifc4x3_rc3::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[245], 0)); } // const IfcParse::entity& Ifc4x3_rc3::IfcCoordinateReferenceSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[246]); } const IfcParse::entity& Ifc4x3_rc3::IfcCoordinateReferenceSystem::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[246]); } @@ -9876,8 +9876,8 @@ const IfcParse::entity& Ifc4x3_rc3::IfcCourseType::Class() { return *((IfcParse: 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, EnumerationReference(&::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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[934], 5)); } -std::vector<::Ifc4x3_rc3::IfcRelCoversBldgElements> Ifc4x3_rc3::IfcCovering::CoversElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[933], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelCoversSpaces> Ifc4x3_rc3::IfcCovering::CoversSpaces() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[934], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelCoversBldgElements> Ifc4x3_rc3::IfcCovering::CoversElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[933], 5)); } // const IfcParse::entity& Ifc4x3_rc3::IfcCovering::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[258]); } const IfcParse::entity& Ifc4x3_rc3::IfcCovering::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[258]); } @@ -10302,7 +10302,7 @@ const IfcParse::entity& Ifc4x3_rc3::IfcDistributionCircuit::Class() { return *(( // Function implementations for IfcDistributionControlElement -std::vector<::Ifc4x3_rc3::IfcRelFlowControlElements> Ifc4x3_rc3::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[943], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelFlowControlElements> Ifc4x3_rc3::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[943], 4)); } // const IfcParse::entity& Ifc4x3_rc3::IfcDistributionControlElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[322]); } const IfcParse::entity& Ifc4x3_rc3::IfcDistributionControlElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[322]); } @@ -10319,7 +10319,7 @@ const IfcParse::entity& Ifc4x3_rc3::IfcDistributionControlElementType::Class() { // Function implementations for IfcDistributionElement -std::vector<::Ifc4x3_rc3::IfcRelConnectsPortToElement> Ifc4x3_rc3::IfcDistributionElement::HasPorts() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[927], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelConnectsPortToElement> Ifc4x3_rc3::IfcDistributionElement::HasPorts() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[927], 5)); } // const IfcParse::entity& Ifc4x3_rc3::IfcDistributionElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[324]); } const IfcParse::entity& Ifc4x3_rc3::IfcDistributionElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[324]); } @@ -10336,7 +10336,7 @@ const IfcParse::entity& Ifc4x3_rc3::IfcDistributionElementType::Class() { return // Function implementations for IfcDistributionFlowElement -std::vector<::Ifc4x3_rc3::IfcRelFlowControlElements> Ifc4x3_rc3::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[943], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelFlowControlElements> Ifc4x3_rc3::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[943], 5)); } // const IfcParse::entity& Ifc4x3_rc3::IfcDistributionFlowElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[326]); } const IfcParse::entity& Ifc4x3_rc3::IfcDistributionFlowElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[326]); } @@ -10413,10 +10413,10 @@ 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, EnumerationReference(&::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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[918], 5)); } -std::vector<::Ifc4x3_rc3::IfcDocumentReference> Ifc4x3_rc3::IfcDocumentInformation::HasDocumentReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[335], 4)); } -std::vector<::Ifc4x3_rc3::IfcDocumentInformationRelationship> Ifc4x3_rc3::IfcDocumentInformation::IsPointedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[334], 3)); } -std::vector<::Ifc4x3_rc3::IfcDocumentInformationRelationship> Ifc4x3_rc3::IfcDocumentInformation::IsPointer() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[334], 2)); } +std::vector<::Ifc4x3_rc3::IfcRelAssociatesDocument> Ifc4x3_rc3::IfcDocumentInformation::DocumentInfoForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[918], 5)); } +std::vector<::Ifc4x3_rc3::IfcDocumentReference> Ifc4x3_rc3::IfcDocumentInformation::HasDocumentReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[335], 4)); } +std::vector<::Ifc4x3_rc3::IfcDocumentInformationRelationship> Ifc4x3_rc3::IfcDocumentInformation::IsPointedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[334], 3)); } +std::vector<::Ifc4x3_rc3::IfcDocumentInformationRelationship> Ifc4x3_rc3::IfcDocumentInformation::IsPointer() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[334], 2)); } // const IfcParse::entity& Ifc4x3_rc3::IfcDocumentInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[333]); } const IfcParse::entity& Ifc4x3_rc3::IfcDocumentInformation::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[333]); } @@ -10443,7 +10443,7 @@ void Ifc4x3_rc3::IfcDocumentReference::setDescription(const std::optional< std:: ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[918], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelAssociatesDocument> Ifc4x3_rc3::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[918], 5)); } // const IfcParse::entity& Ifc4x3_rc3::IfcDocumentReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[335]); } const IfcParse::entity& Ifc4x3_rc3::IfcDocumentReference::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[335]); } @@ -10842,17 +10842,17 @@ const IfcParse::entity& Ifc4x3_rc3::IfcElectricTimeControlType::Class() { return 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[942], 5)); } -std::vector<::Ifc4x3_rc3::IfcRelConnectsElements> Ifc4x3_rc3::IfcElement::ConnectedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[924], 5)); } -std::vector<::Ifc4x3_rc3::IfcRelInterferesElements> Ifc4x3_rc3::IfcElement::IsInterferedByElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[944], 5)); } -std::vector<::Ifc4x3_rc3::IfcRelInterferesElements> Ifc4x3_rc3::IfcElement::InterferesElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[944], 4)); } -std::vector<::Ifc4x3_rc3::IfcRelProjectsElement> Ifc4x3_rc3::IfcElement::HasProjections() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[947], 4)); } -std::vector<::Ifc4x3_rc3::IfcRelVoidsElement> Ifc4x3_rc3::IfcElement::HasOpenings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[954], 4)); } -std::vector<::Ifc4x3_rc3::IfcRelConnectsWithRealizingElements> Ifc4x3_rc3::IfcElement::IsConnectionRealization() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[931], 7)); } -std::vector<::Ifc4x3_rc3::IfcRelSpaceBoundary> Ifc4x3_rc3::IfcElement::ProvidesBoundaries() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[951], 5)); } -std::vector<::Ifc4x3_rc3::IfcRelConnectsElements> Ifc4x3_rc3::IfcElement::ConnectedFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[924], 6)); } -std::vector<::Ifc4x3_rc3::IfcRelContainedInSpatialStructure> Ifc4x3_rc3::IfcElement::ContainedInStructure() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[932], 4)); } -std::vector<::Ifc4x3_rc3::IfcRelCoversBldgElements> Ifc4x3_rc3::IfcElement::HasCoverings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[933], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelFillsElement> Ifc4x3_rc3::IfcElement::FillsVoids() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[942], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelConnectsElements> Ifc4x3_rc3::IfcElement::ConnectedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[924], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelInterferesElements> Ifc4x3_rc3::IfcElement::IsInterferedByElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[944], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelInterferesElements> Ifc4x3_rc3::IfcElement::InterferesElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[944], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelProjectsElement> Ifc4x3_rc3::IfcElement::HasProjections() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[947], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelVoidsElement> Ifc4x3_rc3::IfcElement::HasOpenings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[954], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelConnectsWithRealizingElements> Ifc4x3_rc3::IfcElement::IsConnectionRealization() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[931], 7)); } +std::vector<::Ifc4x3_rc3::IfcRelSpaceBoundary> Ifc4x3_rc3::IfcElement::ProvidesBoundaries() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[951], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelConnectsElements> Ifc4x3_rc3::IfcElement::ConnectedFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[924], 6)); } +std::vector<::Ifc4x3_rc3::IfcRelContainedInSpatialStructure> Ifc4x3_rc3::IfcElement::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[932], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelCoversBldgElements> Ifc4x3_rc3::IfcElement::HasCoverings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[933], 4)); } // const IfcParse::entity& Ifc4x3_rc3::IfcElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[399]); } const IfcParse::entity& Ifc4x3_rc3::IfcElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[399]); } @@ -11105,7 +11105,7 @@ 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[434], 2)); } +std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[434], 2)); } // const IfcParse::entity& Ifc4x3_rc3::IfcExternalReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[433]); } const IfcParse::entity& Ifc4x3_rc3::IfcExternalReference::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[433]); } @@ -11128,7 +11128,7 @@ const IfcParse::entity& Ifc4x3_rc3::IfcExternalReferenceRelationship::Class() { 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, EnumerationReference(&::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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[951], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelSpaceBoundary> Ifc4x3_rc3::IfcExternalSpatialElement::BoundedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[951], 4)); } // const IfcParse::entity& Ifc4x3_rc3::IfcExternalSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[435]); } const IfcParse::entity& Ifc4x3_rc3::IfcExternalSpatialElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[435]); } @@ -11193,7 +11193,7 @@ const IfcParse::entity& Ifc4x3_rc3::IfcExtrudedAreaSolidTapered::Class() { retur 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[1199], 2)); } +std::vector<::Ifc4x3_rc3::IfcTextureMap> Ifc4x3_rc3::IfcFace::HasTextureMaps() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[1199], 2)); } // const IfcParse::entity& Ifc4x3_rc3::IfcFace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[440]); } const IfcParse::entity& Ifc4x3_rc3::IfcFace::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[440]); } @@ -11350,7 +11350,7 @@ const IfcParse::entity& Ifc4x3_rc3::IfcFeatureElement::Class() { return *((IfcPa // Function implementations for IfcFeatureElementAddition -std::vector<::Ifc4x3_rc3::IfcRelProjectsElement> Ifc4x3_rc3::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[947], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelProjectsElement> Ifc4x3_rc3::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[947], 5)); } // const IfcParse::entity& Ifc4x3_rc3::IfcFeatureElementAddition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[460]); } const IfcParse::entity& Ifc4x3_rc3::IfcFeatureElementAddition::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[460]); } @@ -11359,7 +11359,7 @@ const IfcParse::entity& Ifc4x3_rc3::IfcFeatureElementAddition::Class() { return // Function implementations for IfcFeatureElementSubtraction -std::vector<::Ifc4x3_rc3::IfcRelVoidsElement> Ifc4x3_rc3::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[954], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelVoidsElement> Ifc4x3_rc3::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[954], 5)); } // const IfcParse::entity& Ifc4x3_rc3::IfcFeatureElementSubtraction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[461]); } const IfcParse::entity& Ifc4x3_rc3::IfcFeatureElementSubtraction::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[461]); } @@ -11708,8 +11708,8 @@ void Ifc4x3_rc3::IfcGeometricRepresentationContext::setWorldCoordinateSystem(con ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[514], 6)); } -std::vector<::Ifc4x3_rc3::IfcCoordinateOperation> Ifc4x3_rc3::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[245], 0)); } +std::vector<::Ifc4x3_rc3::IfcGeometricRepresentationSubContext> Ifc4x3_rc3::IfcGeometricRepresentationContext::HasSubContexts() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[514], 6)); } +std::vector<::Ifc4x3_rc3::IfcCoordinateOperation> Ifc4x3_rc3::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[245], 0)); } // const IfcParse::entity& Ifc4x3_rc3::IfcGeometricRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[512]); } const IfcParse::entity& Ifc4x3_rc3::IfcGeometricRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[512]); } @@ -11826,10 +11826,10 @@ void Ifc4x3_rc3::IfcGridAxis::setAxisCurve(const ::Ifc4x3_rc3::IfcCurve& v) { se 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[525], 9)); } -std::vector<::Ifc4x3_rc3::IfcGrid> Ifc4x3_rc3::IfcGridAxis::PartOfV() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[525], 8)); } -std::vector<::Ifc4x3_rc3::IfcGrid> Ifc4x3_rc3::IfcGridAxis::PartOfU() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[525], 7)); } -std::vector<::Ifc4x3_rc3::IfcVirtualGridIntersection> Ifc4x3_rc3::IfcGridAxis::HasIntersections() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[1277], 0)); } +std::vector<::Ifc4x3_rc3::IfcGrid> Ifc4x3_rc3::IfcGridAxis::PartOfW() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[525], 9)); } +std::vector<::Ifc4x3_rc3::IfcGrid> Ifc4x3_rc3::IfcGridAxis::PartOfV() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[525], 8)); } +std::vector<::Ifc4x3_rc3::IfcGrid> Ifc4x3_rc3::IfcGridAxis::PartOfU() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[525], 7)); } +std::vector<::Ifc4x3_rc3::IfcVirtualGridIntersection> Ifc4x3_rc3::IfcGridAxis::HasIntersections() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[1277], 0)); } // const IfcParse::entity& Ifc4x3_rc3::IfcGridAxis::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[526]); } const IfcParse::entity& Ifc4x3_rc3::IfcGridAxis::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[526]); } @@ -11850,7 +11850,7 @@ const IfcParse::entity& Ifc4x3_rc3::IfcGridPlacement::Class() { return *((IfcPar // Function implementations for IfcGroup -std::vector<::Ifc4x3_rc3::IfcRelAssignsToGroup> Ifc4x3_rc3::IfcGroup::IsGroupedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[909], 6)); } +std::vector<::Ifc4x3_rc3::IfcRelAssignsToGroup> Ifc4x3_rc3::IfcGroup::IsGroupedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[909], 6)); } // const IfcParse::entity& Ifc4x3_rc3::IfcGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[530]); } const IfcParse::entity& Ifc4x3_rc3::IfcGroup::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[530]); } @@ -12005,7 +12005,7 @@ const IfcParse::entity& Ifc4x3_rc3::IfcIndexedPolyCurve::Class() { return *((Ifc std::vector< int > /*[3:?]*/ Ifc4x3_rc3::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcIndexedPolygonalFace::setCoordIndex(const std::vector< int > /*[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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[778], 2)); } +std::vector<::Ifc4x3_rc3::IfcPolygonalFaceSet> Ifc4x3_rc3::IfcIndexedPolygonalFace::ToFaceSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[778], 2)); } // const IfcParse::entity& Ifc4x3_rc3::IfcIndexedPolygonalFace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[551]); } const IfcParse::entity& Ifc4x3_rc3::IfcIndexedPolygonalFace::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[551]); } @@ -12240,8 +12240,8 @@ 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[919], 5)); } -std::vector<::Ifc4x3_rc3::IfcLibraryReference> Ifc4x3_rc3::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[591], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelAssociatesLibrary> Ifc4x3_rc3::IfcLibraryInformation::LibraryInfoForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[919], 5)); } +std::vector<::Ifc4x3_rc3::IfcLibraryReference> Ifc4x3_rc3::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[591], 5)); } // const IfcParse::entity& Ifc4x3_rc3::IfcLibraryInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[590]); } const IfcParse::entity& Ifc4x3_rc3::IfcLibraryInformation::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[590]); } @@ -12256,7 +12256,7 @@ void Ifc4x3_rc3::IfcLibraryReference::setLanguage(const std::optional< std::stri ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[919], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelAssociatesLibrary> Ifc4x3_rc3::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[919], 5)); } // const IfcParse::entity& Ifc4x3_rc3::IfcLibraryReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[591]); } const IfcParse::entity& Ifc4x3_rc3::IfcLibraryReference::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[591]); } @@ -12539,9 +12539,9 @@ 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[645], 3)); } -std::vector<::Ifc4x3_rc3::IfcMaterialRelationship> Ifc4x3_rc3::IfcMaterial::IsRelatedWith() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[657], 3)); } -std::vector<::Ifc4x3_rc3::IfcMaterialRelationship> Ifc4x3_rc3::IfcMaterial::RelatesTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[657], 2)); } +std::vector<::Ifc4x3_rc3::IfcMaterialDefinitionRepresentation> Ifc4x3_rc3::IfcMaterial::HasRepresentation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[645], 3)); } +std::vector<::Ifc4x3_rc3::IfcMaterialRelationship> Ifc4x3_rc3::IfcMaterial::IsRelatedWith() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[657], 3)); } +std::vector<::Ifc4x3_rc3::IfcMaterialRelationship> Ifc4x3_rc3::IfcMaterial::RelatesTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[657], 2)); } // const IfcParse::entity& Ifc4x3_rc3::IfcMaterial::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[640]); } const IfcParse::entity& Ifc4x3_rc3::IfcMaterial::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[640]); } @@ -12572,7 +12572,7 @@ void Ifc4x3_rc3::IfcMaterialConstituent::setFraction(const std::optional< double 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[643], 2)); } +std::vector<::Ifc4x3_rc3::IfcMaterialConstituentSet> Ifc4x3_rc3::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[643], 2)); } // const IfcParse::entity& Ifc4x3_rc3::IfcMaterialConstituent::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[642]); } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialConstituent::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[642]); } @@ -12595,9 +12595,9 @@ const IfcParse::entity& Ifc4x3_rc3::IfcMaterialConstituentSet::Class() { return // Function implementations for IfcMaterialDefinition -std::vector<::Ifc4x3_rc3::IfcRelAssociatesMaterial> Ifc4x3_rc3::IfcMaterialDefinition::AssociatedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[920], 5)); } -std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcMaterialDefinition::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[434], 3)); } -std::vector<::Ifc4x3_rc3::IfcMaterialProperties> Ifc4x3_rc3::IfcMaterialDefinition::HasProperties() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[656], 3)); } +std::vector<::Ifc4x3_rc3::IfcRelAssociatesMaterial> Ifc4x3_rc3::IfcMaterialDefinition::AssociatedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[920], 5)); } +std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcMaterialDefinition::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[434], 3)); } +std::vector<::Ifc4x3_rc3::IfcMaterialProperties> Ifc4x3_rc3::IfcMaterialDefinition::HasProperties() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[656], 3)); } // const IfcParse::entity& Ifc4x3_rc3::IfcMaterialDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[644]); } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[644]); } @@ -12630,7 +12630,7 @@ void Ifc4x3_rc3::IfcMaterialLayer::setCategory(const std::optional< std::string std::optional< int > Ifc4x3_rc3::IfcMaterialLayer::Priority() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } int v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcMaterialLayer::setPriority(const std::optional< int >& 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[647], 0)); } +std::vector<::Ifc4x3_rc3::IfcMaterialLayerSet> Ifc4x3_rc3::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[647], 0)); } // const IfcParse::entity& Ifc4x3_rc3::IfcMaterialLayer::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[646]); } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialLayer::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[646]); } @@ -12705,7 +12705,7 @@ void Ifc4x3_rc3::IfcMaterialProfile::setPriority(const std::optional< int >& v) 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[652], 2)); } +std::vector<::Ifc4x3_rc3::IfcMaterialProfileSet> Ifc4x3_rc3::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[652], 2)); } // const IfcParse::entity& Ifc4x3_rc3::IfcMaterialProfile::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[651]); } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialProfile::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[651]); } @@ -12790,7 +12790,7 @@ const IfcParse::entity& Ifc4x3_rc3::IfcMaterialRelationship::Class() { return *( // Function implementations for IfcMaterialUsageDefinition -std::vector<::Ifc4x3_rc3::IfcRelAssociatesMaterial> Ifc4x3_rc3::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[920], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelAssociatesMaterial> Ifc4x3_rc3::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[920], 5)); } // const IfcParse::entity& Ifc4x3_rc3::IfcMaterialUsageDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[659]); } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialUsageDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[659]); } @@ -13015,10 +13015,10 @@ const IfcParse::entity& Ifc4x3_rc3::IfcNavigationElementType::Class() { return * 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[938], 4)); } -std::vector<::Ifc4x3_rc3::IfcRelDefinesByObject> Ifc4x3_rc3::IfcObject::Declares() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[938], 5)); } -std::vector<::Ifc4x3_rc3::IfcRelDefinesByType> Ifc4x3_rc3::IfcObject::IsTypedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[941], 4)); } -std::vector<::Ifc4x3_rc3::IfcRelDefinesByProperties> Ifc4x3_rc3::IfcObject::IsDefinedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[939], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelDefinesByObject> Ifc4x3_rc3::IfcObject::IsDeclaredBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[938], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelDefinesByObject> Ifc4x3_rc3::IfcObject::Declares() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[938], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelDefinesByType> Ifc4x3_rc3::IfcObject::IsTypedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[941], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelDefinesByProperties> Ifc4x3_rc3::IfcObject::IsDefinedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[939], 4)); } // const IfcParse::entity& Ifc4x3_rc3::IfcObject::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[704]); } const IfcParse::entity& Ifc4x3_rc3::IfcObject::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[704]); } @@ -13027,13 +13027,13 @@ const IfcParse::entity& Ifc4x3_rc3::IfcObject::Class() { return *((IfcParse::ent // Function implementations for IfcObjectDefinition -std::vector<::Ifc4x3_rc3::IfcRelAssigns> Ifc4x3_rc3::IfcObjectDefinition::HasAssignments() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[906], 4)); } -std::vector<::Ifc4x3_rc3::IfcRelNests> Ifc4x3_rc3::IfcObjectDefinition::Nests() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[945], 5)); } -std::vector<::Ifc4x3_rc3::IfcRelNests> Ifc4x3_rc3::IfcObjectDefinition::IsNestedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[945], 4)); } -std::vector<::Ifc4x3_rc3::IfcRelDeclares> Ifc4x3_rc3::IfcObjectDefinition::HasContext() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[935], 5)); } -std::vector<::Ifc4x3_rc3::IfcRelAggregates> Ifc4x3_rc3::IfcObjectDefinition::IsDecomposedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[905], 4)); } -std::vector<::Ifc4x3_rc3::IfcRelAggregates> Ifc4x3_rc3::IfcObjectDefinition::Decomposes() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[905], 5)); } -std::vector<::Ifc4x3_rc3::IfcRelAssociates> Ifc4x3_rc3::IfcObjectDefinition::HasAssociations() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[914], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelAssigns> Ifc4x3_rc3::IfcObjectDefinition::HasAssignments() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[906], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelNests> Ifc4x3_rc3::IfcObjectDefinition::Nests() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[945], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelNests> Ifc4x3_rc3::IfcObjectDefinition::IsNestedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[945], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelDeclares> Ifc4x3_rc3::IfcObjectDefinition::HasContext() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[935], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelAggregates> Ifc4x3_rc3::IfcObjectDefinition::IsDecomposedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[905], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelAggregates> Ifc4x3_rc3::IfcObjectDefinition::Decomposes() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[905], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelAssociates> Ifc4x3_rc3::IfcObjectDefinition::HasAssociations() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[914], 4)); } // const IfcParse::entity& Ifc4x3_rc3::IfcObjectDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[705]); } const IfcParse::entity& Ifc4x3_rc3::IfcObjectDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[705]); } @@ -13044,7 +13044,7 @@ const IfcParse::entity& Ifc4x3_rc3::IfcObjectDefinition::Class() { return *((Ifc ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[808], 5)); } +std::vector<::Ifc4x3_rc3::IfcProduct> Ifc4x3_rc3::IfcObjectPlacement::PlacesObject() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[808], 5)); } // const IfcParse::entity& Ifc4x3_rc3::IfcObjectPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[708]); } const IfcParse::entity& Ifc4x3_rc3::IfcObjectPlacement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[708]); } @@ -13153,7 +13153,7 @@ const IfcParse::entity& Ifc4x3_rc3::IfcOpenShell::Class() { return *((IfcParse:: 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, EnumerationReference(&::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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[942], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelFillsElement> Ifc4x3_rc3::IfcOpeningElement::HasFillings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[942], 4)); } // const IfcParse::entity& Ifc4x3_rc3::IfcOpeningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[718]); } const IfcParse::entity& Ifc4x3_rc3::IfcOpeningElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[718]); } @@ -13180,9 +13180,9 @@ void Ifc4x3_rc3::IfcOrganization::setRoles(const std::optional< std::vector< ::I 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[723], 3)); } -std::vector<::Ifc4x3_rc3::IfcOrganizationRelationship> Ifc4x3_rc3::IfcOrganization::Relates() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[723], 2)); } -std::vector<::Ifc4x3_rc3::IfcPersonAndOrganization> Ifc4x3_rc3::IfcOrganization::Engages() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[744], 1)); } +std::vector<::Ifc4x3_rc3::IfcOrganizationRelationship> Ifc4x3_rc3::IfcOrganization::IsRelatedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[723], 3)); } +std::vector<::Ifc4x3_rc3::IfcOrganizationRelationship> Ifc4x3_rc3::IfcOrganization::Relates() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[723], 2)); } +std::vector<::Ifc4x3_rc3::IfcPersonAndOrganization> Ifc4x3_rc3::IfcOrganization::Engages() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[744], 1)); } // const IfcParse::entity& Ifc4x3_rc3::IfcOrganization::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[722]); } const IfcParse::entity& Ifc4x3_rc3::IfcOrganization::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[722]); } @@ -13379,7 +13379,7 @@ void Ifc4x3_rc3::IfcPerson::setRoles(const std::optional< std::vector< ::Ifc4x3_ 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[744], 0)); } +std::vector<::Ifc4x3_rc3::IfcPersonAndOrganization> Ifc4x3_rc3::IfcPerson::EngagedIn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[744], 0)); } // const IfcParse::entity& Ifc4x3_rc3::IfcPerson::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[743]); } const IfcParse::entity& Ifc4x3_rc3::IfcPerson::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[743]); } @@ -13422,8 +13422,8 @@ 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[434], 3)); } -std::vector<::Ifc4x3_rc3::IfcPhysicalComplexQuantity> Ifc4x3_rc3::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[746], 2)); } +std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcPhysicalQuantity::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[434], 3)); } +std::vector<::Ifc4x3_rc3::IfcPhysicalComplexQuantity> Ifc4x3_rc3::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[746], 2)); } // const IfcParse::entity& Ifc4x3_rc3::IfcPhysicalQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[748]); } const IfcParse::entity& Ifc4x3_rc3::IfcPhysicalQuantity::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[748]); } @@ -13710,9 +13710,9 @@ const IfcParse::entity& Ifc4x3_rc3::IfcPolynomialCurve::Class() { return *((IfcP // Function implementations for IfcPort -std::vector<::Ifc4x3_rc3::IfcRelConnectsPortToElement> Ifc4x3_rc3::IfcPort::ContainedIn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[927], 4)); } -std::vector<::Ifc4x3_rc3::IfcRelConnectsPorts> Ifc4x3_rc3::IfcPort::ConnectedFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[926], 5)); } -std::vector<::Ifc4x3_rc3::IfcRelConnectsPorts> Ifc4x3_rc3::IfcPort::ConnectedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[926], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelConnectsPortToElement> Ifc4x3_rc3::IfcPort::ContainedIn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[927], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelConnectsPorts> Ifc4x3_rc3::IfcPort::ConnectedFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[926], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelConnectsPorts> Ifc4x3_rc3::IfcPort::ConnectedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[926], 4)); } // const IfcParse::entity& Ifc4x3_rc3::IfcPort::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[782]); } const IfcParse::entity& Ifc4x3_rc3::IfcPort::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[782]); } @@ -13721,8 +13721,8 @@ const IfcParse::entity& Ifc4x3_rc3::IfcPort::Class() { return *((IfcParse::entit // Function implementations for IfcPositioningElement -std::vector<::Ifc4x3_rc3::IfcRelContainedInSpatialStructure> Ifc4x3_rc3::IfcPositioningElement::ContainedInStructure() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[932], 4)); } -std::vector<::Ifc4x3_rc3::IfcRelPositions> Ifc4x3_rc3::IfcPositioningElement::Positions() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[946], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelContainedInSpatialStructure> Ifc4x3_rc3::IfcPositioningElement::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[932], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelPositions> Ifc4x3_rc3::IfcPositioningElement::Positions() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[946], 4)); } // const IfcParse::entity& Ifc4x3_rc3::IfcPositioningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[783]); } const IfcParse::entity& Ifc4x3_rc3::IfcPositioningElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[783]); } @@ -13877,9 +13877,9 @@ 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[949], 4)); } -std::vector<::Ifc4x3_rc3::IfcRelSequence> Ifc4x3_rc3::IfcProcess::IsSuccessorFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[949], 5)); } -std::vector<::Ifc4x3_rc3::IfcRelAssignsToProcess> Ifc4x3_rc3::IfcProcess::OperatesOn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[911], 6)); } +std::vector<::Ifc4x3_rc3::IfcRelSequence> Ifc4x3_rc3::IfcProcess::IsPredecessorTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[949], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelSequence> Ifc4x3_rc3::IfcProcess::IsSuccessorFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[949], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelAssignsToProcess> Ifc4x3_rc3::IfcProcess::OperatesOn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[911], 6)); } // const IfcParse::entity& Ifc4x3_rc3::IfcProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[806]); } const IfcParse::entity& Ifc4x3_rc3::IfcProcess::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[806]); } @@ -13892,9 +13892,9 @@ void Ifc4x3_rc3::IfcProduct::setObjectPlacement(const ::Ifc4x3_rc3::IfcObjectPla ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[912], 6)); } -std::vector<::Ifc4x3_rc3::IfcRelPositions> Ifc4x3_rc3::IfcProduct::PositionedRelativeTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[946], 5)); } -std::vector<::Ifc4x3_rc3::IfcRelReferencedInSpatialStructure> Ifc4x3_rc3::IfcProduct::ReferencedInStructures() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[948], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelAssignsToProduct> Ifc4x3_rc3::IfcProduct::ReferencedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[912], 6)); } +std::vector<::Ifc4x3_rc3::IfcRelPositions> Ifc4x3_rc3::IfcProduct::PositionedRelativeTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[946], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelReferencedInSpatialStructure> Ifc4x3_rc3::IfcProduct::ReferencedInStructures() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[948], 4)); } // const IfcParse::entity& Ifc4x3_rc3::IfcProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[808]); } const IfcParse::entity& Ifc4x3_rc3::IfcProduct::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[808]); } @@ -13903,8 +13903,8 @@ const IfcParse::entity& Ifc4x3_rc3::IfcProduct::Class() { return *((IfcParse::en // Function implementations for IfcProductDefinitionShape -std::vector<::Ifc4x3_rc3::IfcProduct> Ifc4x3_rc3::IfcProductDefinitionShape::ShapeOfProduct() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[808], 6)); } -std::vector<::Ifc4x3_rc3::IfcShapeAspect> Ifc4x3_rc3::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[1009], 4)); } +std::vector<::Ifc4x3_rc3::IfcProduct> Ifc4x3_rc3::IfcProductDefinitionShape::ShapeOfProduct() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[808], 6)); } +std::vector<::Ifc4x3_rc3::IfcShapeAspect> Ifc4x3_rc3::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[1009], 4)); } // const IfcParse::entity& Ifc4x3_rc3::IfcProductDefinitionShape::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[809]); } const IfcParse::entity& Ifc4x3_rc3::IfcProductDefinitionShape::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[809]); } @@ -13931,8 +13931,8 @@ 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[434], 3)); } -std::vector<::Ifc4x3_rc3::IfcProfileProperties> Ifc4x3_rc3::IfcProfileDef::HasProperties() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[814], 3)); } +std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcProfileDef::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[434], 3)); } +std::vector<::Ifc4x3_rc3::IfcProfileProperties> Ifc4x3_rc3::IfcProfileDef::HasProperties() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[814], 3)); } // const IfcParse::entity& Ifc4x3_rc3::IfcProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[813]); } const IfcParse::entity& Ifc4x3_rc3::IfcProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[813]); } @@ -14009,12 +14009,12 @@ 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[833], 4)); } -std::vector<::Ifc4x3_rc3::IfcPropertyDependencyRelationship> Ifc4x3_rc3::IfcProperty::PropertyForDependance() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[828], 2)); } -std::vector<::Ifc4x3_rc3::IfcPropertyDependencyRelationship> Ifc4x3_rc3::IfcProperty::PropertyDependsOn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[828], 3)); } -std::vector<::Ifc4x3_rc3::IfcComplexProperty> Ifc4x3_rc3::IfcProperty::PartOfComplex() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[191], 3)); } -std::vector<::Ifc4x3_rc3::IfcResourceConstraintRelationship> Ifc4x3_rc3::IfcProperty::HasConstraints() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[962], 3)); } -std::vector<::Ifc4x3_rc3::IfcResourceApprovalRelationship> Ifc4x3_rc3::IfcProperty::HasApprovals() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[961], 2)); } +std::vector<::Ifc4x3_rc3::IfcPropertySet> Ifc4x3_rc3::IfcProperty::PartOfPset() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[833], 4)); } +std::vector<::Ifc4x3_rc3::IfcPropertyDependencyRelationship> Ifc4x3_rc3::IfcProperty::PropertyForDependance() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[828], 2)); } +std::vector<::Ifc4x3_rc3::IfcPropertyDependencyRelationship> Ifc4x3_rc3::IfcProperty::PropertyDependsOn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[828], 3)); } +std::vector<::Ifc4x3_rc3::IfcComplexProperty> Ifc4x3_rc3::IfcProperty::PartOfComplex() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[191], 3)); } +std::vector<::Ifc4x3_rc3::IfcResourceConstraintRelationship> Ifc4x3_rc3::IfcProperty::HasConstraints() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[962], 3)); } +std::vector<::Ifc4x3_rc3::IfcResourceApprovalRelationship> Ifc4x3_rc3::IfcProperty::HasApprovals() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[961], 2)); } // const IfcParse::entity& Ifc4x3_rc3::IfcProperty::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[824]); } const IfcParse::entity& Ifc4x3_rc3::IfcProperty::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[824]); } @@ -14023,7 +14023,7 @@ const IfcParse::entity& Ifc4x3_rc3::IfcProperty::Class() { return *((IfcParse::e // Function implementations for IfcPropertyAbstraction -std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[434], 3)); } +std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[434], 3)); } // const IfcParse::entity& Ifc4x3_rc3::IfcPropertyAbstraction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[825]); } const IfcParse::entity& Ifc4x3_rc3::IfcPropertyAbstraction::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[825]); } @@ -14048,8 +14048,8 @@ const IfcParse::entity& Ifc4x3_rc3::IfcPropertyBoundedValue::Class() { return *( // Function implementations for IfcPropertyDefinition -std::vector<::Ifc4x3_rc3::IfcRelDeclares> Ifc4x3_rc3::IfcPropertyDefinition::HasContext() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[935], 5)); } -std::vector<::Ifc4x3_rc3::IfcRelAssociates> Ifc4x3_rc3::IfcPropertyDefinition::HasAssociations() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[914], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelDeclares> Ifc4x3_rc3::IfcPropertyDefinition::HasContext() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[935], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelAssociates> Ifc4x3_rc3::IfcPropertyDefinition::HasAssociations() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[914], 4)); } // const IfcParse::entity& Ifc4x3_rc3::IfcPropertyDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[827]); } const IfcParse::entity& Ifc4x3_rc3::IfcPropertyDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[827]); } @@ -14132,9 +14132,9 @@ const IfcParse::entity& Ifc4x3_rc3::IfcPropertySet::Class() { return *((IfcParse // Function implementations for IfcPropertySetDefinition -std::vector<::Ifc4x3_rc3::IfcTypeObject> Ifc4x3_rc3::IfcPropertySetDefinition::DefinesType() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[1244], 5)); } -std::vector<::Ifc4x3_rc3::IfcRelDefinesByTemplate> Ifc4x3_rc3::IfcPropertySetDefinition::IsDefinedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[940], 4)); } -std::vector<::Ifc4x3_rc3::IfcRelDefinesByProperties> Ifc4x3_rc3::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[939], 5)); } +std::vector<::Ifc4x3_rc3::IfcTypeObject> Ifc4x3_rc3::IfcPropertySetDefinition::DefinesType() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[1244], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelDefinesByTemplate> Ifc4x3_rc3::IfcPropertySetDefinition::IsDefinedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[940], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelDefinesByProperties> Ifc4x3_rc3::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[939], 5)); } // const IfcParse::entity& Ifc4x3_rc3::IfcPropertySetDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[834]); } const IfcParse::entity& Ifc4x3_rc3::IfcPropertySetDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[834]); } @@ -14149,7 +14149,7 @@ void Ifc4x3_rc3::IfcPropertySetTemplate::setApplicableEntity(const std::optional 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[940], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelDefinesByTemplate> Ifc4x3_rc3::IfcPropertySetTemplate::Defines() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[940], 5)); } // const IfcParse::entity& Ifc4x3_rc3::IfcPropertySetTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[837]); } const IfcParse::entity& Ifc4x3_rc3::IfcPropertySetTemplate::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[837]); } @@ -14190,8 +14190,8 @@ const IfcParse::entity& Ifc4x3_rc3::IfcPropertyTableValue::Class() { return *((I // Function implementations for IfcPropertyTemplate -std::vector<::Ifc4x3_rc3::IfcComplexPropertyTemplate> Ifc4x3_rc3::IfcPropertyTemplate::PartOfComplexTemplate() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[192], 6)); } -std::vector<::Ifc4x3_rc3::IfcPropertySetTemplate> Ifc4x3_rc3::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[837], 6)); } +std::vector<::Ifc4x3_rc3::IfcComplexPropertyTemplate> Ifc4x3_rc3::IfcPropertyTemplate::PartOfComplexTemplate() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[192], 6)); } +std::vector<::Ifc4x3_rc3::IfcPropertySetTemplate> Ifc4x3_rc3::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[837], 6)); } // const IfcParse::entity& Ifc4x3_rc3::IfcPropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[841]); } const IfcParse::entity& Ifc4x3_rc3::IfcPropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[841]); } @@ -15304,7 +15304,7 @@ const IfcParse::entity& Ifc4x3_rc3::IfcRelSpaceBoundary::Class() { return *((Ifc ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[952], 9)); } +std::vector<::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel> Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[952], 9)); } // const IfcParse::entity& Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[952]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[952]); } @@ -15315,7 +15315,7 @@ const IfcParse::entity& Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel::Class() { retur ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[953], 10)); } +std::vector<::Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel> Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[953], 10)); } // const IfcParse::entity& Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[953]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[953]); } @@ -15362,9 +15362,9 @@ void Ifc4x3_rc3::IfcRepresentation::setRepresentationType(const std::optional< s 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[959], 1)); } -std::vector<::Ifc4x3_rc3::IfcPresentationLayerAssignment> Ifc4x3_rc3::IfcRepresentation::LayerAssignments() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[799], 2)); } -std::vector<::Ifc4x3_rc3::IfcProductRepresentation> Ifc4x3_rc3::IfcRepresentation::OfProductRepresentation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[810], 2)); } +std::vector<::Ifc4x3_rc3::IfcRepresentationMap> Ifc4x3_rc3::IfcRepresentation::RepresentationMap() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[959], 1)); } +std::vector<::Ifc4x3_rc3::IfcPresentationLayerAssignment> Ifc4x3_rc3::IfcRepresentation::LayerAssignments() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[799], 2)); } +std::vector<::Ifc4x3_rc3::IfcProductRepresentation> Ifc4x3_rc3::IfcRepresentation::OfProductRepresentation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[810], 2)); } // const IfcParse::entity& Ifc4x3_rc3::IfcRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[956]); } const IfcParse::entity& Ifc4x3_rc3::IfcRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[956]); } @@ -15377,7 +15377,7 @@ 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[956], 0)); } +std::vector<::Ifc4x3_rc3::IfcRepresentation> Ifc4x3_rc3::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[956], 0)); } // const IfcParse::entity& Ifc4x3_rc3::IfcRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[957]); } const IfcParse::entity& Ifc4x3_rc3::IfcRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[957]); } @@ -15386,8 +15386,8 @@ const IfcParse::entity& Ifc4x3_rc3::IfcRepresentationContext::Class() { return * // Function implementations for IfcRepresentationItem -std::vector<::Ifc4x3_rc3::IfcPresentationLayerAssignment> Ifc4x3_rc3::IfcRepresentationItem::LayerAssignment() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[799], 2)); } -std::vector<::Ifc4x3_rc3::IfcStyledItem> Ifc4x3_rc3::IfcRepresentationItem::StyledByItem() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[1122], 0)); } +std::vector<::Ifc4x3_rc3::IfcPresentationLayerAssignment> Ifc4x3_rc3::IfcRepresentationItem::LayerAssignment() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[799], 2)); } +std::vector<::Ifc4x3_rc3::IfcStyledItem> Ifc4x3_rc3::IfcRepresentationItem::StyledByItem() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[1122], 0)); } // const IfcParse::entity& Ifc4x3_rc3::IfcRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[958]); } const IfcParse::entity& Ifc4x3_rc3::IfcRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[958]); } @@ -15400,8 +15400,8 @@ void Ifc4x3_rc3::IfcRepresentationMap::setMappingOrigin(const ::Ifc4x3_rc3::IfcA ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[1009], 4)); } -std::vector<::Ifc4x3_rc3::IfcMappedItem> Ifc4x3_rc3::IfcRepresentationMap::MapUsage() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[632], 0)); } +std::vector<::Ifc4x3_rc3::IfcShapeAspect> Ifc4x3_rc3::IfcRepresentationMap::HasShapeAspects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[1009], 4)); } +std::vector<::Ifc4x3_rc3::IfcMappedItem> Ifc4x3_rc3::IfcRepresentationMap::MapUsage() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[632], 0)); } // const IfcParse::entity& Ifc4x3_rc3::IfcRepresentationMap::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[959]); } const IfcParse::entity& Ifc4x3_rc3::IfcRepresentationMap::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[959]); } @@ -15414,7 +15414,7 @@ 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[913], 6)); } +std::vector<::Ifc4x3_rc3::IfcRelAssignsToResource> Ifc4x3_rc3::IfcResource::ResourceOf() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[913], 6)); } // const IfcParse::entity& Ifc4x3_rc3::IfcResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[960]); } const IfcParse::entity& Ifc4x3_rc3::IfcResource::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[960]); } @@ -15757,7 +15757,7 @@ const IfcParse::entity& Ifc4x3_rc3::IfcSectionedSurface::Class() { return *((Ifc ::Ifc4x3_rc3::IfcTransitionCode::Value Ifc4x3_rc3::IfcSegment::Transition() const { return ::Ifc4x3_rc3::IfcTransitionCode::FromString(get_attribute_value(0)); } void Ifc4x3_rc3::IfcSegment::setTransition(const ::Ifc4x3_rc3::IfcTransitionCode::Value& v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_rc3::IfcTransitionCode::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -std::vector<::Ifc4x3_rc3::IfcCompositeCurve> Ifc4x3_rc3::IfcSegment::UsingCurves() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[194], 0)); } +std::vector<::Ifc4x3_rc3::IfcCompositeCurve> Ifc4x3_rc3::IfcSegment::UsingCurves() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[194], 0)); } // const IfcParse::entity& Ifc4x3_rc3::IfcSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[999]); } const IfcParse::entity& Ifc4x3_rc3::IfcSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[999]); } @@ -15828,7 +15828,7 @@ void Ifc4x3_rc3::IfcShapeAspect::setProductDefinitional(const boost::logic::trib ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[434], 3)); } +std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcShapeAspect::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[434], 3)); } // const IfcParse::entity& Ifc4x3_rc3::IfcShapeAspect::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1009]); } const IfcParse::entity& Ifc4x3_rc3::IfcShapeAspect::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1009]); } @@ -15837,7 +15837,7 @@ const IfcParse::entity& Ifc4x3_rc3::IfcShapeAspect::Class() { return *((IfcParse // Function implementations for IfcShapeModel -std::vector<::Ifc4x3_rc3::IfcShapeAspect> Ifc4x3_rc3::IfcShapeModel::OfShapeAspect() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[1009], 0)); } +std::vector<::Ifc4x3_rc3::IfcShapeAspect> Ifc4x3_rc3::IfcShapeModel::OfShapeAspect() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[1009], 0)); } // const IfcParse::entity& Ifc4x3_rc3::IfcShapeModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1010]); } const IfcParse::entity& Ifc4x3_rc3::IfcShapeModel::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1010]); } @@ -16056,8 +16056,8 @@ 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[934], 4)); } -std::vector<::Ifc4x3_rc3::IfcRelSpaceBoundary> Ifc4x3_rc3::IfcSpace::BoundedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[951], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelCoversSpaces> Ifc4x3_rc3::IfcSpace::HasCoverings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[934], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelSpaceBoundary> Ifc4x3_rc3::IfcSpace::BoundedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[951], 4)); } // const IfcParse::entity& Ifc4x3_rc3::IfcSpace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1048]); } const IfcParse::entity& Ifc4x3_rc3::IfcSpace::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1048]); } @@ -16100,9 +16100,9 @@ const IfcParse::entity& Ifc4x3_rc3::IfcSpaceType::Class() { return *((IfcParse:: 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[932], 5)); } -std::vector<::Ifc4x3_rc3::IfcRelServicesBuildings> Ifc4x3_rc3::IfcSpatialElement::ServicedBySystems() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[950], 5)); } -std::vector<::Ifc4x3_rc3::IfcRelReferencedInSpatialStructure> Ifc4x3_rc3::IfcSpatialElement::ReferencesElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[948], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelContainedInSpatialStructure> Ifc4x3_rc3::IfcSpatialElement::ContainsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[932], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelServicesBuildings> Ifc4x3_rc3::IfcSpatialElement::ServicedBySystems() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[950], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelReferencedInSpatialStructure> Ifc4x3_rc3::IfcSpatialElement::ReferencesElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[948], 5)); } // const IfcParse::entity& Ifc4x3_rc3::IfcSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1055]); } const IfcParse::entity& Ifc4x3_rc3::IfcSpatialElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1055]); } @@ -16273,7 +16273,7 @@ void Ifc4x3_rc3::IfcStructuralActivity::setAppliedLoad(const ::Ifc4x3_rc3::IfcSt ::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, EnumerationReference(&::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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[928], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelConnectsStructuralActivity> Ifc4x3_rc3::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[928], 5)); } // const IfcParse::entity& Ifc4x3_rc3::IfcStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1081]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralActivity::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1081]); } @@ -16302,7 +16302,7 @@ const IfcParse::entity& Ifc4x3_rc3::IfcStructuralAnalysisModel::Class() { return ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[929], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelConnectsStructuralMember> Ifc4x3_rc3::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[929], 5)); } // const IfcParse::entity& Ifc4x3_rc3::IfcStructuralConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1084]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralConnection::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1084]); } @@ -16373,7 +16373,7 @@ const IfcParse::entity& Ifc4x3_rc3::IfcStructuralCurveReaction::Class() { return // Function implementations for IfcStructuralItem -std::vector<::Ifc4x3_rc3::IfcRelConnectsStructuralActivity> Ifc4x3_rc3::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[928], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelConnectsStructuralActivity> Ifc4x3_rc3::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[928], 4)); } // const IfcParse::entity& Ifc4x3_rc3::IfcStructuralItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1093]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralItem::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1093]); } @@ -16432,8 +16432,8 @@ 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[1114], 6)); } -std::vector<::Ifc4x3_rc3::IfcStructuralAnalysisModel> Ifc4x3_rc3::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[1083], 7)); } +std::vector<::Ifc4x3_rc3::IfcStructuralResultGroup> Ifc4x3_rc3::IfcStructuralLoadGroup::SourceOfResultGroup() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[1114], 6)); } +std::vector<::Ifc4x3_rc3::IfcStructuralAnalysisModel> Ifc4x3_rc3::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[1083], 7)); } // const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1098]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadGroup::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1098]); } @@ -16566,7 +16566,7 @@ const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadTemperature::Class() { retu // Function implementations for IfcStructuralMember -std::vector<::Ifc4x3_rc3::IfcRelConnectsStructuralMember> Ifc4x3_rc3::IfcStructuralMember::ConnectedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[929], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelConnectsStructuralMember> Ifc4x3_rc3::IfcStructuralMember::ConnectedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[929], 4)); } // const IfcParse::entity& Ifc4x3_rc3::IfcStructuralMember::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1108]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralMember::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1108]); } @@ -16623,7 +16623,7 @@ void Ifc4x3_rc3::IfcStructuralResultGroup::setResultForLoadGroup(const ::Ifc4x3_ 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[1083], 8)); } +std::vector<::Ifc4x3_rc3::IfcStructuralAnalysisModel> Ifc4x3_rc3::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[1083], 8)); } // const IfcParse::entity& Ifc4x3_rc3::IfcStructuralResultGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1114]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralResultGroup::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1114]); } @@ -16914,8 +16914,8 @@ void Ifc4x3_rc3::IfcSurfaceTexture::setTextureTransform(const ::Ifc4x3_rc3::IfcC 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[1197], 0)); } -std::vector<::Ifc4x3_rc3::IfcSurfaceStyleWithTextures> Ifc4x3_rc3::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[1145], 0)); } +std::vector<::Ifc4x3_rc3::IfcTextureCoordinate> Ifc4x3_rc3::IfcSurfaceTexture::IsMappedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[1197], 0)); } +std::vector<::Ifc4x3_rc3::IfcSurfaceStyleWithTextures> Ifc4x3_rc3::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[1145], 0)); } // const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1146]); } const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceTexture::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1146]); } @@ -16996,8 +16996,8 @@ const IfcParse::entity& Ifc4x3_rc3::IfcSwitchingDeviceType::Class() { return *(( // Function implementations for IfcSystem -std::vector<::Ifc4x3_rc3::IfcRelServicesBuildings> Ifc4x3_rc3::IfcSystem::ServicesBuildings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[950], 4)); } -std::vector<::Ifc4x3_rc3::IfcRelReferencedInSpatialStructure> Ifc4x3_rc3::IfcSystem::ServicesFacilities() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[948], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelServicesBuildings> Ifc4x3_rc3::IfcSystem::ServicesBuildings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[950], 4)); } +std::vector<::Ifc4x3_rc3::IfcRelReferencedInSpatialStructure> Ifc4x3_rc3::IfcSystem::ServicesFacilities() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[948], 4)); } // const IfcParse::entity& Ifc4x3_rc3::IfcSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1154]); } const IfcParse::entity& Ifc4x3_rc3::IfcSystem::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1154]); } @@ -17302,8 +17302,8 @@ const IfcParse::entity& Ifc4x3_rc3::IfcTendonType::Class() { return *((IfcParse: ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[549], 0)); } -std::vector<::Ifc4x3_rc3::IfcIndexedTextureMap> Ifc4x3_rc3::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[553], 1)); } +std::vector<::Ifc4x3_rc3::IfcIndexedColourMap> Ifc4x3_rc3::IfcTessellatedFaceSet::HasColours() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[549], 0)); } +std::vector<::Ifc4x3_rc3::IfcIndexedTextureMap> Ifc4x3_rc3::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[553], 1)); } // const IfcParse::entity& Ifc4x3_rc3::IfcTessellatedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1182]); } const IfcParse::entity& Ifc4x3_rc3::IfcTessellatedFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1182]); } @@ -17512,7 +17512,7 @@ void Ifc4x3_rc3::IfcTimeSeries::setUserDefinedDataOrigin(const std::optional< st ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[434], 3)); } +std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcTimeSeries::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[434], 3)); } // const IfcParse::entity& Ifc4x3_rc3::IfcTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1213]); } const IfcParse::entity& Ifc4x3_rc3::IfcTimeSeries::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1213]); } @@ -17703,7 +17703,7 @@ void Ifc4x3_rc3::IfcTypeObject::setApplicableOccurrence(const std::optional< std 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[941], 5)); } +std::vector<::Ifc4x3_rc3::IfcRelDefinesByType> Ifc4x3_rc3::IfcTypeObject::Types() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[941], 5)); } // const IfcParse::entity& Ifc4x3_rc3::IfcTypeObject::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1244]); } const IfcParse::entity& Ifc4x3_rc3::IfcTypeObject::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1244]); } @@ -17718,7 +17718,7 @@ 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[911], 6)); } +std::vector<::Ifc4x3_rc3::IfcRelAssignsToProcess> Ifc4x3_rc3::IfcTypeProcess::OperatesOn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[911], 6)); } // const IfcParse::entity& Ifc4x3_rc3::IfcTypeProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1245]); } const IfcParse::entity& Ifc4x3_rc3::IfcTypeProcess::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1245]); } @@ -17731,7 +17731,7 @@ void Ifc4x3_rc3::IfcTypeProduct::setRepresentationMaps(const std::optional< std: 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[912], 6)); } +std::vector<::Ifc4x3_rc3::IfcRelAssignsToProduct> Ifc4x3_rc3::IfcTypeProduct::ReferencedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[912], 6)); } // const IfcParse::entity& Ifc4x3_rc3::IfcTypeProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1246]); } const IfcParse::entity& Ifc4x3_rc3::IfcTypeProduct::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1246]); } @@ -17746,7 +17746,7 @@ 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(data()->file()->getInverse(data()->id(), IFC4X3_RC3_types[913], 6)); } +std::vector<::Ifc4x3_rc3::IfcRelAssignsToResource> Ifc4x3_rc3::IfcTypeResource::ResourceOf() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC3_types[913], 6)); } // const IfcParse::entity& Ifc4x3_rc3::IfcTypeResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1247]); } const IfcParse::entity& Ifc4x3_rc3::IfcTypeResource::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1247]); } diff --git a/src/ifcparse/Ifc4x3_rc4.cpp b/src/ifcparse/Ifc4x3_rc4.cpp index d0a9a08e00..b01da3a11f 100644 --- a/src/ifcparse/Ifc4x3_rc4.cpp +++ b/src/ifcparse/Ifc4x3_rc4.cpp @@ -7841,7 +7841,7 @@ const IfcParse::entity& Ifc4x3_rc4::IfcActionRequest::Class() { return *((IfcPar ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[906], 6)); } +std::vector<::Ifc4x3_rc4::IfcRelAssignsToActor> Ifc4x3_rc4::IfcActor::IsActingUpon() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[906], 6)); } // const IfcParse::entity& Ifc4x3_rc4::IfcActor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[6]); } const IfcParse::entity& Ifc4x3_rc4::IfcActor::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[6]); } @@ -7856,7 +7856,7 @@ void Ifc4x3_rc4::IfcActorRole::setUserDefinedRole(const std::optional< std::stri std::optional< std::string > Ifc4x3_rc4::IfcActorRole::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcActorRole::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcActorRole::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[433], 3)); } +std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcActorRole::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[433], 3)); } // const IfcParse::entity& Ifc4x3_rc4::IfcActorRole::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[7]); } const IfcParse::entity& Ifc4x3_rc4::IfcActorRole::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[7]); } @@ -7891,8 +7891,8 @@ void Ifc4x3_rc4::IfcAddress::setDescription(const std::optional< std::string >& std::optional< std::string > Ifc4x3_rc4::IfcAddress::UserDefinedPurpose() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcAddress::setUserDefinedPurpose(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x3_rc4::IfcPerson> Ifc4x3_rc4::IfcAddress::OfPerson() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[741], 7)); } -std::vector<::Ifc4x3_rc4::IfcOrganization> Ifc4x3_rc4::IfcAddress::OfOrganization() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[720], 4)); } +std::vector<::Ifc4x3_rc4::IfcPerson> Ifc4x3_rc4::IfcAddress::OfPerson() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[741], 7)); } +std::vector<::Ifc4x3_rc4::IfcOrganization> Ifc4x3_rc4::IfcAddress::OfOrganization() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[720], 4)); } // const IfcParse::entity& Ifc4x3_rc4::IfcAddress::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[12]); } const IfcParse::entity& Ifc4x3_rc4::IfcAddress::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[12]); } @@ -8133,7 +8133,7 @@ const IfcParse::entity& Ifc4x3_rc4::IfcAlignmentVerticalSegment::Class() { retur std::optional< ::Ifc4x3_rc4::IfcAnnotationTypeEnum::Value > Ifc4x3_rc4::IfcAnnotation::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcAnnotationTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc4::IfcAnnotation::setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcAnnotationTypeEnum::Value >& v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc4::IfcAnnotationTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -std::vector<::Ifc4x3_rc4::IfcRelContainedInSpatialStructure> Ifc4x3_rc4::IfcAnnotation::ContainedInStructure() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[931], 4)); } +std::vector<::Ifc4x3_rc4::IfcRelContainedInSpatialStructure> Ifc4x3_rc4::IfcAnnotation::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[931], 4)); } // const IfcParse::entity& Ifc4x3_rc4::IfcAnnotation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[46]); } const IfcParse::entity& Ifc4x3_rc4::IfcAnnotation::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[46]); } @@ -8190,7 +8190,7 @@ void Ifc4x3_rc4::IfcAppliedValue::setArithmeticOperator(const std::optional< ::I 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(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[433], 3)); } +std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcAppliedValue::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[433], 3)); } // const IfcParse::entity& Ifc4x3_rc4::IfcAppliedValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[50]); } const IfcParse::entity& Ifc4x3_rc4::IfcAppliedValue::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[50]); } @@ -8217,11 +8217,11 @@ void Ifc4x3_rc4::IfcApproval::setRequestingApproval(const ::Ifc4x3_rc4::IfcActor ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[433], 3)); } -std::vector<::Ifc4x3_rc4::IfcRelAssociatesApproval> Ifc4x3_rc4::IfcApproval::ApprovedObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[914], 5)); } -std::vector<::Ifc4x3_rc4::IfcResourceApprovalRelationship> Ifc4x3_rc4::IfcApproval::ApprovedResources() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[960], 3)); } -std::vector<::Ifc4x3_rc4::IfcApprovalRelationship> Ifc4x3_rc4::IfcApproval::IsRelatedWith() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[53], 3)); } -std::vector<::Ifc4x3_rc4::IfcApprovalRelationship> Ifc4x3_rc4::IfcApproval::Relates() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[53], 2)); } +std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcApproval::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[433], 3)); } +std::vector<::Ifc4x3_rc4::IfcRelAssociatesApproval> Ifc4x3_rc4::IfcApproval::ApprovedObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[914], 5)); } +std::vector<::Ifc4x3_rc4::IfcResourceApprovalRelationship> Ifc4x3_rc4::IfcApproval::ApprovedResources() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[960], 3)); } +std::vector<::Ifc4x3_rc4::IfcApprovalRelationship> Ifc4x3_rc4::IfcApproval::IsRelatedWith() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[53], 3)); } +std::vector<::Ifc4x3_rc4::IfcApprovalRelationship> Ifc4x3_rc4::IfcApproval::Relates() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[53], 2)); } // const IfcParse::entity& Ifc4x3_rc4::IfcApproval::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[52]); } const IfcParse::entity& Ifc4x3_rc4::IfcApproval::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[52]); } @@ -9174,8 +9174,8 @@ void Ifc4x3_rc4::IfcClassification::setLocation(const std::optional< std::string std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::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_rc4::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_rc4::IfcRelAssociatesClassification> Ifc4x3_rc4::IfcClassification::ClassificationForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[915], 5)); } -std::vector<::Ifc4x3_rc4::IfcClassificationReference> Ifc4x3_rc4::IfcClassification::HasReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[170], 3)); } +std::vector<::Ifc4x3_rc4::IfcRelAssociatesClassification> Ifc4x3_rc4::IfcClassification::ClassificationForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[915], 5)); } +std::vector<::Ifc4x3_rc4::IfcClassificationReference> Ifc4x3_rc4::IfcClassification::HasReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[170], 3)); } // const IfcParse::entity& Ifc4x3_rc4::IfcClassification::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[169]); } const IfcParse::entity& Ifc4x3_rc4::IfcClassification::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[169]); } @@ -9190,8 +9190,8 @@ void Ifc4x3_rc4::IfcClassificationReference::setDescription(const std::optional< std::optional< std::string > Ifc4x3_rc4::IfcClassificationReference::Sort() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcClassificationReference::setSort(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3_rc4::IfcRelAssociatesClassification> Ifc4x3_rc4::IfcClassificationReference::ClassificationRefForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[915], 5)); } -std::vector<::Ifc4x3_rc4::IfcClassificationReference> Ifc4x3_rc4::IfcClassificationReference::HasReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[170], 3)); } +std::vector<::Ifc4x3_rc4::IfcRelAssociatesClassification> Ifc4x3_rc4::IfcClassificationReference::ClassificationRefForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[915], 5)); } +std::vector<::Ifc4x3_rc4::IfcClassificationReference> Ifc4x3_rc4::IfcClassificationReference::HasReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[170], 3)); } // const IfcParse::entity& Ifc4x3_rc4::IfcClassificationReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[170]); } const IfcParse::entity& Ifc4x3_rc4::IfcClassificationReference::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[170]); } @@ -9534,8 +9534,8 @@ void Ifc4x3_rc4::IfcConstraint::setCreationTime(const std::optional< std::string std::optional< std::string > Ifc4x3_rc4::IfcConstraint::UserDefinedGrade() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcConstraint::setUserDefinedGrade(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcConstraint::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[433], 3)); } -std::vector<::Ifc4x3_rc4::IfcResourceConstraintRelationship> Ifc4x3_rc4::IfcConstraint::PropertiesForConstraint() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[961], 2)); } +std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcConstraint::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[433], 3)); } +std::vector<::Ifc4x3_rc4::IfcResourceConstraintRelationship> Ifc4x3_rc4::IfcConstraint::PropertiesForConstraint() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[961], 2)); } // const IfcParse::entity& Ifc4x3_rc4::IfcConstraint::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[214]); } const IfcParse::entity& Ifc4x3_rc4::IfcConstraint::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[214]); } @@ -9640,8 +9640,8 @@ void Ifc4x3_rc4::IfcContext::setRepresentationContexts(const std::optional< std: ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[938], 4)); } -std::vector<::Ifc4x3_rc4::IfcRelDeclares> Ifc4x3_rc4::IfcContext::Declares() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[934], 4)); } +std::vector<::Ifc4x3_rc4::IfcRelDefinesByProperties> Ifc4x3_rc4::IfcContext::IsDefinedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[938], 4)); } +std::vector<::Ifc4x3_rc4::IfcRelDeclares> Ifc4x3_rc4::IfcContext::Declares() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[934], 4)); } // const IfcParse::entity& Ifc4x3_rc4::IfcContext::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[227]); } const IfcParse::entity& Ifc4x3_rc4::IfcContext::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[227]); } @@ -9652,7 +9652,7 @@ const IfcParse::entity& Ifc4x3_rc4::IfcContext::Class() { return *((IfcParse::en std::string Ifc4x3_rc4::IfcContextDependentUnit::Name() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcContextDependentUnit::setName(const std::string& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcContextDependentUnit::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[433], 3)); } +std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcContextDependentUnit::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[433], 3)); } // const IfcParse::entity& Ifc4x3_rc4::IfcContextDependentUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[229]); } const IfcParse::entity& Ifc4x3_rc4::IfcContextDependentUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[229]); } @@ -9663,7 +9663,7 @@ const IfcParse::entity& Ifc4x3_rc4::IfcContextDependentUnit::Class() { return *( std::optional< std::string > Ifc4x3_rc4::IfcControl::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcControl::setIdentification(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3_rc4::IfcRelAssignsToControl> Ifc4x3_rc4::IfcControl::Controls() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[907], 6)); } +std::vector<::Ifc4x3_rc4::IfcRelAssignsToControl> Ifc4x3_rc4::IfcControl::Controls() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[907], 6)); } // const IfcParse::entity& Ifc4x3_rc4::IfcControl::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[230]); } const IfcParse::entity& Ifc4x3_rc4::IfcControl::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[230]); } @@ -9696,7 +9696,7 @@ void Ifc4x3_rc4::IfcConversionBasedUnit::setName(const std::string& v) { set_att ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[433], 3)); } +std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[433], 3)); } // const IfcParse::entity& Ifc4x3_rc4::IfcConversionBasedUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[234]); } const IfcParse::entity& Ifc4x3_rc4::IfcConversionBasedUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[234]); } @@ -9795,7 +9795,7 @@ void Ifc4x3_rc4::IfcCoordinateReferenceSystem::setGeodeticDatum(const std::optio std::optional< std::string > Ifc4x3_rc4::IfcCoordinateReferenceSystem::VerticalDatum() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcCoordinateReferenceSystem::setVerticalDatum(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -std::vector<::Ifc4x3_rc4::IfcCoordinateOperation> Ifc4x3_rc4::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[245], 0)); } +std::vector<::Ifc4x3_rc4::IfcCoordinateOperation> Ifc4x3_rc4::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[245], 0)); } // const IfcParse::entity& Ifc4x3_rc4::IfcCoordinateReferenceSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[246]); } const IfcParse::entity& Ifc4x3_rc4::IfcCoordinateReferenceSystem::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[246]); } @@ -9876,8 +9876,8 @@ const IfcParse::entity& Ifc4x3_rc4::IfcCourseType::Class() { return *((IfcParse: 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)); } void Ifc4x3_rc4::IfcCovering::setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcCoveringTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcCoveringTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_rc4::IfcRelCoversSpaces> Ifc4x3_rc4::IfcCovering::CoversSpaces() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[933], 5)); } -std::vector<::Ifc4x3_rc4::IfcRelCoversBldgElements> Ifc4x3_rc4::IfcCovering::CoversElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[932], 5)); } +std::vector<::Ifc4x3_rc4::IfcRelCoversSpaces> Ifc4x3_rc4::IfcCovering::CoversSpaces() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[933], 5)); } +std::vector<::Ifc4x3_rc4::IfcRelCoversBldgElements> Ifc4x3_rc4::IfcCovering::CoversElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[932], 5)); } // const IfcParse::entity& Ifc4x3_rc4::IfcCovering::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[258]); } const IfcParse::entity& Ifc4x3_rc4::IfcCovering::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[258]); } @@ -10288,7 +10288,7 @@ const IfcParse::entity& Ifc4x3_rc4::IfcDistributionCircuit::Class() { return *(( // Function implementations for IfcDistributionControlElement -std::vector<::Ifc4x3_rc4::IfcRelFlowControlElements> Ifc4x3_rc4::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[942], 4)); } +std::vector<::Ifc4x3_rc4::IfcRelFlowControlElements> Ifc4x3_rc4::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[942], 4)); } // const IfcParse::entity& Ifc4x3_rc4::IfcDistributionControlElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[321]); } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionControlElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[321]); } @@ -10305,7 +10305,7 @@ const IfcParse::entity& Ifc4x3_rc4::IfcDistributionControlElementType::Class() { // Function implementations for IfcDistributionElement -std::vector<::Ifc4x3_rc4::IfcRelConnectsPortToElement> Ifc4x3_rc4::IfcDistributionElement::HasPorts() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[926], 5)); } +std::vector<::Ifc4x3_rc4::IfcRelConnectsPortToElement> Ifc4x3_rc4::IfcDistributionElement::HasPorts() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[926], 5)); } // const IfcParse::entity& Ifc4x3_rc4::IfcDistributionElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[323]); } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[323]); } @@ -10322,7 +10322,7 @@ const IfcParse::entity& Ifc4x3_rc4::IfcDistributionElementType::Class() { return // Function implementations for IfcDistributionFlowElement -std::vector<::Ifc4x3_rc4::IfcRelFlowControlElements> Ifc4x3_rc4::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[942], 5)); } +std::vector<::Ifc4x3_rc4::IfcRelFlowControlElements> Ifc4x3_rc4::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[942], 5)); } // const IfcParse::entity& Ifc4x3_rc4::IfcDistributionFlowElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[325]); } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionFlowElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[325]); } @@ -10399,10 +10399,10 @@ void Ifc4x3_rc4::IfcDocumentInformation::setConfidentiality(const std::optional< std::optional< ::Ifc4x3_rc4::IfcDocumentStatusEnum::Value > Ifc4x3_rc4::IfcDocumentInformation::Status() const { if(get_attribute_value(16).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcDocumentStatusEnum::FromString(get_attribute_value(16)); } void Ifc4x3_rc4::IfcDocumentInformation::setStatus(const std::optional< ::Ifc4x3_rc4::IfcDocumentStatusEnum::Value >& v) { if (v) {set_attribute_value(16, EnumerationReference(&::Ifc4x3_rc4::IfcDocumentStatusEnum::Class(), (size_t) *v));} else {unset_attribute_value(16);} } -std::vector<::Ifc4x3_rc4::IfcRelAssociatesDocument> Ifc4x3_rc4::IfcDocumentInformation::DocumentInfoForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[917], 5)); } -std::vector<::Ifc4x3_rc4::IfcDocumentReference> Ifc4x3_rc4::IfcDocumentInformation::HasDocumentReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[334], 4)); } -std::vector<::Ifc4x3_rc4::IfcDocumentInformationRelationship> Ifc4x3_rc4::IfcDocumentInformation::IsPointedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[333], 3)); } -std::vector<::Ifc4x3_rc4::IfcDocumentInformationRelationship> Ifc4x3_rc4::IfcDocumentInformation::IsPointer() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[333], 2)); } +std::vector<::Ifc4x3_rc4::IfcRelAssociatesDocument> Ifc4x3_rc4::IfcDocumentInformation::DocumentInfoForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[917], 5)); } +std::vector<::Ifc4x3_rc4::IfcDocumentReference> Ifc4x3_rc4::IfcDocumentInformation::HasDocumentReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[334], 4)); } +std::vector<::Ifc4x3_rc4::IfcDocumentInformationRelationship> Ifc4x3_rc4::IfcDocumentInformation::IsPointedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[333], 3)); } +std::vector<::Ifc4x3_rc4::IfcDocumentInformationRelationship> Ifc4x3_rc4::IfcDocumentInformation::IsPointer() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[333], 2)); } // const IfcParse::entity& Ifc4x3_rc4::IfcDocumentInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[332]); } const IfcParse::entity& Ifc4x3_rc4::IfcDocumentInformation::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[332]); } @@ -10429,7 +10429,7 @@ void Ifc4x3_rc4::IfcDocumentReference::setDescription(const std::optional< std:: ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[917], 5)); } +std::vector<::Ifc4x3_rc4::IfcRelAssociatesDocument> Ifc4x3_rc4::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[917], 5)); } // const IfcParse::entity& Ifc4x3_rc4::IfcDocumentReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[334]); } const IfcParse::entity& Ifc4x3_rc4::IfcDocumentReference::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[334]); } @@ -10828,18 +10828,18 @@ const IfcParse::entity& Ifc4x3_rc4::IfcElectricTimeControlType::Class() { return 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; } void Ifc4x3_rc4::IfcElement::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -std::vector<::Ifc4x3_rc4::IfcRelFillsElement> Ifc4x3_rc4::IfcElement::FillsVoids() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[941], 5)); } -std::vector<::Ifc4x3_rc4::IfcRelConnectsElements> Ifc4x3_rc4::IfcElement::ConnectedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[923], 5)); } -std::vector<::Ifc4x3_rc4::IfcRelInterferesElements> Ifc4x3_rc4::IfcElement::IsInterferedByElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[943], 5)); } -std::vector<::Ifc4x3_rc4::IfcRelInterferesElements> Ifc4x3_rc4::IfcElement::InterferesElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[943], 4)); } -std::vector<::Ifc4x3_rc4::IfcRelProjectsElement> Ifc4x3_rc4::IfcElement::HasProjections() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[946], 4)); } -std::vector<::Ifc4x3_rc4::IfcRelVoidsElement> Ifc4x3_rc4::IfcElement::HasOpenings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[953], 4)); } -std::vector<::Ifc4x3_rc4::IfcRelConnectsWithRealizingElements> Ifc4x3_rc4::IfcElement::IsConnectionRealization() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[930], 7)); } -std::vector<::Ifc4x3_rc4::IfcRelSpaceBoundary> Ifc4x3_rc4::IfcElement::ProvidesBoundaries() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[950], 5)); } -std::vector<::Ifc4x3_rc4::IfcRelConnectsElements> Ifc4x3_rc4::IfcElement::ConnectedFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[923], 6)); } -std::vector<::Ifc4x3_rc4::IfcRelContainedInSpatialStructure> Ifc4x3_rc4::IfcElement::ContainedInStructure() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[931], 4)); } -std::vector<::Ifc4x3_rc4::IfcRelCoversBldgElements> Ifc4x3_rc4::IfcElement::HasCoverings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[932], 4)); } -std::vector<::Ifc4x3_rc4::IfcRelAdheresToElement> Ifc4x3_rc4::IfcElement::HasSurfaceFeatures() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[903], 4)); } +std::vector<::Ifc4x3_rc4::IfcRelFillsElement> Ifc4x3_rc4::IfcElement::FillsVoids() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[941], 5)); } +std::vector<::Ifc4x3_rc4::IfcRelConnectsElements> Ifc4x3_rc4::IfcElement::ConnectedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[923], 5)); } +std::vector<::Ifc4x3_rc4::IfcRelInterferesElements> Ifc4x3_rc4::IfcElement::IsInterferedByElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[943], 5)); } +std::vector<::Ifc4x3_rc4::IfcRelInterferesElements> Ifc4x3_rc4::IfcElement::InterferesElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[943], 4)); } +std::vector<::Ifc4x3_rc4::IfcRelProjectsElement> Ifc4x3_rc4::IfcElement::HasProjections() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[946], 4)); } +std::vector<::Ifc4x3_rc4::IfcRelVoidsElement> Ifc4x3_rc4::IfcElement::HasOpenings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[953], 4)); } +std::vector<::Ifc4x3_rc4::IfcRelConnectsWithRealizingElements> Ifc4x3_rc4::IfcElement::IsConnectionRealization() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[930], 7)); } +std::vector<::Ifc4x3_rc4::IfcRelSpaceBoundary> Ifc4x3_rc4::IfcElement::ProvidesBoundaries() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[950], 5)); } +std::vector<::Ifc4x3_rc4::IfcRelConnectsElements> Ifc4x3_rc4::IfcElement::ConnectedFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[923], 6)); } +std::vector<::Ifc4x3_rc4::IfcRelContainedInSpatialStructure> Ifc4x3_rc4::IfcElement::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[931], 4)); } +std::vector<::Ifc4x3_rc4::IfcRelCoversBldgElements> Ifc4x3_rc4::IfcElement::HasCoverings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[932], 4)); } +std::vector<::Ifc4x3_rc4::IfcRelAdheresToElement> Ifc4x3_rc4::IfcElement::HasSurfaceFeatures() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[903], 4)); } // const IfcParse::entity& Ifc4x3_rc4::IfcElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[398]); } const IfcParse::entity& Ifc4x3_rc4::IfcElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[398]); } @@ -11092,7 +11092,7 @@ void Ifc4x3_rc4::IfcExternalReference::setIdentification(const std::optional< st std::optional< std::string > Ifc4x3_rc4::IfcExternalReference::Name() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcExternalReference::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[433], 2)); } +std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[433], 2)); } // const IfcParse::entity& Ifc4x3_rc4::IfcExternalReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[432]); } const IfcParse::entity& Ifc4x3_rc4::IfcExternalReference::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[432]); } @@ -11115,7 +11115,7 @@ const IfcParse::entity& Ifc4x3_rc4::IfcExternalReferenceRelationship::Class() { 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)); } void Ifc4x3_rc4::IfcExternalSpatialElement::setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_rc4::IfcRelSpaceBoundary> Ifc4x3_rc4::IfcExternalSpatialElement::BoundedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[950], 4)); } +std::vector<::Ifc4x3_rc4::IfcRelSpaceBoundary> Ifc4x3_rc4::IfcExternalSpatialElement::BoundedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[950], 4)); } // const IfcParse::entity& Ifc4x3_rc4::IfcExternalSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[434]); } const IfcParse::entity& Ifc4x3_rc4::IfcExternalSpatialElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[434]); } @@ -11180,7 +11180,7 @@ const IfcParse::entity& Ifc4x3_rc4::IfcExtrudedAreaSolidTapered::Class() { retur 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(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[1199], 2)); } +std::vector<::Ifc4x3_rc4::IfcTextureMap> Ifc4x3_rc4::IfcFace::HasTextureMaps() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[1199], 2)); } // const IfcParse::entity& Ifc4x3_rc4::IfcFace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[439]); } const IfcParse::entity& Ifc4x3_rc4::IfcFace::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[439]); } @@ -11337,7 +11337,7 @@ const IfcParse::entity& Ifc4x3_rc4::IfcFeatureElement::Class() { return *((IfcPa // Function implementations for IfcFeatureElementAddition -std::vector<::Ifc4x3_rc4::IfcRelProjectsElement> Ifc4x3_rc4::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[946], 5)); } +std::vector<::Ifc4x3_rc4::IfcRelProjectsElement> Ifc4x3_rc4::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[946], 5)); } // const IfcParse::entity& Ifc4x3_rc4::IfcFeatureElementAddition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[459]); } const IfcParse::entity& Ifc4x3_rc4::IfcFeatureElementAddition::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[459]); } @@ -11346,7 +11346,7 @@ const IfcParse::entity& Ifc4x3_rc4::IfcFeatureElementAddition::Class() { return // Function implementations for IfcFeatureElementSubtraction -std::vector<::Ifc4x3_rc4::IfcRelVoidsElement> Ifc4x3_rc4::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[953], 5)); } +std::vector<::Ifc4x3_rc4::IfcRelVoidsElement> Ifc4x3_rc4::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[953], 5)); } // const IfcParse::entity& Ifc4x3_rc4::IfcFeatureElementSubtraction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[460]); } const IfcParse::entity& Ifc4x3_rc4::IfcFeatureElementSubtraction::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[460]); } @@ -11695,8 +11695,8 @@ void Ifc4x3_rc4::IfcGeometricRepresentationContext::setWorldCoordinateSystem(con ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[513], 6)); } -std::vector<::Ifc4x3_rc4::IfcCoordinateOperation> Ifc4x3_rc4::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[245], 0)); } +std::vector<::Ifc4x3_rc4::IfcGeometricRepresentationSubContext> Ifc4x3_rc4::IfcGeometricRepresentationContext::HasSubContexts() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[513], 6)); } +std::vector<::Ifc4x3_rc4::IfcCoordinateOperation> Ifc4x3_rc4::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[245], 0)); } // const IfcParse::entity& Ifc4x3_rc4::IfcGeometricRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[511]); } const IfcParse::entity& Ifc4x3_rc4::IfcGeometricRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[511]); } @@ -11813,10 +11813,10 @@ void Ifc4x3_rc4::IfcGridAxis::setAxisCurve(const ::Ifc4x3_rc4::IfcCurve& v) { se 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); } -std::vector<::Ifc4x3_rc4::IfcGrid> Ifc4x3_rc4::IfcGridAxis::PartOfW() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[524], 9)); } -std::vector<::Ifc4x3_rc4::IfcGrid> Ifc4x3_rc4::IfcGridAxis::PartOfV() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[524], 8)); } -std::vector<::Ifc4x3_rc4::IfcGrid> Ifc4x3_rc4::IfcGridAxis::PartOfU() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[524], 7)); } -std::vector<::Ifc4x3_rc4::IfcVirtualGridIntersection> Ifc4x3_rc4::IfcGridAxis::HasIntersections() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[1276], 0)); } +std::vector<::Ifc4x3_rc4::IfcGrid> Ifc4x3_rc4::IfcGridAxis::PartOfW() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[524], 9)); } +std::vector<::Ifc4x3_rc4::IfcGrid> Ifc4x3_rc4::IfcGridAxis::PartOfV() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[524], 8)); } +std::vector<::Ifc4x3_rc4::IfcGrid> Ifc4x3_rc4::IfcGridAxis::PartOfU() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[524], 7)); } +std::vector<::Ifc4x3_rc4::IfcVirtualGridIntersection> Ifc4x3_rc4::IfcGridAxis::HasIntersections() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[1276], 0)); } // const IfcParse::entity& Ifc4x3_rc4::IfcGridAxis::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[525]); } const IfcParse::entity& Ifc4x3_rc4::IfcGridAxis::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[525]); } @@ -11837,7 +11837,7 @@ const IfcParse::entity& Ifc4x3_rc4::IfcGridPlacement::Class() { return *((IfcPar // Function implementations for IfcGroup -std::vector<::Ifc4x3_rc4::IfcRelAssignsToGroup> Ifc4x3_rc4::IfcGroup::IsGroupedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[908], 6)); } +std::vector<::Ifc4x3_rc4::IfcRelAssignsToGroup> Ifc4x3_rc4::IfcGroup::IsGroupedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[908], 6)); } // const IfcParse::entity& Ifc4x3_rc4::IfcGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[529]); } const IfcParse::entity& Ifc4x3_rc4::IfcGroup::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[529]); } @@ -11982,7 +11982,7 @@ const IfcParse::entity& Ifc4x3_rc4::IfcIndexedPolyCurve::Class() { return *((Ifc std::vector< int > /*[3:?]*/ Ifc4x3_rc4::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcIndexedPolygonalFace::setCoordIndex(const std::vector< int > /*[3:?]*/& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector<::Ifc4x3_rc4::IfcPolygonalFaceSet> Ifc4x3_rc4::IfcIndexedPolygonalFace::ToFaceSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[776], 2)); } +std::vector<::Ifc4x3_rc4::IfcPolygonalFaceSet> Ifc4x3_rc4::IfcIndexedPolygonalFace::ToFaceSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[776], 2)); } // const IfcParse::entity& Ifc4x3_rc4::IfcIndexedPolygonalFace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[549]); } const IfcParse::entity& Ifc4x3_rc4::IfcIndexedPolygonalFace::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[549]); } @@ -12217,8 +12217,8 @@ void Ifc4x3_rc4::IfcLibraryInformation::setLocation(const std::optional< std::st std::optional< std::string > Ifc4x3_rc4::IfcLibraryInformation::Description() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcLibraryInformation::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3_rc4::IfcRelAssociatesLibrary> Ifc4x3_rc4::IfcLibraryInformation::LibraryInfoForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[918], 5)); } -std::vector<::Ifc4x3_rc4::IfcLibraryReference> Ifc4x3_rc4::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[589], 5)); } +std::vector<::Ifc4x3_rc4::IfcRelAssociatesLibrary> Ifc4x3_rc4::IfcLibraryInformation::LibraryInfoForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[918], 5)); } +std::vector<::Ifc4x3_rc4::IfcLibraryReference> Ifc4x3_rc4::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[589], 5)); } // const IfcParse::entity& Ifc4x3_rc4::IfcLibraryInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[588]); } const IfcParse::entity& Ifc4x3_rc4::IfcLibraryInformation::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[588]); } @@ -12233,7 +12233,7 @@ void Ifc4x3_rc4::IfcLibraryReference::setLanguage(const std::optional< std::stri ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[918], 5)); } +std::vector<::Ifc4x3_rc4::IfcRelAssociatesLibrary> Ifc4x3_rc4::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[918], 5)); } // const IfcParse::entity& Ifc4x3_rc4::IfcLibraryReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[589]); } const IfcParse::entity& Ifc4x3_rc4::IfcLibraryReference::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[589]); } @@ -12516,9 +12516,9 @@ void Ifc4x3_rc4::IfcMaterial::setDescription(const std::optional< std::string >& std::optional< std::string > Ifc4x3_rc4::IfcMaterial::Category() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcMaterial::setCategory(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x3_rc4::IfcMaterialDefinitionRepresentation> Ifc4x3_rc4::IfcMaterial::HasRepresentation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[643], 3)); } -std::vector<::Ifc4x3_rc4::IfcMaterialRelationship> Ifc4x3_rc4::IfcMaterial::IsRelatedWith() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[655], 3)); } -std::vector<::Ifc4x3_rc4::IfcMaterialRelationship> Ifc4x3_rc4::IfcMaterial::RelatesTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[655], 2)); } +std::vector<::Ifc4x3_rc4::IfcMaterialDefinitionRepresentation> Ifc4x3_rc4::IfcMaterial::HasRepresentation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[643], 3)); } +std::vector<::Ifc4x3_rc4::IfcMaterialRelationship> Ifc4x3_rc4::IfcMaterial::IsRelatedWith() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[655], 3)); } +std::vector<::Ifc4x3_rc4::IfcMaterialRelationship> Ifc4x3_rc4::IfcMaterial::RelatesTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[655], 2)); } // const IfcParse::entity& Ifc4x3_rc4::IfcMaterial::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[638]); } const IfcParse::entity& Ifc4x3_rc4::IfcMaterial::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[638]); } @@ -12549,7 +12549,7 @@ void Ifc4x3_rc4::IfcMaterialConstituent::setFraction(const std::optional< double std::optional< std::string > Ifc4x3_rc4::IfcMaterialConstituent::Category() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcMaterialConstituent::setCategory(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector<::Ifc4x3_rc4::IfcMaterialConstituentSet> Ifc4x3_rc4::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[641], 2)); } +std::vector<::Ifc4x3_rc4::IfcMaterialConstituentSet> Ifc4x3_rc4::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[641], 2)); } // const IfcParse::entity& Ifc4x3_rc4::IfcMaterialConstituent::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[640]); } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialConstituent::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[640]); } @@ -12572,9 +12572,9 @@ const IfcParse::entity& Ifc4x3_rc4::IfcMaterialConstituentSet::Class() { return // Function implementations for IfcMaterialDefinition -std::vector<::Ifc4x3_rc4::IfcRelAssociatesMaterial> Ifc4x3_rc4::IfcMaterialDefinition::AssociatedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[919], 5)); } -std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcMaterialDefinition::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[433], 3)); } -std::vector<::Ifc4x3_rc4::IfcMaterialProperties> Ifc4x3_rc4::IfcMaterialDefinition::HasProperties() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[654], 3)); } +std::vector<::Ifc4x3_rc4::IfcRelAssociatesMaterial> Ifc4x3_rc4::IfcMaterialDefinition::AssociatedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[919], 5)); } +std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcMaterialDefinition::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[433], 3)); } +std::vector<::Ifc4x3_rc4::IfcMaterialProperties> Ifc4x3_rc4::IfcMaterialDefinition::HasProperties() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[654], 3)); } // const IfcParse::entity& Ifc4x3_rc4::IfcMaterialDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[642]); } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[642]); } @@ -12607,7 +12607,7 @@ void Ifc4x3_rc4::IfcMaterialLayer::setCategory(const std::optional< std::string std::optional< int > Ifc4x3_rc4::IfcMaterialLayer::Priority() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } int v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcMaterialLayer::setPriority(const std::optional< int >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x3_rc4::IfcMaterialLayerSet> Ifc4x3_rc4::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[645], 0)); } +std::vector<::Ifc4x3_rc4::IfcMaterialLayerSet> Ifc4x3_rc4::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[645], 0)); } // const IfcParse::entity& Ifc4x3_rc4::IfcMaterialLayer::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[644]); } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialLayer::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[644]); } @@ -12682,7 +12682,7 @@ void Ifc4x3_rc4::IfcMaterialProfile::setPriority(const std::optional< int >& v) std::optional< std::string > Ifc4x3_rc4::IfcMaterialProfile::Category() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcMaterialProfile::setCategory(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3_rc4::IfcMaterialProfileSet> Ifc4x3_rc4::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[650], 2)); } +std::vector<::Ifc4x3_rc4::IfcMaterialProfileSet> Ifc4x3_rc4::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[650], 2)); } // const IfcParse::entity& Ifc4x3_rc4::IfcMaterialProfile::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[649]); } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialProfile::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[649]); } @@ -12767,7 +12767,7 @@ const IfcParse::entity& Ifc4x3_rc4::IfcMaterialRelationship::Class() { return *( // Function implementations for IfcMaterialUsageDefinition -std::vector<::Ifc4x3_rc4::IfcRelAssociatesMaterial> Ifc4x3_rc4::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[919], 5)); } +std::vector<::Ifc4x3_rc4::IfcRelAssociatesMaterial> Ifc4x3_rc4::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[919], 5)); } // const IfcParse::entity& Ifc4x3_rc4::IfcMaterialUsageDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[657]); } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialUsageDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[657]); } @@ -12992,10 +12992,10 @@ const IfcParse::entity& Ifc4x3_rc4::IfcNavigationElementType::Class() { return * 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; } void Ifc4x3_rc4::IfcObject::setObjectType(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector<::Ifc4x3_rc4::IfcRelDefinesByObject> Ifc4x3_rc4::IfcObject::IsDeclaredBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[937], 4)); } -std::vector<::Ifc4x3_rc4::IfcRelDefinesByObject> Ifc4x3_rc4::IfcObject::Declares() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[937], 5)); } -std::vector<::Ifc4x3_rc4::IfcRelDefinesByType> Ifc4x3_rc4::IfcObject::IsTypedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[940], 4)); } -std::vector<::Ifc4x3_rc4::IfcRelDefinesByProperties> Ifc4x3_rc4::IfcObject::IsDefinedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[938], 4)); } +std::vector<::Ifc4x3_rc4::IfcRelDefinesByObject> Ifc4x3_rc4::IfcObject::IsDeclaredBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[937], 4)); } +std::vector<::Ifc4x3_rc4::IfcRelDefinesByObject> Ifc4x3_rc4::IfcObject::Declares() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[937], 5)); } +std::vector<::Ifc4x3_rc4::IfcRelDefinesByType> Ifc4x3_rc4::IfcObject::IsTypedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[940], 4)); } +std::vector<::Ifc4x3_rc4::IfcRelDefinesByProperties> Ifc4x3_rc4::IfcObject::IsDefinedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[938], 4)); } // const IfcParse::entity& Ifc4x3_rc4::IfcObject::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[702]); } const IfcParse::entity& Ifc4x3_rc4::IfcObject::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[702]); } @@ -13004,13 +13004,13 @@ const IfcParse::entity& Ifc4x3_rc4::IfcObject::Class() { return *((IfcParse::ent // Function implementations for IfcObjectDefinition -std::vector<::Ifc4x3_rc4::IfcRelAssigns> Ifc4x3_rc4::IfcObjectDefinition::HasAssignments() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[905], 4)); } -std::vector<::Ifc4x3_rc4::IfcRelNests> Ifc4x3_rc4::IfcObjectDefinition::Nests() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[944], 5)); } -std::vector<::Ifc4x3_rc4::IfcRelNests> Ifc4x3_rc4::IfcObjectDefinition::IsNestedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[944], 4)); } -std::vector<::Ifc4x3_rc4::IfcRelDeclares> Ifc4x3_rc4::IfcObjectDefinition::HasContext() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[934], 5)); } -std::vector<::Ifc4x3_rc4::IfcRelAggregates> Ifc4x3_rc4::IfcObjectDefinition::IsDecomposedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[904], 4)); } -std::vector<::Ifc4x3_rc4::IfcRelAggregates> Ifc4x3_rc4::IfcObjectDefinition::Decomposes() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[904], 5)); } -std::vector<::Ifc4x3_rc4::IfcRelAssociates> Ifc4x3_rc4::IfcObjectDefinition::HasAssociations() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[913], 4)); } +std::vector<::Ifc4x3_rc4::IfcRelAssigns> Ifc4x3_rc4::IfcObjectDefinition::HasAssignments() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[905], 4)); } +std::vector<::Ifc4x3_rc4::IfcRelNests> Ifc4x3_rc4::IfcObjectDefinition::Nests() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[944], 5)); } +std::vector<::Ifc4x3_rc4::IfcRelNests> Ifc4x3_rc4::IfcObjectDefinition::IsNestedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[944], 4)); } +std::vector<::Ifc4x3_rc4::IfcRelDeclares> Ifc4x3_rc4::IfcObjectDefinition::HasContext() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[934], 5)); } +std::vector<::Ifc4x3_rc4::IfcRelAggregates> Ifc4x3_rc4::IfcObjectDefinition::IsDecomposedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[904], 4)); } +std::vector<::Ifc4x3_rc4::IfcRelAggregates> Ifc4x3_rc4::IfcObjectDefinition::Decomposes() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[904], 5)); } +std::vector<::Ifc4x3_rc4::IfcRelAssociates> Ifc4x3_rc4::IfcObjectDefinition::HasAssociations() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[913], 4)); } // const IfcParse::entity& Ifc4x3_rc4::IfcObjectDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[703]); } const IfcParse::entity& Ifc4x3_rc4::IfcObjectDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[703]); } @@ -13021,7 +13021,7 @@ const IfcParse::entity& Ifc4x3_rc4::IfcObjectDefinition::Class() { return *((Ifc ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[806], 5)); } +std::vector<::Ifc4x3_rc4::IfcProduct> Ifc4x3_rc4::IfcObjectPlacement::PlacesObject() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[806], 5)); } // const IfcParse::entity& Ifc4x3_rc4::IfcObjectPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[706]); } const IfcParse::entity& Ifc4x3_rc4::IfcObjectPlacement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[706]); } @@ -13130,7 +13130,7 @@ const IfcParse::entity& Ifc4x3_rc4::IfcOpenShell::Class() { return *((IfcParse:: 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)); } void Ifc4x3_rc4::IfcOpeningElement::setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcOpeningElementTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcOpeningElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_rc4::IfcRelFillsElement> Ifc4x3_rc4::IfcOpeningElement::HasFillings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[941], 4)); } +std::vector<::Ifc4x3_rc4::IfcRelFillsElement> Ifc4x3_rc4::IfcOpeningElement::HasFillings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[941], 4)); } // const IfcParse::entity& Ifc4x3_rc4::IfcOpeningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[716]); } const IfcParse::entity& Ifc4x3_rc4::IfcOpeningElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[716]); } @@ -13157,9 +13157,9 @@ void Ifc4x3_rc4::IfcOrganization::setRoles(const std::optional< std::vector< ::I 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(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[721], 3)); } -std::vector<::Ifc4x3_rc4::IfcOrganizationRelationship> Ifc4x3_rc4::IfcOrganization::Relates() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[721], 2)); } -std::vector<::Ifc4x3_rc4::IfcPersonAndOrganization> Ifc4x3_rc4::IfcOrganization::Engages() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[742], 1)); } +std::vector<::Ifc4x3_rc4::IfcOrganizationRelationship> Ifc4x3_rc4::IfcOrganization::IsRelatedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[721], 3)); } +std::vector<::Ifc4x3_rc4::IfcOrganizationRelationship> Ifc4x3_rc4::IfcOrganization::Relates() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[721], 2)); } +std::vector<::Ifc4x3_rc4::IfcPersonAndOrganization> Ifc4x3_rc4::IfcOrganization::Engages() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[742], 1)); } // const IfcParse::entity& Ifc4x3_rc4::IfcOrganization::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[720]); } const IfcParse::entity& Ifc4x3_rc4::IfcOrganization::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[720]); } @@ -13356,7 +13356,7 @@ void Ifc4x3_rc4::IfcPerson::setRoles(const std::optional< std::vector< ::Ifc4x3_ 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(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[742], 0)); } +std::vector<::Ifc4x3_rc4::IfcPersonAndOrganization> Ifc4x3_rc4::IfcPerson::EngagedIn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[742], 0)); } // const IfcParse::entity& Ifc4x3_rc4::IfcPerson::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[741]); } const IfcParse::entity& Ifc4x3_rc4::IfcPerson::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[741]); } @@ -13399,8 +13399,8 @@ void Ifc4x3_rc4::IfcPhysicalQuantity::setName(const std::string& v) { set_attrib std::optional< std::string > Ifc4x3_rc4::IfcPhysicalQuantity::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcPhysicalQuantity::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcPhysicalQuantity::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[433], 3)); } -std::vector<::Ifc4x3_rc4::IfcPhysicalComplexQuantity> Ifc4x3_rc4::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[744], 2)); } +std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcPhysicalQuantity::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[433], 3)); } +std::vector<::Ifc4x3_rc4::IfcPhysicalComplexQuantity> Ifc4x3_rc4::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[744], 2)); } // const IfcParse::entity& Ifc4x3_rc4::IfcPhysicalQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[746]); } const IfcParse::entity& Ifc4x3_rc4::IfcPhysicalQuantity::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[746]); } @@ -13687,9 +13687,9 @@ const IfcParse::entity& Ifc4x3_rc4::IfcPolynomialCurve::Class() { return *((IfcP // Function implementations for IfcPort -std::vector<::Ifc4x3_rc4::IfcRelConnectsPortToElement> Ifc4x3_rc4::IfcPort::ContainedIn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[926], 4)); } -std::vector<::Ifc4x3_rc4::IfcRelConnectsPorts> Ifc4x3_rc4::IfcPort::ConnectedFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[925], 5)); } -std::vector<::Ifc4x3_rc4::IfcRelConnectsPorts> Ifc4x3_rc4::IfcPort::ConnectedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[925], 4)); } +std::vector<::Ifc4x3_rc4::IfcRelConnectsPortToElement> Ifc4x3_rc4::IfcPort::ContainedIn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[926], 4)); } +std::vector<::Ifc4x3_rc4::IfcRelConnectsPorts> Ifc4x3_rc4::IfcPort::ConnectedFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[925], 5)); } +std::vector<::Ifc4x3_rc4::IfcRelConnectsPorts> Ifc4x3_rc4::IfcPort::ConnectedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[925], 4)); } // const IfcParse::entity& Ifc4x3_rc4::IfcPort::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[780]); } const IfcParse::entity& Ifc4x3_rc4::IfcPort::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[780]); } @@ -13698,8 +13698,8 @@ const IfcParse::entity& Ifc4x3_rc4::IfcPort::Class() { return *((IfcParse::entit // Function implementations for IfcPositioningElement -std::vector<::Ifc4x3_rc4::IfcRelContainedInSpatialStructure> Ifc4x3_rc4::IfcPositioningElement::ContainedInStructure() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[931], 4)); } -std::vector<::Ifc4x3_rc4::IfcRelPositions> Ifc4x3_rc4::IfcPositioningElement::Positions() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[945], 4)); } +std::vector<::Ifc4x3_rc4::IfcRelContainedInSpatialStructure> Ifc4x3_rc4::IfcPositioningElement::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[931], 4)); } +std::vector<::Ifc4x3_rc4::IfcRelPositions> Ifc4x3_rc4::IfcPositioningElement::Positions() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[945], 4)); } // const IfcParse::entity& Ifc4x3_rc4::IfcPositioningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[781]); } const IfcParse::entity& Ifc4x3_rc4::IfcPositioningElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[781]); } @@ -13854,9 +13854,9 @@ void Ifc4x3_rc4::IfcProcess::setIdentification(const std::optional< std::string std::optional< std::string > Ifc4x3_rc4::IfcProcess::LongDescription() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcProcess::setLongDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x3_rc4::IfcRelSequence> Ifc4x3_rc4::IfcProcess::IsPredecessorTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[948], 4)); } -std::vector<::Ifc4x3_rc4::IfcRelSequence> Ifc4x3_rc4::IfcProcess::IsSuccessorFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[948], 5)); } -std::vector<::Ifc4x3_rc4::IfcRelAssignsToProcess> Ifc4x3_rc4::IfcProcess::OperatesOn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[910], 6)); } +std::vector<::Ifc4x3_rc4::IfcRelSequence> Ifc4x3_rc4::IfcProcess::IsPredecessorTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[948], 4)); } +std::vector<::Ifc4x3_rc4::IfcRelSequence> Ifc4x3_rc4::IfcProcess::IsSuccessorFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[948], 5)); } +std::vector<::Ifc4x3_rc4::IfcRelAssignsToProcess> Ifc4x3_rc4::IfcProcess::OperatesOn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[910], 6)); } // const IfcParse::entity& Ifc4x3_rc4::IfcProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[804]); } const IfcParse::entity& Ifc4x3_rc4::IfcProcess::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[804]); } @@ -13869,9 +13869,9 @@ void Ifc4x3_rc4::IfcProduct::setObjectPlacement(const ::Ifc4x3_rc4::IfcObjectPla ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[911], 6)); } -std::vector<::Ifc4x3_rc4::IfcRelPositions> Ifc4x3_rc4::IfcProduct::PositionedRelativeTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[945], 5)); } -std::vector<::Ifc4x3_rc4::IfcRelReferencedInSpatialStructure> Ifc4x3_rc4::IfcProduct::ReferencedInStructures() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[947], 4)); } +std::vector<::Ifc4x3_rc4::IfcRelAssignsToProduct> Ifc4x3_rc4::IfcProduct::ReferencedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[911], 6)); } +std::vector<::Ifc4x3_rc4::IfcRelPositions> Ifc4x3_rc4::IfcProduct::PositionedRelativeTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[945], 5)); } +std::vector<::Ifc4x3_rc4::IfcRelReferencedInSpatialStructure> Ifc4x3_rc4::IfcProduct::ReferencedInStructures() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[947], 4)); } // const IfcParse::entity& Ifc4x3_rc4::IfcProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[806]); } const IfcParse::entity& Ifc4x3_rc4::IfcProduct::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[806]); } @@ -13880,8 +13880,8 @@ const IfcParse::entity& Ifc4x3_rc4::IfcProduct::Class() { return *((IfcParse::en // Function implementations for IfcProductDefinitionShape -std::vector<::Ifc4x3_rc4::IfcProduct> Ifc4x3_rc4::IfcProductDefinitionShape::ShapeOfProduct() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[806], 6)); } -std::vector<::Ifc4x3_rc4::IfcShapeAspect> Ifc4x3_rc4::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[1009], 4)); } +std::vector<::Ifc4x3_rc4::IfcProduct> Ifc4x3_rc4::IfcProductDefinitionShape::ShapeOfProduct() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[806], 6)); } +std::vector<::Ifc4x3_rc4::IfcShapeAspect> Ifc4x3_rc4::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[1009], 4)); } // const IfcParse::entity& Ifc4x3_rc4::IfcProductDefinitionShape::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[807]); } const IfcParse::entity& Ifc4x3_rc4::IfcProductDefinitionShape::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[807]); } @@ -13908,8 +13908,8 @@ void Ifc4x3_rc4::IfcProfileDef::setProfileType(const ::Ifc4x3_rc4::IfcProfileTyp std::optional< std::string > Ifc4x3_rc4::IfcProfileDef::ProfileName() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcProfileDef::setProfileName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcProfileDef::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[433], 3)); } -std::vector<::Ifc4x3_rc4::IfcProfileProperties> Ifc4x3_rc4::IfcProfileDef::HasProperties() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[812], 3)); } +std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcProfileDef::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[433], 3)); } +std::vector<::Ifc4x3_rc4::IfcProfileProperties> Ifc4x3_rc4::IfcProfileDef::HasProperties() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[812], 3)); } // const IfcParse::entity& Ifc4x3_rc4::IfcProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[811]); } const IfcParse::entity& Ifc4x3_rc4::IfcProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[811]); } @@ -13986,12 +13986,12 @@ void Ifc4x3_rc4::IfcProperty::setName(const std::string& v) { set_attribute_valu std::optional< std::string > Ifc4x3_rc4::IfcProperty::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcProperty::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x3_rc4::IfcPropertySet> Ifc4x3_rc4::IfcProperty::PartOfPset() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[831], 4)); } -std::vector<::Ifc4x3_rc4::IfcPropertyDependencyRelationship> Ifc4x3_rc4::IfcProperty::PropertyForDependance() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[826], 2)); } -std::vector<::Ifc4x3_rc4::IfcPropertyDependencyRelationship> Ifc4x3_rc4::IfcProperty::PropertyDependsOn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[826], 3)); } -std::vector<::Ifc4x3_rc4::IfcComplexProperty> Ifc4x3_rc4::IfcProperty::PartOfComplex() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[191], 3)); } -std::vector<::Ifc4x3_rc4::IfcResourceConstraintRelationship> Ifc4x3_rc4::IfcProperty::HasConstraints() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[961], 3)); } -std::vector<::Ifc4x3_rc4::IfcResourceApprovalRelationship> Ifc4x3_rc4::IfcProperty::HasApprovals() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[960], 2)); } +std::vector<::Ifc4x3_rc4::IfcPropertySet> Ifc4x3_rc4::IfcProperty::PartOfPset() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[831], 4)); } +std::vector<::Ifc4x3_rc4::IfcPropertyDependencyRelationship> Ifc4x3_rc4::IfcProperty::PropertyForDependance() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[826], 2)); } +std::vector<::Ifc4x3_rc4::IfcPropertyDependencyRelationship> Ifc4x3_rc4::IfcProperty::PropertyDependsOn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[826], 3)); } +std::vector<::Ifc4x3_rc4::IfcComplexProperty> Ifc4x3_rc4::IfcProperty::PartOfComplex() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[191], 3)); } +std::vector<::Ifc4x3_rc4::IfcResourceConstraintRelationship> Ifc4x3_rc4::IfcProperty::HasConstraints() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[961], 3)); } +std::vector<::Ifc4x3_rc4::IfcResourceApprovalRelationship> Ifc4x3_rc4::IfcProperty::HasApprovals() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[960], 2)); } // const IfcParse::entity& Ifc4x3_rc4::IfcProperty::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[822]); } const IfcParse::entity& Ifc4x3_rc4::IfcProperty::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[822]); } @@ -14000,7 +14000,7 @@ const IfcParse::entity& Ifc4x3_rc4::IfcProperty::Class() { return *((IfcParse::e // Function implementations for IfcPropertyAbstraction -std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[433], 3)); } +std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[433], 3)); } // const IfcParse::entity& Ifc4x3_rc4::IfcPropertyAbstraction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[823]); } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyAbstraction::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[823]); } @@ -14025,8 +14025,8 @@ const IfcParse::entity& Ifc4x3_rc4::IfcPropertyBoundedValue::Class() { return *( // Function implementations for IfcPropertyDefinition -std::vector<::Ifc4x3_rc4::IfcRelDeclares> Ifc4x3_rc4::IfcPropertyDefinition::HasContext() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[934], 5)); } -std::vector<::Ifc4x3_rc4::IfcRelAssociates> Ifc4x3_rc4::IfcPropertyDefinition::HasAssociations() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[913], 4)); } +std::vector<::Ifc4x3_rc4::IfcRelDeclares> Ifc4x3_rc4::IfcPropertyDefinition::HasContext() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[934], 5)); } +std::vector<::Ifc4x3_rc4::IfcRelAssociates> Ifc4x3_rc4::IfcPropertyDefinition::HasAssociations() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[913], 4)); } // const IfcParse::entity& Ifc4x3_rc4::IfcPropertyDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[825]); } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[825]); } @@ -14109,9 +14109,9 @@ const IfcParse::entity& Ifc4x3_rc4::IfcPropertySet::Class() { return *((IfcParse // Function implementations for IfcPropertySetDefinition -std::vector<::Ifc4x3_rc4::IfcTypeObject> Ifc4x3_rc4::IfcPropertySetDefinition::DefinesType() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[1244], 5)); } -std::vector<::Ifc4x3_rc4::IfcRelDefinesByTemplate> Ifc4x3_rc4::IfcPropertySetDefinition::IsDefinedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[939], 4)); } -std::vector<::Ifc4x3_rc4::IfcRelDefinesByProperties> Ifc4x3_rc4::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[938], 5)); } +std::vector<::Ifc4x3_rc4::IfcTypeObject> Ifc4x3_rc4::IfcPropertySetDefinition::DefinesType() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[1244], 5)); } +std::vector<::Ifc4x3_rc4::IfcRelDefinesByTemplate> Ifc4x3_rc4::IfcPropertySetDefinition::IsDefinedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[939], 4)); } +std::vector<::Ifc4x3_rc4::IfcRelDefinesByProperties> Ifc4x3_rc4::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[938], 5)); } // const IfcParse::entity& Ifc4x3_rc4::IfcPropertySetDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[832]); } const IfcParse::entity& Ifc4x3_rc4::IfcPropertySetDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[832]); } @@ -14126,7 +14126,7 @@ void Ifc4x3_rc4::IfcPropertySetTemplate::setApplicableEntity(const std::optional 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(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[939], 5)); } +std::vector<::Ifc4x3_rc4::IfcRelDefinesByTemplate> Ifc4x3_rc4::IfcPropertySetTemplate::Defines() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[939], 5)); } // const IfcParse::entity& Ifc4x3_rc4::IfcPropertySetTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[835]); } const IfcParse::entity& Ifc4x3_rc4::IfcPropertySetTemplate::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[835]); } @@ -14167,8 +14167,8 @@ const IfcParse::entity& Ifc4x3_rc4::IfcPropertyTableValue::Class() { return *((I // Function implementations for IfcPropertyTemplate -std::vector<::Ifc4x3_rc4::IfcComplexPropertyTemplate> Ifc4x3_rc4::IfcPropertyTemplate::PartOfComplexTemplate() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[192], 6)); } -std::vector<::Ifc4x3_rc4::IfcPropertySetTemplate> Ifc4x3_rc4::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[835], 6)); } +std::vector<::Ifc4x3_rc4::IfcComplexPropertyTemplate> Ifc4x3_rc4::IfcPropertyTemplate::PartOfComplexTemplate() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[192], 6)); } +std::vector<::Ifc4x3_rc4::IfcPropertySetTemplate> Ifc4x3_rc4::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[835], 6)); } // const IfcParse::entity& Ifc4x3_rc4::IfcPropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[839]); } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[839]); } @@ -15295,7 +15295,7 @@ const IfcParse::entity& Ifc4x3_rc4::IfcRelSpaceBoundary::Class() { return *((Ifc ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[951], 9)); } +std::vector<::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel> Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[951], 9)); } // const IfcParse::entity& Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[951]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[951]); } @@ -15306,7 +15306,7 @@ const IfcParse::entity& Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel::Class() { retur ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[952], 10)); } +std::vector<::Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel> Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[952], 10)); } // const IfcParse::entity& Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[952]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[952]); } @@ -15353,9 +15353,9 @@ void Ifc4x3_rc4::IfcRepresentation::setRepresentationType(const std::optional< s 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(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[958], 1)); } -std::vector<::Ifc4x3_rc4::IfcPresentationLayerAssignment> Ifc4x3_rc4::IfcRepresentation::LayerAssignments() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[797], 2)); } -std::vector<::Ifc4x3_rc4::IfcProductRepresentation> Ifc4x3_rc4::IfcRepresentation::OfProductRepresentation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[808], 2)); } +std::vector<::Ifc4x3_rc4::IfcRepresentationMap> Ifc4x3_rc4::IfcRepresentation::RepresentationMap() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[958], 1)); } +std::vector<::Ifc4x3_rc4::IfcPresentationLayerAssignment> Ifc4x3_rc4::IfcRepresentation::LayerAssignments() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[797], 2)); } +std::vector<::Ifc4x3_rc4::IfcProductRepresentation> Ifc4x3_rc4::IfcRepresentation::OfProductRepresentation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[808], 2)); } // const IfcParse::entity& Ifc4x3_rc4::IfcRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[955]); } const IfcParse::entity& Ifc4x3_rc4::IfcRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[955]); } @@ -15368,7 +15368,7 @@ void Ifc4x3_rc4::IfcRepresentationContext::setContextIdentifier(const std::optio std::optional< std::string > Ifc4x3_rc4::IfcRepresentationContext::ContextType() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcRepresentationContext::setContextType(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::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[955], 0)); } +std::vector<::Ifc4x3_rc4::IfcRepresentation> Ifc4x3_rc4::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[955], 0)); } // const IfcParse::entity& Ifc4x3_rc4::IfcRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[956]); } const IfcParse::entity& Ifc4x3_rc4::IfcRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[956]); } @@ -15377,8 +15377,8 @@ const IfcParse::entity& Ifc4x3_rc4::IfcRepresentationContext::Class() { return * // Function implementations for IfcRepresentationItem -std::vector<::Ifc4x3_rc4::IfcPresentationLayerAssignment> Ifc4x3_rc4::IfcRepresentationItem::LayerAssignment() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[797], 2)); } -std::vector<::Ifc4x3_rc4::IfcStyledItem> Ifc4x3_rc4::IfcRepresentationItem::StyledByItem() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[1122], 0)); } +std::vector<::Ifc4x3_rc4::IfcPresentationLayerAssignment> Ifc4x3_rc4::IfcRepresentationItem::LayerAssignment() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[797], 2)); } +std::vector<::Ifc4x3_rc4::IfcStyledItem> Ifc4x3_rc4::IfcRepresentationItem::StyledByItem() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[1122], 0)); } // const IfcParse::entity& Ifc4x3_rc4::IfcRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[957]); } const IfcParse::entity& Ifc4x3_rc4::IfcRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[957]); } @@ -15391,8 +15391,8 @@ void Ifc4x3_rc4::IfcRepresentationMap::setMappingOrigin(const ::Ifc4x3_rc4::IfcA ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[1009], 4)); } -std::vector<::Ifc4x3_rc4::IfcMappedItem> Ifc4x3_rc4::IfcRepresentationMap::MapUsage() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[630], 0)); } +std::vector<::Ifc4x3_rc4::IfcShapeAspect> Ifc4x3_rc4::IfcRepresentationMap::HasShapeAspects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[1009], 4)); } +std::vector<::Ifc4x3_rc4::IfcMappedItem> Ifc4x3_rc4::IfcRepresentationMap::MapUsage() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[630], 0)); } // const IfcParse::entity& Ifc4x3_rc4::IfcRepresentationMap::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[958]); } const IfcParse::entity& Ifc4x3_rc4::IfcRepresentationMap::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[958]); } @@ -15405,7 +15405,7 @@ void Ifc4x3_rc4::IfcResource::setIdentification(const std::optional< std::string std::optional< std::string > Ifc4x3_rc4::IfcResource::LongDescription() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcResource::setLongDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x3_rc4::IfcRelAssignsToResource> Ifc4x3_rc4::IfcResource::ResourceOf() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[912], 6)); } +std::vector<::Ifc4x3_rc4::IfcRelAssignsToResource> Ifc4x3_rc4::IfcResource::ResourceOf() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[912], 6)); } // const IfcParse::entity& Ifc4x3_rc4::IfcResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[959]); } const IfcParse::entity& Ifc4x3_rc4::IfcResource::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[959]); } @@ -15748,7 +15748,7 @@ const IfcParse::entity& Ifc4x3_rc4::IfcSectionedSurface::Class() { return *((Ifc ::Ifc4x3_rc4::IfcTransitionCode::Value Ifc4x3_rc4::IfcSegment::Transition() const { return ::Ifc4x3_rc4::IfcTransitionCode::FromString(get_attribute_value(0)); } void Ifc4x3_rc4::IfcSegment::setTransition(const ::Ifc4x3_rc4::IfcTransitionCode::Value& v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_rc4::IfcTransitionCode::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -std::vector<::Ifc4x3_rc4::IfcCompositeCurve> Ifc4x3_rc4::IfcSegment::UsingCurves() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[194], 0)); } +std::vector<::Ifc4x3_rc4::IfcCompositeCurve> Ifc4x3_rc4::IfcSegment::UsingCurves() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[194], 0)); } // const IfcParse::entity& Ifc4x3_rc4::IfcSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[998]); } const IfcParse::entity& Ifc4x3_rc4::IfcSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[998]); } @@ -15843,7 +15843,7 @@ void Ifc4x3_rc4::IfcShapeAspect::setProductDefinitional(const boost::logic::trib ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[433], 3)); } +std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcShapeAspect::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[433], 3)); } // const IfcParse::entity& Ifc4x3_rc4::IfcShapeAspect::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1009]); } const IfcParse::entity& Ifc4x3_rc4::IfcShapeAspect::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1009]); } @@ -15852,7 +15852,7 @@ const IfcParse::entity& Ifc4x3_rc4::IfcShapeAspect::Class() { return *((IfcParse // Function implementations for IfcShapeModel -std::vector<::Ifc4x3_rc4::IfcShapeAspect> Ifc4x3_rc4::IfcShapeModel::OfShapeAspect() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[1009], 0)); } +std::vector<::Ifc4x3_rc4::IfcShapeAspect> Ifc4x3_rc4::IfcShapeModel::OfShapeAspect() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[1009], 0)); } // const IfcParse::entity& Ifc4x3_rc4::IfcShapeModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1010]); } const IfcParse::entity& Ifc4x3_rc4::IfcShapeModel::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1010]); } @@ -16073,8 +16073,8 @@ void Ifc4x3_rc4::IfcSpace::setPredefinedType(const std::optional< ::Ifc4x3_rc4:: std::optional< double > Ifc4x3_rc4::IfcSpace::ElevationWithFlooring() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcSpace::setElevationWithFlooring(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -std::vector<::Ifc4x3_rc4::IfcRelCoversSpaces> Ifc4x3_rc4::IfcSpace::HasCoverings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[933], 4)); } -std::vector<::Ifc4x3_rc4::IfcRelSpaceBoundary> Ifc4x3_rc4::IfcSpace::BoundedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[950], 4)); } +std::vector<::Ifc4x3_rc4::IfcRelCoversSpaces> Ifc4x3_rc4::IfcSpace::HasCoverings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[933], 4)); } +std::vector<::Ifc4x3_rc4::IfcRelSpaceBoundary> Ifc4x3_rc4::IfcSpace::BoundedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[950], 4)); } // const IfcParse::entity& Ifc4x3_rc4::IfcSpace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1048]); } const IfcParse::entity& Ifc4x3_rc4::IfcSpace::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1048]); } @@ -16117,9 +16117,9 @@ const IfcParse::entity& Ifc4x3_rc4::IfcSpaceType::Class() { return *((IfcParse:: 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; } void Ifc4x3_rc4::IfcSpatialElement::setLongName(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -std::vector<::Ifc4x3_rc4::IfcRelContainedInSpatialStructure> Ifc4x3_rc4::IfcSpatialElement::ContainsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[931], 5)); } -std::vector<::Ifc4x3_rc4::IfcRelServicesBuildings> Ifc4x3_rc4::IfcSpatialElement::ServicedBySystems() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[949], 5)); } -std::vector<::Ifc4x3_rc4::IfcRelReferencedInSpatialStructure> Ifc4x3_rc4::IfcSpatialElement::ReferencesElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[947], 5)); } +std::vector<::Ifc4x3_rc4::IfcRelContainedInSpatialStructure> Ifc4x3_rc4::IfcSpatialElement::ContainsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[931], 5)); } +std::vector<::Ifc4x3_rc4::IfcRelServicesBuildings> Ifc4x3_rc4::IfcSpatialElement::ServicedBySystems() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[949], 5)); } +std::vector<::Ifc4x3_rc4::IfcRelReferencedInSpatialStructure> Ifc4x3_rc4::IfcSpatialElement::ReferencesElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[947], 5)); } // const IfcParse::entity& Ifc4x3_rc4::IfcSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1055]); } const IfcParse::entity& Ifc4x3_rc4::IfcSpatialElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1055]); } @@ -16290,7 +16290,7 @@ void Ifc4x3_rc4::IfcStructuralActivity::setAppliedLoad(const ::Ifc4x3_rc4::IfcSt ::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, EnumerationReference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -std::vector<::Ifc4x3_rc4::IfcRelConnectsStructuralActivity> Ifc4x3_rc4::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[927], 5)); } +std::vector<::Ifc4x3_rc4::IfcRelConnectsStructuralActivity> Ifc4x3_rc4::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[927], 5)); } // const IfcParse::entity& Ifc4x3_rc4::IfcStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1081]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralActivity::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1081]); } @@ -16319,7 +16319,7 @@ const IfcParse::entity& Ifc4x3_rc4::IfcStructuralAnalysisModel::Class() { return ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[928], 5)); } +std::vector<::Ifc4x3_rc4::IfcRelConnectsStructuralMember> Ifc4x3_rc4::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[928], 5)); } // const IfcParse::entity& Ifc4x3_rc4::IfcStructuralConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1084]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralConnection::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1084]); } @@ -16390,7 +16390,7 @@ const IfcParse::entity& Ifc4x3_rc4::IfcStructuralCurveReaction::Class() { return // Function implementations for IfcStructuralItem -std::vector<::Ifc4x3_rc4::IfcRelConnectsStructuralActivity> Ifc4x3_rc4::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[927], 4)); } +std::vector<::Ifc4x3_rc4::IfcRelConnectsStructuralActivity> Ifc4x3_rc4::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[927], 4)); } // const IfcParse::entity& Ifc4x3_rc4::IfcStructuralItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1093]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralItem::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1093]); } @@ -16449,8 +16449,8 @@ void Ifc4x3_rc4::IfcStructuralLoadGroup::setCoefficient(const std::optional< dou std::optional< std::string > Ifc4x3_rc4::IfcStructuralLoadGroup::Purpose() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc4::IfcStructuralLoadGroup::setPurpose(const std::optional< std::string >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -std::vector<::Ifc4x3_rc4::IfcStructuralResultGroup> Ifc4x3_rc4::IfcStructuralLoadGroup::SourceOfResultGroup() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[1114], 6)); } -std::vector<::Ifc4x3_rc4::IfcStructuralAnalysisModel> Ifc4x3_rc4::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[1083], 7)); } +std::vector<::Ifc4x3_rc4::IfcStructuralResultGroup> Ifc4x3_rc4::IfcStructuralLoadGroup::SourceOfResultGroup() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[1114], 6)); } +std::vector<::Ifc4x3_rc4::IfcStructuralAnalysisModel> Ifc4x3_rc4::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[1083], 7)); } // const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1098]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadGroup::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1098]); } @@ -16583,7 +16583,7 @@ const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadTemperature::Class() { retu // Function implementations for IfcStructuralMember -std::vector<::Ifc4x3_rc4::IfcRelConnectsStructuralMember> Ifc4x3_rc4::IfcStructuralMember::ConnectedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[928], 4)); } +std::vector<::Ifc4x3_rc4::IfcRelConnectsStructuralMember> Ifc4x3_rc4::IfcStructuralMember::ConnectedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[928], 4)); } // const IfcParse::entity& Ifc4x3_rc4::IfcStructuralMember::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1108]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralMember::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1108]); } @@ -16640,7 +16640,7 @@ void Ifc4x3_rc4::IfcStructuralResultGroup::setResultForLoadGroup(const ::Ifc4x3_ 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); } -std::vector<::Ifc4x3_rc4::IfcStructuralAnalysisModel> Ifc4x3_rc4::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[1083], 8)); } +std::vector<::Ifc4x3_rc4::IfcStructuralAnalysisModel> Ifc4x3_rc4::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[1083], 8)); } // const IfcParse::entity& Ifc4x3_rc4::IfcStructuralResultGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1114]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralResultGroup::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1114]); } @@ -16793,7 +16793,7 @@ const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceCurveSweptAreaSolid::Class() { ret std::optional< ::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3_rc4::IfcSurfaceFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcSurfaceFeature::setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_rc4::IfcRelAdheresToElement> Ifc4x3_rc4::IfcSurfaceFeature::AdheresToElement() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[903], 5)); } +std::vector<::Ifc4x3_rc4::IfcRelAdheresToElement> Ifc4x3_rc4::IfcSurfaceFeature::AdheresToElement() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[903], 5)); } // const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceFeature::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1132]); } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceFeature::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1132]); } @@ -16932,8 +16932,8 @@ void Ifc4x3_rc4::IfcSurfaceTexture::setTextureTransform(const ::Ifc4x3_rc4::IfcC 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);} } -std::vector<::Ifc4x3_rc4::IfcTextureCoordinate> Ifc4x3_rc4::IfcSurfaceTexture::IsMappedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[1197], 0)); } -std::vector<::Ifc4x3_rc4::IfcSurfaceStyleWithTextures> Ifc4x3_rc4::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[1145], 0)); } +std::vector<::Ifc4x3_rc4::IfcTextureCoordinate> Ifc4x3_rc4::IfcSurfaceTexture::IsMappedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[1197], 0)); } +std::vector<::Ifc4x3_rc4::IfcSurfaceStyleWithTextures> Ifc4x3_rc4::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[1145], 0)); } // const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1146]); } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceTexture::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1146]); } @@ -17014,8 +17014,8 @@ const IfcParse::entity& Ifc4x3_rc4::IfcSwitchingDeviceType::Class() { return *(( // Function implementations for IfcSystem -std::vector<::Ifc4x3_rc4::IfcRelServicesBuildings> Ifc4x3_rc4::IfcSystem::ServicesBuildings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[949], 4)); } -std::vector<::Ifc4x3_rc4::IfcRelReferencedInSpatialStructure> Ifc4x3_rc4::IfcSystem::ServicesFacilities() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[947], 4)); } +std::vector<::Ifc4x3_rc4::IfcRelServicesBuildings> Ifc4x3_rc4::IfcSystem::ServicesBuildings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[949], 4)); } +std::vector<::Ifc4x3_rc4::IfcRelReferencedInSpatialStructure> Ifc4x3_rc4::IfcSystem::ServicesFacilities() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[947], 4)); } // const IfcParse::entity& Ifc4x3_rc4::IfcSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1154]); } const IfcParse::entity& Ifc4x3_rc4::IfcSystem::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1154]); } @@ -17320,8 +17320,8 @@ const IfcParse::entity& Ifc4x3_rc4::IfcTendonType::Class() { return *((IfcParse: ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[547], 0)); } -std::vector<::Ifc4x3_rc4::IfcIndexedTextureMap> Ifc4x3_rc4::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[551], 1)); } +std::vector<::Ifc4x3_rc4::IfcIndexedColourMap> Ifc4x3_rc4::IfcTessellatedFaceSet::HasColours() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[547], 0)); } +std::vector<::Ifc4x3_rc4::IfcIndexedTextureMap> Ifc4x3_rc4::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[551], 1)); } // const IfcParse::entity& Ifc4x3_rc4::IfcTessellatedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1182]); } const IfcParse::entity& Ifc4x3_rc4::IfcTessellatedFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1182]); } @@ -17530,7 +17530,7 @@ void Ifc4x3_rc4::IfcTimeSeries::setUserDefinedDataOrigin(const std::optional< st ::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(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[433], 3)); } +std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcTimeSeries::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[433], 3)); } // const IfcParse::entity& Ifc4x3_rc4::IfcTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1213]); } const IfcParse::entity& Ifc4x3_rc4::IfcTimeSeries::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1213]); } @@ -17721,7 +17721,7 @@ void Ifc4x3_rc4::IfcTypeObject::setApplicableOccurrence(const std::optional< std 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(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[940], 5)); } +std::vector<::Ifc4x3_rc4::IfcRelDefinesByType> Ifc4x3_rc4::IfcTypeObject::Types() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[940], 5)); } // const IfcParse::entity& Ifc4x3_rc4::IfcTypeObject::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1244]); } const IfcParse::entity& Ifc4x3_rc4::IfcTypeObject::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1244]); } @@ -17736,7 +17736,7 @@ void Ifc4x3_rc4::IfcTypeProcess::setLongDescription(const std::optional< std::st std::optional< std::string > Ifc4x3_rc4::IfcTypeProcess::ProcessType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcTypeProcess::setProcessType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_rc4::IfcRelAssignsToProcess> Ifc4x3_rc4::IfcTypeProcess::OperatesOn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[910], 6)); } +std::vector<::Ifc4x3_rc4::IfcRelAssignsToProcess> Ifc4x3_rc4::IfcTypeProcess::OperatesOn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[910], 6)); } // const IfcParse::entity& Ifc4x3_rc4::IfcTypeProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1245]); } const IfcParse::entity& Ifc4x3_rc4::IfcTypeProcess::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1245]); } @@ -17749,7 +17749,7 @@ void Ifc4x3_rc4::IfcTypeProduct::setRepresentationMaps(const std::optional< std: 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(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[911], 6)); } +std::vector<::Ifc4x3_rc4::IfcRelAssignsToProduct> Ifc4x3_rc4::IfcTypeProduct::ReferencedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[911], 6)); } // const IfcParse::entity& Ifc4x3_rc4::IfcTypeProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1246]); } const IfcParse::entity& Ifc4x3_rc4::IfcTypeProduct::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1246]); } @@ -17764,7 +17764,7 @@ void Ifc4x3_rc4::IfcTypeResource::setLongDescription(const std::optional< std::s std::optional< std::string > Ifc4x3_rc4::IfcTypeResource::ResourceType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcTypeResource::setResourceType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_rc4::IfcRelAssignsToResource> Ifc4x3_rc4::IfcTypeResource::ResourceOf() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_RC4_types[912], 6)); } +std::vector<::Ifc4x3_rc4::IfcRelAssignsToResource> Ifc4x3_rc4::IfcTypeResource::ResourceOf() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_RC4_types[912], 6)); } // const IfcParse::entity& Ifc4x3_rc4::IfcTypeResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1247]); } const IfcParse::entity& Ifc4x3_rc4::IfcTypeResource::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1247]); } diff --git a/src/ifcparse/Ifc4x3_tc1.cpp b/src/ifcparse/Ifc4x3_tc1.cpp index 28485548be..70d6329925 100644 --- a/src/ifcparse/Ifc4x3_tc1.cpp +++ b/src/ifcparse/Ifc4x3_tc1.cpp @@ -7752,7 +7752,7 @@ const IfcParse::entity& Ifc4x3_tc1::IfcActionRequest::Class() { return *((IfcPar ::Ifc4x3_tc1::IfcActorSelect Ifc4x3_tc1::IfcActor::TheActor() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_tc1::IfcActorSelect>(); } void Ifc4x3_tc1::IfcActor::setTheActor(const ::Ifc4x3_tc1::IfcActorSelect& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -std::vector<::Ifc4x3_tc1::IfcRelAssignsToActor> Ifc4x3_tc1::IfcActor::IsActingUpon() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[899], 6)); } +std::vector<::Ifc4x3_tc1::IfcRelAssignsToActor> Ifc4x3_tc1::IfcActor::IsActingUpon() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[899], 6)); } // const IfcParse::entity& Ifc4x3_tc1::IfcActor::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[6]); } const IfcParse::entity& Ifc4x3_tc1::IfcActor::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[6]); } @@ -7767,7 +7767,7 @@ void Ifc4x3_tc1::IfcActorRole::setUserDefinedRole(const std::optional< std::stri std::optional< std::string > Ifc4x3_tc1::IfcActorRole::Description() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcActorRole::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcActorRole::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[427], 3)); } +std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcActorRole::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[427], 3)); } // const IfcParse::entity& Ifc4x3_tc1::IfcActorRole::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[7]); } const IfcParse::entity& Ifc4x3_tc1::IfcActorRole::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[7]); } @@ -7802,8 +7802,8 @@ void Ifc4x3_tc1::IfcAddress::setDescription(const std::optional< std::string >& std::optional< std::string > Ifc4x3_tc1::IfcAddress::UserDefinedPurpose() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcAddress::setUserDefinedPurpose(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x3_tc1::IfcPerson> Ifc4x3_tc1::IfcAddress::OfPerson() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[735], 7)); } -std::vector<::Ifc4x3_tc1::IfcOrganization> Ifc4x3_tc1::IfcAddress::OfOrganization() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[714], 4)); } +std::vector<::Ifc4x3_tc1::IfcPerson> Ifc4x3_tc1::IfcAddress::OfPerson() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[735], 7)); } +std::vector<::Ifc4x3_tc1::IfcOrganization> Ifc4x3_tc1::IfcAddress::OfOrganization() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[714], 4)); } // const IfcParse::entity& Ifc4x3_tc1::IfcAddress::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[12]); } const IfcParse::entity& Ifc4x3_tc1::IfcAddress::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[12]); } @@ -8044,7 +8044,7 @@ const IfcParse::entity& Ifc4x3_tc1::IfcAlignmentVerticalSegment::Class() { retur std::optional< ::Ifc4x3_tc1::IfcAnnotationTypeEnum::Value > Ifc4x3_tc1::IfcAnnotation::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcAnnotationTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_tc1::IfcAnnotation::setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcAnnotationTypeEnum::Value >& v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_tc1::IfcAnnotationTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -std::vector<::Ifc4x3_tc1::IfcRelContainedInSpatialStructure> Ifc4x3_tc1::IfcAnnotation::ContainedInStructure() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[924], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelContainedInSpatialStructure> Ifc4x3_tc1::IfcAnnotation::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[924], 4)); } // const IfcParse::entity& Ifc4x3_tc1::IfcAnnotation::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[46]); } const IfcParse::entity& Ifc4x3_tc1::IfcAnnotation::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[46]); } @@ -8101,7 +8101,7 @@ void Ifc4x3_tc1::IfcAppliedValue::setArithmeticOperator(const std::optional< ::I std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > Ifc4x3_tc1::IfcAppliedValue::Components() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_tc1::IfcAppliedValue>(es); } void Ifc4x3_tc1::IfcAppliedValue::setComponents(const std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > >& v) { if (v) {set_attribute_value(9, cast_vector(*v));} else {unset_attribute_value(9);} } -std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcAppliedValue::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[427], 3)); } +std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcAppliedValue::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[427], 3)); } // const IfcParse::entity& Ifc4x3_tc1::IfcAppliedValue::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[50]); } const IfcParse::entity& Ifc4x3_tc1::IfcAppliedValue::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[50]); } @@ -8128,11 +8128,11 @@ void Ifc4x3_tc1::IfcApproval::setRequestingApproval(const ::Ifc4x3_tc1::IfcActor ::Ifc4x3_tc1::IfcActorSelect Ifc4x3_tc1::IfcApproval::GivingApproval() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_tc1::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_tc1::IfcActorSelect>(); } void Ifc4x3_tc1::IfcApproval::setGivingApproval(const ::Ifc4x3_tc1::IfcActorSelect& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcApproval::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[427], 3)); } -std::vector<::Ifc4x3_tc1::IfcRelAssociatesApproval> Ifc4x3_tc1::IfcApproval::ApprovedObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[907], 5)); } -std::vector<::Ifc4x3_tc1::IfcResourceApprovalRelationship> Ifc4x3_tc1::IfcApproval::ApprovedResources() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[953], 3)); } -std::vector<::Ifc4x3_tc1::IfcApprovalRelationship> Ifc4x3_tc1::IfcApproval::IsRelatedWith() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[53], 3)); } -std::vector<::Ifc4x3_tc1::IfcApprovalRelationship> Ifc4x3_tc1::IfcApproval::Relates() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[53], 2)); } +std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcApproval::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[427], 3)); } +std::vector<::Ifc4x3_tc1::IfcRelAssociatesApproval> Ifc4x3_tc1::IfcApproval::ApprovedObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[907], 5)); } +std::vector<::Ifc4x3_tc1::IfcResourceApprovalRelationship> Ifc4x3_tc1::IfcApproval::ApprovedResources() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[953], 3)); } +std::vector<::Ifc4x3_tc1::IfcApprovalRelationship> Ifc4x3_tc1::IfcApproval::IsRelatedWith() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[53], 3)); } +std::vector<::Ifc4x3_tc1::IfcApprovalRelationship> Ifc4x3_tc1::IfcApproval::Relates() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[53], 2)); } // const IfcParse::entity& Ifc4x3_tc1::IfcApproval::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[52]); } const IfcParse::entity& Ifc4x3_tc1::IfcApproval::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[52]); } @@ -9087,8 +9087,8 @@ void Ifc4x3_tc1::IfcClassification::setSpecification(const std::optional< std::s std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_tc1::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_tc1::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_tc1::IfcRelAssociatesClassification> Ifc4x3_tc1::IfcClassification::ClassificationForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[908], 5)); } -std::vector<::Ifc4x3_tc1::IfcClassificationReference> Ifc4x3_tc1::IfcClassification::HasReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[169], 3)); } +std::vector<::Ifc4x3_tc1::IfcRelAssociatesClassification> Ifc4x3_tc1::IfcClassification::ClassificationForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[908], 5)); } +std::vector<::Ifc4x3_tc1::IfcClassificationReference> Ifc4x3_tc1::IfcClassification::HasReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[169], 3)); } // const IfcParse::entity& Ifc4x3_tc1::IfcClassification::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[168]); } const IfcParse::entity& Ifc4x3_tc1::IfcClassification::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[168]); } @@ -9103,8 +9103,8 @@ void Ifc4x3_tc1::IfcClassificationReference::setDescription(const std::optional< std::optional< std::string > Ifc4x3_tc1::IfcClassificationReference::Sort() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcClassificationReference::setSort(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3_tc1::IfcRelAssociatesClassification> Ifc4x3_tc1::IfcClassificationReference::ClassificationRefForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[908], 5)); } -std::vector<::Ifc4x3_tc1::IfcClassificationReference> Ifc4x3_tc1::IfcClassificationReference::HasReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[169], 3)); } +std::vector<::Ifc4x3_tc1::IfcRelAssociatesClassification> Ifc4x3_tc1::IfcClassificationReference::ClassificationRefForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[908], 5)); } +std::vector<::Ifc4x3_tc1::IfcClassificationReference> Ifc4x3_tc1::IfcClassificationReference::HasReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[169], 3)); } // const IfcParse::entity& Ifc4x3_tc1::IfcClassificationReference::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[169]); } const IfcParse::entity& Ifc4x3_tc1::IfcClassificationReference::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[169]); } @@ -9439,8 +9439,8 @@ void Ifc4x3_tc1::IfcConstraint::setCreationTime(const std::optional< std::string std::optional< std::string > Ifc4x3_tc1::IfcConstraint::UserDefinedGrade() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcConstraint::setUserDefinedGrade(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcConstraint::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[427], 3)); } -std::vector<::Ifc4x3_tc1::IfcResourceConstraintRelationship> Ifc4x3_tc1::IfcConstraint::PropertiesForConstraint() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[954], 2)); } +std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcConstraint::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[427], 3)); } +std::vector<::Ifc4x3_tc1::IfcResourceConstraintRelationship> Ifc4x3_tc1::IfcConstraint::PropertiesForConstraint() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[954], 2)); } // const IfcParse::entity& Ifc4x3_tc1::IfcConstraint::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[212]); } const IfcParse::entity& Ifc4x3_tc1::IfcConstraint::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[212]); } @@ -9545,8 +9545,8 @@ void Ifc4x3_tc1::IfcContext::setRepresentationContexts(const std::optional< std: ::Ifc4x3_tc1::IfcUnitAssignment Ifc4x3_tc1::IfcContext::UnitsInContext() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_tc1::IfcUnitAssignment{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_tc1::IfcUnitAssignment>(); } void Ifc4x3_tc1::IfcContext::setUnitsInContext(const ::Ifc4x3_tc1::IfcUnitAssignment& v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::vector<::Ifc4x3_tc1::IfcRelDefinesByProperties> Ifc4x3_tc1::IfcContext::IsDefinedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[931], 4)); } -std::vector<::Ifc4x3_tc1::IfcRelDeclares> Ifc4x3_tc1::IfcContext::Declares() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[927], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelDefinesByProperties> Ifc4x3_tc1::IfcContext::IsDefinedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[931], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelDeclares> Ifc4x3_tc1::IfcContext::Declares() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[927], 4)); } // const IfcParse::entity& Ifc4x3_tc1::IfcContext::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[225]); } const IfcParse::entity& Ifc4x3_tc1::IfcContext::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[225]); } @@ -9557,7 +9557,7 @@ const IfcParse::entity& Ifc4x3_tc1::IfcContext::Class() { return *((IfcParse::en std::string Ifc4x3_tc1::IfcContextDependentUnit::Name() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcContextDependentUnit::setName(const std::string& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcContextDependentUnit::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[427], 3)); } +std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcContextDependentUnit::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[427], 3)); } // const IfcParse::entity& Ifc4x3_tc1::IfcContextDependentUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[227]); } const IfcParse::entity& Ifc4x3_tc1::IfcContextDependentUnit::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[227]); } @@ -9568,7 +9568,7 @@ const IfcParse::entity& Ifc4x3_tc1::IfcContextDependentUnit::Class() { return *( std::optional< std::string > Ifc4x3_tc1::IfcControl::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcControl::setIdentification(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3_tc1::IfcRelAssignsToControl> Ifc4x3_tc1::IfcControl::Controls() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[900], 6)); } +std::vector<::Ifc4x3_tc1::IfcRelAssignsToControl> Ifc4x3_tc1::IfcControl::Controls() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[900], 6)); } // const IfcParse::entity& Ifc4x3_tc1::IfcControl::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[228]); } const IfcParse::entity& Ifc4x3_tc1::IfcControl::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[228]); } @@ -9601,7 +9601,7 @@ void Ifc4x3_tc1::IfcConversionBasedUnit::setName(const std::string& v) { set_att ::Ifc4x3_tc1::IfcMeasureWithUnit Ifc4x3_tc1::IfcConversionBasedUnit::ConversionFactor() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_tc1::IfcMeasureWithUnit>(); } void Ifc4x3_tc1::IfcConversionBasedUnit::setConversionFactor(const ::Ifc4x3_tc1::IfcMeasureWithUnit& v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[427], 3)); } +std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[427], 3)); } // const IfcParse::entity& Ifc4x3_tc1::IfcConversionBasedUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[232]); } const IfcParse::entity& Ifc4x3_tc1::IfcConversionBasedUnit::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[232]); } @@ -9700,7 +9700,7 @@ void Ifc4x3_tc1::IfcCoordinateReferenceSystem::setGeodeticDatum(const std::optio std::optional< std::string > Ifc4x3_tc1::IfcCoordinateReferenceSystem::VerticalDatum() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcCoordinateReferenceSystem::setVerticalDatum(const std::optional< std::string >& v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -std::vector<::Ifc4x3_tc1::IfcCoordinateOperation> Ifc4x3_tc1::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[243], 0)); } +std::vector<::Ifc4x3_tc1::IfcCoordinateOperation> Ifc4x3_tc1::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[243], 0)); } // const IfcParse::entity& Ifc4x3_tc1::IfcCoordinateReferenceSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[244]); } const IfcParse::entity& Ifc4x3_tc1::IfcCoordinateReferenceSystem::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[244]); } @@ -9781,8 +9781,8 @@ const IfcParse::entity& Ifc4x3_tc1::IfcCourseType::Class() { return *((IfcParse: std::optional< ::Ifc4x3_tc1::IfcCoveringTypeEnum::Value > Ifc4x3_tc1::IfcCovering::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcCoveringTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcCovering::setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcCoveringTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcCoveringTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_tc1::IfcRelCoversSpaces> Ifc4x3_tc1::IfcCovering::CoversSpaces() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[926], 5)); } -std::vector<::Ifc4x3_tc1::IfcRelCoversBldgElements> Ifc4x3_tc1::IfcCovering::CoversElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[925], 5)); } +std::vector<::Ifc4x3_tc1::IfcRelCoversSpaces> Ifc4x3_tc1::IfcCovering::CoversSpaces() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[926], 5)); } +std::vector<::Ifc4x3_tc1::IfcRelCoversBldgElements> Ifc4x3_tc1::IfcCovering::CoversElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[925], 5)); } // const IfcParse::entity& Ifc4x3_tc1::IfcCovering::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[256]); } const IfcParse::entity& Ifc4x3_tc1::IfcCovering::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[256]); } @@ -10195,7 +10195,7 @@ const IfcParse::entity& Ifc4x3_tc1::IfcDistributionCircuit::Class() { return *(( // Function implementations for IfcDistributionControlElement -std::vector<::Ifc4x3_tc1::IfcRelFlowControlElements> Ifc4x3_tc1::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[935], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelFlowControlElements> Ifc4x3_tc1::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[935], 4)); } // const IfcParse::entity& Ifc4x3_tc1::IfcDistributionControlElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[319]); } const IfcParse::entity& Ifc4x3_tc1::IfcDistributionControlElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[319]); } @@ -10212,7 +10212,7 @@ const IfcParse::entity& Ifc4x3_tc1::IfcDistributionControlElementType::Class() { // Function implementations for IfcDistributionElement -std::vector<::Ifc4x3_tc1::IfcRelConnectsPortToElement> Ifc4x3_tc1::IfcDistributionElement::HasPorts() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[919], 5)); } +std::vector<::Ifc4x3_tc1::IfcRelConnectsPortToElement> Ifc4x3_tc1::IfcDistributionElement::HasPorts() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[919], 5)); } // const IfcParse::entity& Ifc4x3_tc1::IfcDistributionElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[321]); } const IfcParse::entity& Ifc4x3_tc1::IfcDistributionElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[321]); } @@ -10229,7 +10229,7 @@ const IfcParse::entity& Ifc4x3_tc1::IfcDistributionElementType::Class() { return // Function implementations for IfcDistributionFlowElement -std::vector<::Ifc4x3_tc1::IfcRelFlowControlElements> Ifc4x3_tc1::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[935], 5)); } +std::vector<::Ifc4x3_tc1::IfcRelFlowControlElements> Ifc4x3_tc1::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[935], 5)); } // const IfcParse::entity& Ifc4x3_tc1::IfcDistributionFlowElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[323]); } const IfcParse::entity& Ifc4x3_tc1::IfcDistributionFlowElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[323]); } @@ -10306,10 +10306,10 @@ void Ifc4x3_tc1::IfcDocumentInformation::setConfidentiality(const std::optional< std::optional< ::Ifc4x3_tc1::IfcDocumentStatusEnum::Value > Ifc4x3_tc1::IfcDocumentInformation::Status() const { if(get_attribute_value(16).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcDocumentStatusEnum::FromString(get_attribute_value(16)); } void Ifc4x3_tc1::IfcDocumentInformation::setStatus(const std::optional< ::Ifc4x3_tc1::IfcDocumentStatusEnum::Value >& v) { if (v) {set_attribute_value(16, EnumerationReference(&::Ifc4x3_tc1::IfcDocumentStatusEnum::Class(), (size_t) *v));} else {unset_attribute_value(16);} } -std::vector<::Ifc4x3_tc1::IfcRelAssociatesDocument> Ifc4x3_tc1::IfcDocumentInformation::DocumentInfoForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[910], 5)); } -std::vector<::Ifc4x3_tc1::IfcDocumentReference> Ifc4x3_tc1::IfcDocumentInformation::HasDocumentReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[332], 4)); } -std::vector<::Ifc4x3_tc1::IfcDocumentInformationRelationship> Ifc4x3_tc1::IfcDocumentInformation::IsPointedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[331], 3)); } -std::vector<::Ifc4x3_tc1::IfcDocumentInformationRelationship> Ifc4x3_tc1::IfcDocumentInformation::IsPointer() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[331], 2)); } +std::vector<::Ifc4x3_tc1::IfcRelAssociatesDocument> Ifc4x3_tc1::IfcDocumentInformation::DocumentInfoForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[910], 5)); } +std::vector<::Ifc4x3_tc1::IfcDocumentReference> Ifc4x3_tc1::IfcDocumentInformation::HasDocumentReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[332], 4)); } +std::vector<::Ifc4x3_tc1::IfcDocumentInformationRelationship> Ifc4x3_tc1::IfcDocumentInformation::IsPointedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[331], 3)); } +std::vector<::Ifc4x3_tc1::IfcDocumentInformationRelationship> Ifc4x3_tc1::IfcDocumentInformation::IsPointer() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[331], 2)); } // const IfcParse::entity& Ifc4x3_tc1::IfcDocumentInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[330]); } const IfcParse::entity& Ifc4x3_tc1::IfcDocumentInformation::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[330]); } @@ -10336,7 +10336,7 @@ void Ifc4x3_tc1::IfcDocumentReference::setDescription(const std::optional< std:: ::Ifc4x3_tc1::IfcDocumentInformation Ifc4x3_tc1::IfcDocumentReference::ReferencedDocument() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_tc1::IfcDocumentInformation{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_tc1::IfcDocumentInformation>(); } void Ifc4x3_tc1::IfcDocumentReference::setReferencedDocument(const ::Ifc4x3_tc1::IfcDocumentInformation& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector<::Ifc4x3_tc1::IfcRelAssociatesDocument> Ifc4x3_tc1::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[910], 5)); } +std::vector<::Ifc4x3_tc1::IfcRelAssociatesDocument> Ifc4x3_tc1::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[910], 5)); } // const IfcParse::entity& Ifc4x3_tc1::IfcDocumentReference::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[332]); } const IfcParse::entity& Ifc4x3_tc1::IfcDocumentReference::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[332]); } @@ -10711,18 +10711,18 @@ const IfcParse::entity& Ifc4x3_tc1::IfcElectricTimeControlType::Class() { return std::optional< std::string > Ifc4x3_tc1::IfcElement::Tag() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcElement::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -std::vector<::Ifc4x3_tc1::IfcRelFillsElement> Ifc4x3_tc1::IfcElement::FillsVoids() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[934], 5)); } -std::vector<::Ifc4x3_tc1::IfcRelConnectsElements> Ifc4x3_tc1::IfcElement::ConnectedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[916], 5)); } -std::vector<::Ifc4x3_tc1::IfcRelInterferesElements> Ifc4x3_tc1::IfcElement::IsInterferedByElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[936], 5)); } -std::vector<::Ifc4x3_tc1::IfcRelInterferesElements> Ifc4x3_tc1::IfcElement::InterferesElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[936], 4)); } -std::vector<::Ifc4x3_tc1::IfcRelProjectsElement> Ifc4x3_tc1::IfcElement::HasProjections() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[939], 4)); } -std::vector<::Ifc4x3_tc1::IfcRelVoidsElement> Ifc4x3_tc1::IfcElement::HasOpenings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[946], 4)); } -std::vector<::Ifc4x3_tc1::IfcRelConnectsWithRealizingElements> Ifc4x3_tc1::IfcElement::IsConnectionRealization() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[923], 7)); } -std::vector<::Ifc4x3_tc1::IfcRelSpaceBoundary> Ifc4x3_tc1::IfcElement::ProvidesBoundaries() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[943], 5)); } -std::vector<::Ifc4x3_tc1::IfcRelConnectsElements> Ifc4x3_tc1::IfcElement::ConnectedFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[916], 6)); } -std::vector<::Ifc4x3_tc1::IfcRelContainedInSpatialStructure> Ifc4x3_tc1::IfcElement::ContainedInStructure() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[924], 4)); } -std::vector<::Ifc4x3_tc1::IfcRelCoversBldgElements> Ifc4x3_tc1::IfcElement::HasCoverings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[925], 4)); } -std::vector<::Ifc4x3_tc1::IfcRelAdheresToElement> Ifc4x3_tc1::IfcElement::HasSurfaceFeatures() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[896], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelFillsElement> Ifc4x3_tc1::IfcElement::FillsVoids() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[934], 5)); } +std::vector<::Ifc4x3_tc1::IfcRelConnectsElements> Ifc4x3_tc1::IfcElement::ConnectedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[916], 5)); } +std::vector<::Ifc4x3_tc1::IfcRelInterferesElements> Ifc4x3_tc1::IfcElement::IsInterferedByElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[936], 5)); } +std::vector<::Ifc4x3_tc1::IfcRelInterferesElements> Ifc4x3_tc1::IfcElement::InterferesElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[936], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelProjectsElement> Ifc4x3_tc1::IfcElement::HasProjections() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[939], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelVoidsElement> Ifc4x3_tc1::IfcElement::HasOpenings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[946], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelConnectsWithRealizingElements> Ifc4x3_tc1::IfcElement::IsConnectionRealization() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[923], 7)); } +std::vector<::Ifc4x3_tc1::IfcRelSpaceBoundary> Ifc4x3_tc1::IfcElement::ProvidesBoundaries() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[943], 5)); } +std::vector<::Ifc4x3_tc1::IfcRelConnectsElements> Ifc4x3_tc1::IfcElement::ConnectedFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[916], 6)); } +std::vector<::Ifc4x3_tc1::IfcRelContainedInSpatialStructure> Ifc4x3_tc1::IfcElement::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[924], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelCoversBldgElements> Ifc4x3_tc1::IfcElement::HasCoverings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[925], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelAdheresToElement> Ifc4x3_tc1::IfcElement::HasSurfaceFeatures() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[896], 4)); } // const IfcParse::entity& Ifc4x3_tc1::IfcElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[392]); } const IfcParse::entity& Ifc4x3_tc1::IfcElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[392]); } @@ -10975,7 +10975,7 @@ void Ifc4x3_tc1::IfcExternalReference::setIdentification(const std::optional< st std::optional< std::string > Ifc4x3_tc1::IfcExternalReference::Name() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcExternalReference::setName(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[427], 2)); } +std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[427], 2)); } // const IfcParse::entity& Ifc4x3_tc1::IfcExternalReference::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[426]); } const IfcParse::entity& Ifc4x3_tc1::IfcExternalReference::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[426]); } @@ -10998,7 +10998,7 @@ const IfcParse::entity& Ifc4x3_tc1::IfcExternalReferenceRelationship::Class() { std::optional< ::Ifc4x3_tc1::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_tc1::IfcExternalSpatialElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcExternalSpatialElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcExternalSpatialElement::setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcExternalSpatialElementTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcExternalSpatialElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_tc1::IfcRelSpaceBoundary> Ifc4x3_tc1::IfcExternalSpatialElement::BoundedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[943], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelSpaceBoundary> Ifc4x3_tc1::IfcExternalSpatialElement::BoundedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[943], 4)); } // const IfcParse::entity& Ifc4x3_tc1::IfcExternalSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[428]); } const IfcParse::entity& Ifc4x3_tc1::IfcExternalSpatialElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[428]); } @@ -11063,7 +11063,7 @@ const IfcParse::entity& Ifc4x3_tc1::IfcExtrudedAreaSolidTapered::Class() { retur std::vector< ::Ifc4x3_tc1::IfcFaceBound > Ifc4x3_tc1::IfcFace::Bounds() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_tc1::IfcFaceBound>(es); } void Ifc4x3_tc1::IfcFace::setBounds(const std::vector< ::Ifc4x3_tc1::IfcFaceBound >& v) { set_attribute_value(0, cast_vector(v));if constexpr (false)unset_attribute_value(0); } -std::vector<::Ifc4x3_tc1::IfcTextureMap> Ifc4x3_tc1::IfcFace::HasTextureMaps() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[1193], 2)); } +std::vector<::Ifc4x3_tc1::IfcTextureMap> Ifc4x3_tc1::IfcFace::HasTextureMaps() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[1193], 2)); } // const IfcParse::entity& Ifc4x3_tc1::IfcFace::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[433]); } const IfcParse::entity& Ifc4x3_tc1::IfcFace::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[433]); } @@ -11228,7 +11228,7 @@ const IfcParse::entity& Ifc4x3_tc1::IfcFeatureElement::Class() { return *((IfcPa // Function implementations for IfcFeatureElementAddition -std::vector<::Ifc4x3_tc1::IfcRelProjectsElement> Ifc4x3_tc1::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[939], 5)); } +std::vector<::Ifc4x3_tc1::IfcRelProjectsElement> Ifc4x3_tc1::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[939], 5)); } // const IfcParse::entity& Ifc4x3_tc1::IfcFeatureElementAddition::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[453]); } const IfcParse::entity& Ifc4x3_tc1::IfcFeatureElementAddition::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[453]); } @@ -11237,7 +11237,7 @@ const IfcParse::entity& Ifc4x3_tc1::IfcFeatureElementAddition::Class() { return // Function implementations for IfcFeatureElementSubtraction -std::vector<::Ifc4x3_tc1::IfcRelVoidsElement> Ifc4x3_tc1::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[946], 5)); } +std::vector<::Ifc4x3_tc1::IfcRelVoidsElement> Ifc4x3_tc1::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[946], 5)); } // const IfcParse::entity& Ifc4x3_tc1::IfcFeatureElementSubtraction::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[454]); } const IfcParse::entity& Ifc4x3_tc1::IfcFeatureElementSubtraction::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[454]); } @@ -11586,8 +11586,8 @@ void Ifc4x3_tc1::IfcGeometricRepresentationContext::setWorldCoordinateSystem(con ::Ifc4x3_tc1::IfcDirection Ifc4x3_tc1::IfcGeometricRepresentationContext::TrueNorth() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_tc1::IfcDirection{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_tc1::IfcDirection>(); } void Ifc4x3_tc1::IfcGeometricRepresentationContext::setTrueNorth(const ::Ifc4x3_tc1::IfcDirection& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -std::vector<::Ifc4x3_tc1::IfcGeometricRepresentationSubContext> Ifc4x3_tc1::IfcGeometricRepresentationContext::HasSubContexts() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[507], 6)); } -std::vector<::Ifc4x3_tc1::IfcCoordinateOperation> Ifc4x3_tc1::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[243], 0)); } +std::vector<::Ifc4x3_tc1::IfcGeometricRepresentationSubContext> Ifc4x3_tc1::IfcGeometricRepresentationContext::HasSubContexts() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[507], 6)); } +std::vector<::Ifc4x3_tc1::IfcCoordinateOperation> Ifc4x3_tc1::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[243], 0)); } // const IfcParse::entity& Ifc4x3_tc1::IfcGeometricRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[505]); } const IfcParse::entity& Ifc4x3_tc1::IfcGeometricRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[505]); } @@ -11706,10 +11706,10 @@ void Ifc4x3_tc1::IfcGridAxis::setAxisCurve(const ::Ifc4x3_tc1::IfcCurve& v) { se bool Ifc4x3_tc1::IfcGridAxis::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcGridAxis::setSameSense(const bool& v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector<::Ifc4x3_tc1::IfcGrid> Ifc4x3_tc1::IfcGridAxis::PartOfW() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[519], 9)); } -std::vector<::Ifc4x3_tc1::IfcGrid> Ifc4x3_tc1::IfcGridAxis::PartOfV() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[519], 8)); } -std::vector<::Ifc4x3_tc1::IfcGrid> Ifc4x3_tc1::IfcGridAxis::PartOfU() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[519], 7)); } -std::vector<::Ifc4x3_tc1::IfcVirtualGridIntersection> Ifc4x3_tc1::IfcGridAxis::HasIntersections() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[1274], 0)); } +std::vector<::Ifc4x3_tc1::IfcGrid> Ifc4x3_tc1::IfcGridAxis::PartOfW() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[519], 9)); } +std::vector<::Ifc4x3_tc1::IfcGrid> Ifc4x3_tc1::IfcGridAxis::PartOfV() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[519], 8)); } +std::vector<::Ifc4x3_tc1::IfcGrid> Ifc4x3_tc1::IfcGridAxis::PartOfU() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[519], 7)); } +std::vector<::Ifc4x3_tc1::IfcVirtualGridIntersection> Ifc4x3_tc1::IfcGridAxis::HasIntersections() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[1274], 0)); } // const IfcParse::entity& Ifc4x3_tc1::IfcGridAxis::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[520]); } const IfcParse::entity& Ifc4x3_tc1::IfcGridAxis::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[520]); } @@ -11730,8 +11730,8 @@ const IfcParse::entity& Ifc4x3_tc1::IfcGridPlacement::Class() { return *((IfcPar // Function implementations for IfcGroup -std::vector<::Ifc4x3_tc1::IfcRelAssignsToGroup> Ifc4x3_tc1::IfcGroup::IsGroupedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[901], 6)); } -std::vector<::Ifc4x3_tc1::IfcRelReferencedInSpatialStructure> Ifc4x3_tc1::IfcGroup::ReferencedInStructures() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[940], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelAssignsToGroup> Ifc4x3_tc1::IfcGroup::IsGroupedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[901], 6)); } +std::vector<::Ifc4x3_tc1::IfcRelReferencedInSpatialStructure> Ifc4x3_tc1::IfcGroup::ReferencedInStructures() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[940], 4)); } // const IfcParse::entity& Ifc4x3_tc1::IfcGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[524]); } const IfcParse::entity& Ifc4x3_tc1::IfcGroup::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[524]); } @@ -11876,8 +11876,8 @@ const IfcParse::entity& Ifc4x3_tc1::IfcIndexedPolyCurve::Class() { return *((Ifc std::vector< int > /*[3:?]*/ Ifc4x3_tc1::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcIndexedPolygonalFace::setCoordIndex(const std::vector< int > /*[3:?]*/& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector<::Ifc4x3_tc1::IfcPolygonalFaceSet> Ifc4x3_tc1::IfcIndexedPolygonalFace::ToFaceSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[768], 2)); } -std::vector<::Ifc4x3_tc1::IfcTextureCoordinateIndices> Ifc4x3_tc1::IfcIndexedPolygonalFace::HasTexCoords() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[1191], 1)); } +std::vector<::Ifc4x3_tc1::IfcPolygonalFaceSet> Ifc4x3_tc1::IfcIndexedPolygonalFace::ToFaceSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[768], 2)); } +std::vector<::Ifc4x3_tc1::IfcTextureCoordinateIndices> Ifc4x3_tc1::IfcIndexedPolygonalFace::HasTexCoords() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[1191], 1)); } // const IfcParse::entity& Ifc4x3_tc1::IfcIndexedPolygonalFace::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[543]); } const IfcParse::entity& Ifc4x3_tc1::IfcIndexedPolygonalFace::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[543]); } @@ -12122,8 +12122,8 @@ void Ifc4x3_tc1::IfcLibraryInformation::setLocation(const std::optional< std::st std::optional< std::string > Ifc4x3_tc1::IfcLibraryInformation::Description() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcLibraryInformation::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3_tc1::IfcRelAssociatesLibrary> Ifc4x3_tc1::IfcLibraryInformation::LibraryInfoForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[911], 5)); } -std::vector<::Ifc4x3_tc1::IfcLibraryReference> Ifc4x3_tc1::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[585], 5)); } +std::vector<::Ifc4x3_tc1::IfcRelAssociatesLibrary> Ifc4x3_tc1::IfcLibraryInformation::LibraryInfoForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[911], 5)); } +std::vector<::Ifc4x3_tc1::IfcLibraryReference> Ifc4x3_tc1::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[585], 5)); } // const IfcParse::entity& Ifc4x3_tc1::IfcLibraryInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[584]); } const IfcParse::entity& Ifc4x3_tc1::IfcLibraryInformation::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[584]); } @@ -12138,7 +12138,7 @@ void Ifc4x3_tc1::IfcLibraryReference::setLanguage(const std::optional< std::stri ::Ifc4x3_tc1::IfcLibraryInformation Ifc4x3_tc1::IfcLibraryReference::ReferencedLibrary() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_tc1::IfcLibraryInformation{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_tc1::IfcLibraryInformation>(); } void Ifc4x3_tc1::IfcLibraryReference::setReferencedLibrary(const ::Ifc4x3_tc1::IfcLibraryInformation& v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -std::vector<::Ifc4x3_tc1::IfcRelAssociatesLibrary> Ifc4x3_tc1::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[911], 5)); } +std::vector<::Ifc4x3_tc1::IfcRelAssociatesLibrary> Ifc4x3_tc1::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[911], 5)); } // const IfcParse::entity& Ifc4x3_tc1::IfcLibraryReference::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[585]); } const IfcParse::entity& Ifc4x3_tc1::IfcLibraryReference::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[585]); } @@ -12431,9 +12431,9 @@ void Ifc4x3_tc1::IfcMaterial::setDescription(const std::optional< std::string >& std::optional< std::string > Ifc4x3_tc1::IfcMaterial::Category() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcMaterial::setCategory(const std::optional< std::string >& v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector<::Ifc4x3_tc1::IfcMaterialDefinitionRepresentation> Ifc4x3_tc1::IfcMaterial::HasRepresentation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[640], 3)); } -std::vector<::Ifc4x3_tc1::IfcMaterialRelationship> Ifc4x3_tc1::IfcMaterial::IsRelatedWith() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[652], 3)); } -std::vector<::Ifc4x3_tc1::IfcMaterialRelationship> Ifc4x3_tc1::IfcMaterial::RelatesTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[652], 2)); } +std::vector<::Ifc4x3_tc1::IfcMaterialDefinitionRepresentation> Ifc4x3_tc1::IfcMaterial::HasRepresentation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[640], 3)); } +std::vector<::Ifc4x3_tc1::IfcMaterialRelationship> Ifc4x3_tc1::IfcMaterial::IsRelatedWith() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[652], 3)); } +std::vector<::Ifc4x3_tc1::IfcMaterialRelationship> Ifc4x3_tc1::IfcMaterial::RelatesTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[652], 2)); } // const IfcParse::entity& Ifc4x3_tc1::IfcMaterial::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[635]); } const IfcParse::entity& Ifc4x3_tc1::IfcMaterial::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[635]); } @@ -12464,7 +12464,7 @@ void Ifc4x3_tc1::IfcMaterialConstituent::setFraction(const std::optional< double std::optional< std::string > Ifc4x3_tc1::IfcMaterialConstituent::Category() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcMaterialConstituent::setCategory(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector<::Ifc4x3_tc1::IfcMaterialConstituentSet> Ifc4x3_tc1::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[638], 2)); } +std::vector<::Ifc4x3_tc1::IfcMaterialConstituentSet> Ifc4x3_tc1::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[638], 2)); } // const IfcParse::entity& Ifc4x3_tc1::IfcMaterialConstituent::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[637]); } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialConstituent::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[637]); } @@ -12487,9 +12487,9 @@ const IfcParse::entity& Ifc4x3_tc1::IfcMaterialConstituentSet::Class() { return // Function implementations for IfcMaterialDefinition -std::vector<::Ifc4x3_tc1::IfcRelAssociatesMaterial> Ifc4x3_tc1::IfcMaterialDefinition::AssociatedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[912], 5)); } -std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcMaterialDefinition::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[427], 3)); } -std::vector<::Ifc4x3_tc1::IfcMaterialProperties> Ifc4x3_tc1::IfcMaterialDefinition::HasProperties() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[651], 3)); } +std::vector<::Ifc4x3_tc1::IfcRelAssociatesMaterial> Ifc4x3_tc1::IfcMaterialDefinition::AssociatedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[912], 5)); } +std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcMaterialDefinition::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[427], 3)); } +std::vector<::Ifc4x3_tc1::IfcMaterialProperties> Ifc4x3_tc1::IfcMaterialDefinition::HasProperties() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[651], 3)); } // const IfcParse::entity& Ifc4x3_tc1::IfcMaterialDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[639]); } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialDefinition::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[639]); } @@ -12522,7 +12522,7 @@ void Ifc4x3_tc1::IfcMaterialLayer::setCategory(const std::optional< std::string std::optional< int > Ifc4x3_tc1::IfcMaterialLayer::Priority() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } int v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcMaterialLayer::setPriority(const std::optional< int >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x3_tc1::IfcMaterialLayerSet> Ifc4x3_tc1::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[642], 0)); } +std::vector<::Ifc4x3_tc1::IfcMaterialLayerSet> Ifc4x3_tc1::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[642], 0)); } // const IfcParse::entity& Ifc4x3_tc1::IfcMaterialLayer::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[641]); } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialLayer::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[641]); } @@ -12597,7 +12597,7 @@ void Ifc4x3_tc1::IfcMaterialProfile::setPriority(const std::optional< int >& v) std::optional< std::string > Ifc4x3_tc1::IfcMaterialProfile::Category() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcMaterialProfile::setCategory(const std::optional< std::string >& v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3_tc1::IfcMaterialProfileSet> Ifc4x3_tc1::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[647], 2)); } +std::vector<::Ifc4x3_tc1::IfcMaterialProfileSet> Ifc4x3_tc1::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[647], 2)); } // const IfcParse::entity& Ifc4x3_tc1::IfcMaterialProfile::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[646]); } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialProfile::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[646]); } @@ -12682,7 +12682,7 @@ const IfcParse::entity& Ifc4x3_tc1::IfcMaterialRelationship::Class() { return *( // Function implementations for IfcMaterialUsageDefinition -std::vector<::Ifc4x3_tc1::IfcRelAssociatesMaterial> Ifc4x3_tc1::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[912], 5)); } +std::vector<::Ifc4x3_tc1::IfcRelAssociatesMaterial> Ifc4x3_tc1::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[912], 5)); } // const IfcParse::entity& Ifc4x3_tc1::IfcMaterialUsageDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[654]); } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialUsageDefinition::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[654]); } @@ -12899,10 +12899,10 @@ const IfcParse::entity& Ifc4x3_tc1::IfcNavigationElementType::Class() { return * std::optional< std::string > Ifc4x3_tc1::IfcObject::ObjectType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcObject::setObjectType(const std::optional< std::string >& v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::vector<::Ifc4x3_tc1::IfcRelDefinesByObject> Ifc4x3_tc1::IfcObject::IsDeclaredBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[930], 4)); } -std::vector<::Ifc4x3_tc1::IfcRelDefinesByObject> Ifc4x3_tc1::IfcObject::Declares() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[930], 5)); } -std::vector<::Ifc4x3_tc1::IfcRelDefinesByType> Ifc4x3_tc1::IfcObject::IsTypedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[933], 4)); } -std::vector<::Ifc4x3_tc1::IfcRelDefinesByProperties> Ifc4x3_tc1::IfcObject::IsDefinedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[931], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelDefinesByObject> Ifc4x3_tc1::IfcObject::IsDeclaredBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[930], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelDefinesByObject> Ifc4x3_tc1::IfcObject::Declares() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[930], 5)); } +std::vector<::Ifc4x3_tc1::IfcRelDefinesByType> Ifc4x3_tc1::IfcObject::IsTypedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[933], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelDefinesByProperties> Ifc4x3_tc1::IfcObject::IsDefinedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[931], 4)); } // const IfcParse::entity& Ifc4x3_tc1::IfcObject::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[698]); } const IfcParse::entity& Ifc4x3_tc1::IfcObject::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[698]); } @@ -12911,13 +12911,13 @@ const IfcParse::entity& Ifc4x3_tc1::IfcObject::Class() { return *((IfcParse::ent // Function implementations for IfcObjectDefinition -std::vector<::Ifc4x3_tc1::IfcRelAssigns> Ifc4x3_tc1::IfcObjectDefinition::HasAssignments() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[898], 4)); } -std::vector<::Ifc4x3_tc1::IfcRelNests> Ifc4x3_tc1::IfcObjectDefinition::Nests() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[937], 5)); } -std::vector<::Ifc4x3_tc1::IfcRelNests> Ifc4x3_tc1::IfcObjectDefinition::IsNestedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[937], 4)); } -std::vector<::Ifc4x3_tc1::IfcRelDeclares> Ifc4x3_tc1::IfcObjectDefinition::HasContext() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[927], 5)); } -std::vector<::Ifc4x3_tc1::IfcRelAggregates> Ifc4x3_tc1::IfcObjectDefinition::IsDecomposedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[897], 4)); } -std::vector<::Ifc4x3_tc1::IfcRelAggregates> Ifc4x3_tc1::IfcObjectDefinition::Decomposes() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[897], 5)); } -std::vector<::Ifc4x3_tc1::IfcRelAssociates> Ifc4x3_tc1::IfcObjectDefinition::HasAssociations() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[906], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelAssigns> Ifc4x3_tc1::IfcObjectDefinition::HasAssignments() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[898], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelNests> Ifc4x3_tc1::IfcObjectDefinition::Nests() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[937], 5)); } +std::vector<::Ifc4x3_tc1::IfcRelNests> Ifc4x3_tc1::IfcObjectDefinition::IsNestedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[937], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelDeclares> Ifc4x3_tc1::IfcObjectDefinition::HasContext() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[927], 5)); } +std::vector<::Ifc4x3_tc1::IfcRelAggregates> Ifc4x3_tc1::IfcObjectDefinition::IsDecomposedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[897], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelAggregates> Ifc4x3_tc1::IfcObjectDefinition::Decomposes() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[897], 5)); } +std::vector<::Ifc4x3_tc1::IfcRelAssociates> Ifc4x3_tc1::IfcObjectDefinition::HasAssociations() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[906], 4)); } // const IfcParse::entity& Ifc4x3_tc1::IfcObjectDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[699]); } const IfcParse::entity& Ifc4x3_tc1::IfcObjectDefinition::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[699]); } @@ -12928,8 +12928,8 @@ const IfcParse::entity& Ifc4x3_tc1::IfcObjectDefinition::Class() { return *((Ifc ::Ifc4x3_tc1::IfcObjectPlacement Ifc4x3_tc1::IfcObjectPlacement::PlacementRelTo() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_tc1::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcObjectPlacement>(); } void Ifc4x3_tc1::IfcObjectPlacement::setPlacementRelTo(const ::Ifc4x3_tc1::IfcObjectPlacement& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector<::Ifc4x3_tc1::IfcProduct> Ifc4x3_tc1::IfcObjectPlacement::PlacesObject() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[798], 5)); } -std::vector<::Ifc4x3_tc1::IfcObjectPlacement> Ifc4x3_tc1::IfcObjectPlacement::ReferencedByPlacements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[702], 0)); } +std::vector<::Ifc4x3_tc1::IfcProduct> Ifc4x3_tc1::IfcObjectPlacement::PlacesObject() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[798], 5)); } +std::vector<::Ifc4x3_tc1::IfcObjectPlacement> Ifc4x3_tc1::IfcObjectPlacement::ReferencedByPlacements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[702], 0)); } // const IfcParse::entity& Ifc4x3_tc1::IfcObjectPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[702]); } const IfcParse::entity& Ifc4x3_tc1::IfcObjectPlacement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[702]); } @@ -13040,7 +13040,7 @@ const IfcParse::entity& Ifc4x3_tc1::IfcOpenShell::Class() { return *((IfcParse:: std::optional< ::Ifc4x3_tc1::IfcOpeningElementTypeEnum::Value > Ifc4x3_tc1::IfcOpeningElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcOpeningElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcOpeningElement::setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcOpeningElementTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcOpeningElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_tc1::IfcRelFillsElement> Ifc4x3_tc1::IfcOpeningElement::HasFillings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[934], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelFillsElement> Ifc4x3_tc1::IfcOpeningElement::HasFillings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[934], 4)); } // const IfcParse::entity& Ifc4x3_tc1::IfcOpeningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[711]); } const IfcParse::entity& Ifc4x3_tc1::IfcOpeningElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[711]); } @@ -13059,9 +13059,9 @@ void Ifc4x3_tc1::IfcOrganization::setRoles(const std::optional< std::vector< ::I std::optional< std::vector< ::Ifc4x3_tc1::IfcAddress > > Ifc4x3_tc1::IfcOrganization::Addresses() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_tc1::IfcAddress>(es); } void Ifc4x3_tc1::IfcOrganization::setAddresses(const std::optional< std::vector< ::Ifc4x3_tc1::IfcAddress > >& v) { if (v) {set_attribute_value(4, cast_vector(*v));} else {unset_attribute_value(4);} } -std::vector<::Ifc4x3_tc1::IfcOrganizationRelationship> Ifc4x3_tc1::IfcOrganization::IsRelatedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[715], 3)); } -std::vector<::Ifc4x3_tc1::IfcOrganizationRelationship> Ifc4x3_tc1::IfcOrganization::Relates() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[715], 2)); } -std::vector<::Ifc4x3_tc1::IfcPersonAndOrganization> Ifc4x3_tc1::IfcOrganization::Engages() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[736], 1)); } +std::vector<::Ifc4x3_tc1::IfcOrganizationRelationship> Ifc4x3_tc1::IfcOrganization::IsRelatedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[715], 3)); } +std::vector<::Ifc4x3_tc1::IfcOrganizationRelationship> Ifc4x3_tc1::IfcOrganization::Relates() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[715], 2)); } +std::vector<::Ifc4x3_tc1::IfcPersonAndOrganization> Ifc4x3_tc1::IfcOrganization::Engages() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[736], 1)); } // const IfcParse::entity& Ifc4x3_tc1::IfcOrganization::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[714]); } const IfcParse::entity& Ifc4x3_tc1::IfcOrganization::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[714]); } @@ -13258,7 +13258,7 @@ void Ifc4x3_tc1::IfcPerson::setRoles(const std::optional< std::vector< ::Ifc4x3_ std::optional< std::vector< ::Ifc4x3_tc1::IfcAddress > > Ifc4x3_tc1::IfcPerson::Addresses() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_tc1::IfcAddress>(es); } void Ifc4x3_tc1::IfcPerson::setAddresses(const std::optional< std::vector< ::Ifc4x3_tc1::IfcAddress > >& v) { if (v) {set_attribute_value(7, cast_vector(*v));} else {unset_attribute_value(7);} } -std::vector<::Ifc4x3_tc1::IfcPersonAndOrganization> Ifc4x3_tc1::IfcPerson::EngagedIn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[736], 0)); } +std::vector<::Ifc4x3_tc1::IfcPersonAndOrganization> Ifc4x3_tc1::IfcPerson::EngagedIn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[736], 0)); } // const IfcParse::entity& Ifc4x3_tc1::IfcPerson::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[735]); } const IfcParse::entity& Ifc4x3_tc1::IfcPerson::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[735]); } @@ -13301,8 +13301,8 @@ void Ifc4x3_tc1::IfcPhysicalQuantity::setName(const std::string& v) { set_attrib std::optional< std::string > Ifc4x3_tc1::IfcPhysicalQuantity::Description() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcPhysicalQuantity::setDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcPhysicalQuantity::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[427], 3)); } -std::vector<::Ifc4x3_tc1::IfcPhysicalComplexQuantity> Ifc4x3_tc1::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[738], 2)); } +std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcPhysicalQuantity::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[427], 3)); } +std::vector<::Ifc4x3_tc1::IfcPhysicalComplexQuantity> Ifc4x3_tc1::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[738], 2)); } // const IfcParse::entity& Ifc4x3_tc1::IfcPhysicalQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[740]); } const IfcParse::entity& Ifc4x3_tc1::IfcPhysicalQuantity::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[740]); } @@ -13573,9 +13573,9 @@ const IfcParse::entity& Ifc4x3_tc1::IfcPolynomialCurve::Class() { return *((IfcP // Function implementations for IfcPort -std::vector<::Ifc4x3_tc1::IfcRelConnectsPortToElement> Ifc4x3_tc1::IfcPort::ContainedIn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[919], 4)); } -std::vector<::Ifc4x3_tc1::IfcRelConnectsPorts> Ifc4x3_tc1::IfcPort::ConnectedFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[918], 5)); } -std::vector<::Ifc4x3_tc1::IfcRelConnectsPorts> Ifc4x3_tc1::IfcPort::ConnectedTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[918], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelConnectsPortToElement> Ifc4x3_tc1::IfcPort::ContainedIn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[919], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelConnectsPorts> Ifc4x3_tc1::IfcPort::ConnectedFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[918], 5)); } +std::vector<::Ifc4x3_tc1::IfcRelConnectsPorts> Ifc4x3_tc1::IfcPort::ConnectedTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[918], 4)); } // const IfcParse::entity& Ifc4x3_tc1::IfcPort::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[772]); } const IfcParse::entity& Ifc4x3_tc1::IfcPort::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[772]); } @@ -13584,8 +13584,8 @@ const IfcParse::entity& Ifc4x3_tc1::IfcPort::Class() { return *((IfcParse::entit // Function implementations for IfcPositioningElement -std::vector<::Ifc4x3_tc1::IfcRelContainedInSpatialStructure> Ifc4x3_tc1::IfcPositioningElement::ContainedInStructure() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[924], 4)); } -std::vector<::Ifc4x3_tc1::IfcRelPositions> Ifc4x3_tc1::IfcPositioningElement::Positions() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[938], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelContainedInSpatialStructure> Ifc4x3_tc1::IfcPositioningElement::ContainedInStructure() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[924], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelPositions> Ifc4x3_tc1::IfcPositioningElement::Positions() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[938], 4)); } // const IfcParse::entity& Ifc4x3_tc1::IfcPositioningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[773]); } const IfcParse::entity& Ifc4x3_tc1::IfcPositioningElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[773]); } @@ -13740,9 +13740,9 @@ void Ifc4x3_tc1::IfcProcess::setIdentification(const std::optional< std::string std::optional< std::string > Ifc4x3_tc1::IfcProcess::LongDescription() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcProcess::setLongDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x3_tc1::IfcRelSequence> Ifc4x3_tc1::IfcProcess::IsPredecessorTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[941], 4)); } -std::vector<::Ifc4x3_tc1::IfcRelSequence> Ifc4x3_tc1::IfcProcess::IsSuccessorFrom() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[941], 5)); } -std::vector<::Ifc4x3_tc1::IfcRelAssignsToProcess> Ifc4x3_tc1::IfcProcess::OperatesOn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[903], 6)); } +std::vector<::Ifc4x3_tc1::IfcRelSequence> Ifc4x3_tc1::IfcProcess::IsPredecessorTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[941], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelSequence> Ifc4x3_tc1::IfcProcess::IsSuccessorFrom() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[941], 5)); } +std::vector<::Ifc4x3_tc1::IfcRelAssignsToProcess> Ifc4x3_tc1::IfcProcess::OperatesOn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[903], 6)); } // const IfcParse::entity& Ifc4x3_tc1::IfcProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[796]); } const IfcParse::entity& Ifc4x3_tc1::IfcProcess::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[796]); } @@ -13755,9 +13755,9 @@ void Ifc4x3_tc1::IfcProduct::setObjectPlacement(const ::Ifc4x3_tc1::IfcObjectPla ::Ifc4x3_tc1::IfcProductRepresentation Ifc4x3_tc1::IfcProduct::Representation() const { if(get_attribute_value(6).isNull()) { return ::Ifc4x3_tc1::IfcProductRepresentation{}; } return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_tc1::IfcProductRepresentation>(); } void Ifc4x3_tc1::IfcProduct::setRepresentation(const ::Ifc4x3_tc1::IfcProductRepresentation& v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::vector<::Ifc4x3_tc1::IfcRelAssignsToProduct> Ifc4x3_tc1::IfcProduct::ReferencedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[904], 6)); } -std::vector<::Ifc4x3_tc1::IfcRelPositions> Ifc4x3_tc1::IfcProduct::PositionedRelativeTo() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[938], 5)); } -std::vector<::Ifc4x3_tc1::IfcRelReferencedInSpatialStructure> Ifc4x3_tc1::IfcProduct::ReferencedInStructures() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[940], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelAssignsToProduct> Ifc4x3_tc1::IfcProduct::ReferencedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[904], 6)); } +std::vector<::Ifc4x3_tc1::IfcRelPositions> Ifc4x3_tc1::IfcProduct::PositionedRelativeTo() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[938], 5)); } +std::vector<::Ifc4x3_tc1::IfcRelReferencedInSpatialStructure> Ifc4x3_tc1::IfcProduct::ReferencedInStructures() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[940], 4)); } // const IfcParse::entity& Ifc4x3_tc1::IfcProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[798]); } const IfcParse::entity& Ifc4x3_tc1::IfcProduct::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[798]); } @@ -13766,8 +13766,8 @@ const IfcParse::entity& Ifc4x3_tc1::IfcProduct::Class() { return *((IfcParse::en // Function implementations for IfcProductDefinitionShape -std::vector<::Ifc4x3_tc1::IfcProduct> Ifc4x3_tc1::IfcProductDefinitionShape::ShapeOfProduct() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[798], 6)); } -std::vector<::Ifc4x3_tc1::IfcShapeAspect> Ifc4x3_tc1::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[1003], 4)); } +std::vector<::Ifc4x3_tc1::IfcProduct> Ifc4x3_tc1::IfcProductDefinitionShape::ShapeOfProduct() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[798], 6)); } +std::vector<::Ifc4x3_tc1::IfcShapeAspect> Ifc4x3_tc1::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[1003], 4)); } // const IfcParse::entity& Ifc4x3_tc1::IfcProductDefinitionShape::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[799]); } const IfcParse::entity& Ifc4x3_tc1::IfcProductDefinitionShape::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[799]); } @@ -13794,8 +13794,8 @@ void Ifc4x3_tc1::IfcProfileDef::setProfileType(const ::Ifc4x3_tc1::IfcProfileTyp std::optional< std::string > Ifc4x3_tc1::IfcProfileDef::ProfileName() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcProfileDef::setProfileName(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcProfileDef::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[427], 3)); } -std::vector<::Ifc4x3_tc1::IfcProfileProperties> Ifc4x3_tc1::IfcProfileDef::HasProperties() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[804], 3)); } +std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcProfileDef::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[427], 3)); } +std::vector<::Ifc4x3_tc1::IfcProfileProperties> Ifc4x3_tc1::IfcProfileDef::HasProperties() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[804], 3)); } // const IfcParse::entity& Ifc4x3_tc1::IfcProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[803]); } const IfcParse::entity& Ifc4x3_tc1::IfcProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[803]); } @@ -13872,12 +13872,12 @@ void Ifc4x3_tc1::IfcProperty::setName(const std::string& v) { set_attribute_valu std::optional< std::string > Ifc4x3_tc1::IfcProperty::Specification() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcProperty::setSpecification(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x3_tc1::IfcPropertySet> Ifc4x3_tc1::IfcProperty::PartOfPset() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[823], 4)); } -std::vector<::Ifc4x3_tc1::IfcPropertyDependencyRelationship> Ifc4x3_tc1::IfcProperty::PropertyForDependance() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[818], 2)); } -std::vector<::Ifc4x3_tc1::IfcPropertyDependencyRelationship> Ifc4x3_tc1::IfcProperty::PropertyDependsOn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[818], 3)); } -std::vector<::Ifc4x3_tc1::IfcComplexProperty> Ifc4x3_tc1::IfcProperty::PartOfComplex() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[189], 3)); } -std::vector<::Ifc4x3_tc1::IfcResourceConstraintRelationship> Ifc4x3_tc1::IfcProperty::HasConstraints() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[954], 3)); } -std::vector<::Ifc4x3_tc1::IfcResourceApprovalRelationship> Ifc4x3_tc1::IfcProperty::HasApprovals() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[953], 2)); } +std::vector<::Ifc4x3_tc1::IfcPropertySet> Ifc4x3_tc1::IfcProperty::PartOfPset() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[823], 4)); } +std::vector<::Ifc4x3_tc1::IfcPropertyDependencyRelationship> Ifc4x3_tc1::IfcProperty::PropertyForDependance() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[818], 2)); } +std::vector<::Ifc4x3_tc1::IfcPropertyDependencyRelationship> Ifc4x3_tc1::IfcProperty::PropertyDependsOn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[818], 3)); } +std::vector<::Ifc4x3_tc1::IfcComplexProperty> Ifc4x3_tc1::IfcProperty::PartOfComplex() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[189], 3)); } +std::vector<::Ifc4x3_tc1::IfcResourceConstraintRelationship> Ifc4x3_tc1::IfcProperty::HasConstraints() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[954], 3)); } +std::vector<::Ifc4x3_tc1::IfcResourceApprovalRelationship> Ifc4x3_tc1::IfcProperty::HasApprovals() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[953], 2)); } // const IfcParse::entity& Ifc4x3_tc1::IfcProperty::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[814]); } const IfcParse::entity& Ifc4x3_tc1::IfcProperty::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[814]); } @@ -13886,7 +13886,7 @@ const IfcParse::entity& Ifc4x3_tc1::IfcProperty::Class() { return *((IfcParse::e // Function implementations for IfcPropertyAbstraction -std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[427], 3)); } +std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[427], 3)); } // const IfcParse::entity& Ifc4x3_tc1::IfcPropertyAbstraction::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[815]); } const IfcParse::entity& Ifc4x3_tc1::IfcPropertyAbstraction::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[815]); } @@ -13911,8 +13911,8 @@ const IfcParse::entity& Ifc4x3_tc1::IfcPropertyBoundedValue::Class() { return *( // Function implementations for IfcPropertyDefinition -std::vector<::Ifc4x3_tc1::IfcRelDeclares> Ifc4x3_tc1::IfcPropertyDefinition::HasContext() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[927], 5)); } -std::vector<::Ifc4x3_tc1::IfcRelAssociates> Ifc4x3_tc1::IfcPropertyDefinition::HasAssociations() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[906], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelDeclares> Ifc4x3_tc1::IfcPropertyDefinition::HasContext() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[927], 5)); } +std::vector<::Ifc4x3_tc1::IfcRelAssociates> Ifc4x3_tc1::IfcPropertyDefinition::HasAssociations() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[906], 4)); } // const IfcParse::entity& Ifc4x3_tc1::IfcPropertyDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[817]); } const IfcParse::entity& Ifc4x3_tc1::IfcPropertyDefinition::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[817]); } @@ -13995,9 +13995,9 @@ const IfcParse::entity& Ifc4x3_tc1::IfcPropertySet::Class() { return *((IfcParse // Function implementations for IfcPropertySetDefinition -std::vector<::Ifc4x3_tc1::IfcTypeObject> Ifc4x3_tc1::IfcPropertySetDefinition::DefinesType() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[1238], 5)); } -std::vector<::Ifc4x3_tc1::IfcRelDefinesByTemplate> Ifc4x3_tc1::IfcPropertySetDefinition::IsDefinedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[932], 4)); } -std::vector<::Ifc4x3_tc1::IfcRelDefinesByProperties> Ifc4x3_tc1::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[931], 5)); } +std::vector<::Ifc4x3_tc1::IfcTypeObject> Ifc4x3_tc1::IfcPropertySetDefinition::DefinesType() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[1238], 5)); } +std::vector<::Ifc4x3_tc1::IfcRelDefinesByTemplate> Ifc4x3_tc1::IfcPropertySetDefinition::IsDefinedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[932], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelDefinesByProperties> Ifc4x3_tc1::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[931], 5)); } // const IfcParse::entity& Ifc4x3_tc1::IfcPropertySetDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[824]); } const IfcParse::entity& Ifc4x3_tc1::IfcPropertySetDefinition::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[824]); } @@ -14012,7 +14012,7 @@ void Ifc4x3_tc1::IfcPropertySetTemplate::setApplicableEntity(const std::optional std::vector< ::Ifc4x3_tc1::IfcPropertyTemplate > Ifc4x3_tc1::IfcPropertySetTemplate::HasPropertyTemplates() const { std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_tc1::IfcPropertyTemplate>(es); } void Ifc4x3_tc1::IfcPropertySetTemplate::setHasPropertyTemplates(const std::vector< ::Ifc4x3_tc1::IfcPropertyTemplate >& v) { set_attribute_value(6, cast_vector(v));if constexpr (false)unset_attribute_value(6); } -std::vector<::Ifc4x3_tc1::IfcRelDefinesByTemplate> Ifc4x3_tc1::IfcPropertySetTemplate::Defines() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[932], 5)); } +std::vector<::Ifc4x3_tc1::IfcRelDefinesByTemplate> Ifc4x3_tc1::IfcPropertySetTemplate::Defines() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[932], 5)); } // const IfcParse::entity& Ifc4x3_tc1::IfcPropertySetTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[827]); } const IfcParse::entity& Ifc4x3_tc1::IfcPropertySetTemplate::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[827]); } @@ -14053,8 +14053,8 @@ const IfcParse::entity& Ifc4x3_tc1::IfcPropertyTableValue::Class() { return *((I // Function implementations for IfcPropertyTemplate -std::vector<::Ifc4x3_tc1::IfcComplexPropertyTemplate> Ifc4x3_tc1::IfcPropertyTemplate::PartOfComplexTemplate() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[190], 6)); } -std::vector<::Ifc4x3_tc1::IfcPropertySetTemplate> Ifc4x3_tc1::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[827], 6)); } +std::vector<::Ifc4x3_tc1::IfcComplexPropertyTemplate> Ifc4x3_tc1::IfcPropertyTemplate::PartOfComplexTemplate() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[190], 6)); } +std::vector<::Ifc4x3_tc1::IfcPropertySetTemplate> Ifc4x3_tc1::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[827], 6)); } // const IfcParse::entity& Ifc4x3_tc1::IfcPropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[831]); } const IfcParse::entity& Ifc4x3_tc1::IfcPropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[831]); } @@ -15189,7 +15189,7 @@ const IfcParse::entity& Ifc4x3_tc1::IfcRelSpaceBoundary::Class() { return *((Ifc ::Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel>(); } void Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel::setParentBoundary(const ::Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel& v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -std::vector<::Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel> Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[944], 9)); } +std::vector<::Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel> Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[944], 9)); } // const IfcParse::entity& Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[944]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[944]); } @@ -15200,7 +15200,7 @@ const IfcParse::entity& Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel::Class() { retur ::Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel>(); } void Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(const ::Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel& v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -std::vector<::Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel> Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[945], 10)); } +std::vector<::Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel> Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[945], 10)); } // const IfcParse::entity& Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[945]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[945]); } @@ -15247,9 +15247,9 @@ void Ifc4x3_tc1::IfcRepresentation::setRepresentationType(const std::optional< s std::vector< ::Ifc4x3_tc1::IfcRepresentationItem > Ifc4x3_tc1::IfcRepresentation::Items() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_tc1::IfcRepresentationItem>(es); } void Ifc4x3_tc1::IfcRepresentation::setItems(const std::vector< ::Ifc4x3_tc1::IfcRepresentationItem >& v) { set_attribute_value(3, cast_vector(v));if constexpr (false)unset_attribute_value(3); } -std::vector<::Ifc4x3_tc1::IfcRepresentationMap> Ifc4x3_tc1::IfcRepresentation::RepresentationMap() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[951], 1)); } -std::vector<::Ifc4x3_tc1::IfcPresentationLayerAssignment> Ifc4x3_tc1::IfcRepresentation::LayerAssignments() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[789], 2)); } -std::vector<::Ifc4x3_tc1::IfcProductRepresentation> Ifc4x3_tc1::IfcRepresentation::OfProductRepresentation() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[800], 2)); } +std::vector<::Ifc4x3_tc1::IfcRepresentationMap> Ifc4x3_tc1::IfcRepresentation::RepresentationMap() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[951], 1)); } +std::vector<::Ifc4x3_tc1::IfcPresentationLayerAssignment> Ifc4x3_tc1::IfcRepresentation::LayerAssignments() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[789], 2)); } +std::vector<::Ifc4x3_tc1::IfcProductRepresentation> Ifc4x3_tc1::IfcRepresentation::OfProductRepresentation() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[800], 2)); } // const IfcParse::entity& Ifc4x3_tc1::IfcRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[948]); } const IfcParse::entity& Ifc4x3_tc1::IfcRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[948]); } @@ -15262,7 +15262,7 @@ void Ifc4x3_tc1::IfcRepresentationContext::setContextIdentifier(const std::optio std::optional< std::string > Ifc4x3_tc1::IfcRepresentationContext::ContextType() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcRepresentationContext::setContextType(const std::optional< std::string >& v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::vector<::Ifc4x3_tc1::IfcRepresentation> Ifc4x3_tc1::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[948], 0)); } +std::vector<::Ifc4x3_tc1::IfcRepresentation> Ifc4x3_tc1::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[948], 0)); } // const IfcParse::entity& Ifc4x3_tc1::IfcRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[949]); } const IfcParse::entity& Ifc4x3_tc1::IfcRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[949]); } @@ -15271,8 +15271,8 @@ const IfcParse::entity& Ifc4x3_tc1::IfcRepresentationContext::Class() { return * // Function implementations for IfcRepresentationItem -std::vector<::Ifc4x3_tc1::IfcPresentationLayerAssignment> Ifc4x3_tc1::IfcRepresentationItem::LayerAssignment() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[789], 2)); } -std::vector<::Ifc4x3_tc1::IfcStyledItem> Ifc4x3_tc1::IfcRepresentationItem::StyledByItem() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[1114], 0)); } +std::vector<::Ifc4x3_tc1::IfcPresentationLayerAssignment> Ifc4x3_tc1::IfcRepresentationItem::LayerAssignment() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[789], 2)); } +std::vector<::Ifc4x3_tc1::IfcStyledItem> Ifc4x3_tc1::IfcRepresentationItem::StyledByItem() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[1114], 0)); } // const IfcParse::entity& Ifc4x3_tc1::IfcRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[950]); } const IfcParse::entity& Ifc4x3_tc1::IfcRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[950]); } @@ -15285,8 +15285,8 @@ void Ifc4x3_tc1::IfcRepresentationMap::setMappingOrigin(const ::Ifc4x3_tc1::IfcA ::Ifc4x3_tc1::IfcRepresentation Ifc4x3_tc1::IfcRepresentationMap::MappedRepresentation() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_tc1::IfcRepresentation>(); } void Ifc4x3_tc1::IfcRepresentationMap::setMappedRepresentation(const ::Ifc4x3_tc1::IfcRepresentation& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector<::Ifc4x3_tc1::IfcShapeAspect> Ifc4x3_tc1::IfcRepresentationMap::HasShapeAspects() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[1003], 4)); } -std::vector<::Ifc4x3_tc1::IfcMappedItem> Ifc4x3_tc1::IfcRepresentationMap::MapUsage() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[626], 0)); } +std::vector<::Ifc4x3_tc1::IfcShapeAspect> Ifc4x3_tc1::IfcRepresentationMap::HasShapeAspects() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[1003], 4)); } +std::vector<::Ifc4x3_tc1::IfcMappedItem> Ifc4x3_tc1::IfcRepresentationMap::MapUsage() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[626], 0)); } // const IfcParse::entity& Ifc4x3_tc1::IfcRepresentationMap::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[951]); } const IfcParse::entity& Ifc4x3_tc1::IfcRepresentationMap::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[951]); } @@ -15299,7 +15299,7 @@ void Ifc4x3_tc1::IfcResource::setIdentification(const std::optional< std::string std::optional< std::string > Ifc4x3_tc1::IfcResource::LongDescription() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcResource::setLongDescription(const std::optional< std::string >& v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -std::vector<::Ifc4x3_tc1::IfcRelAssignsToResource> Ifc4x3_tc1::IfcResource::ResourceOf() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[905], 6)); } +std::vector<::Ifc4x3_tc1::IfcRelAssignsToResource> Ifc4x3_tc1::IfcResource::ResourceOf() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[905], 6)); } // const IfcParse::entity& Ifc4x3_tc1::IfcResource::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[952]); } const IfcParse::entity& Ifc4x3_tc1::IfcResource::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[952]); } @@ -15648,7 +15648,7 @@ const IfcParse::entity& Ifc4x3_tc1::IfcSectionedSurface::Class() { return *((Ifc ::Ifc4x3_tc1::IfcTransitionCode::Value Ifc4x3_tc1::IfcSegment::Transition() const { return ::Ifc4x3_tc1::IfcTransitionCode::FromString(get_attribute_value(0)); } void Ifc4x3_tc1::IfcSegment::setTransition(const ::Ifc4x3_tc1::IfcTransitionCode::Value& v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_tc1::IfcTransitionCode::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -std::vector<::Ifc4x3_tc1::IfcCompositeCurve> Ifc4x3_tc1::IfcSegment::UsingCurves() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[192], 0)); } +std::vector<::Ifc4x3_tc1::IfcCompositeCurve> Ifc4x3_tc1::IfcSegment::UsingCurves() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[192], 0)); } // const IfcParse::entity& Ifc4x3_tc1::IfcSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[992]); } const IfcParse::entity& Ifc4x3_tc1::IfcSegment::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[992]); } @@ -15743,7 +15743,7 @@ void Ifc4x3_tc1::IfcShapeAspect::setProductDefinitional(const boost::logic::trib ::Ifc4x3_tc1::IfcProductRepresentationSelect Ifc4x3_tc1::IfcShapeAspect::PartOfProductDefinitionShape() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_tc1::IfcProductRepresentationSelect{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_tc1::IfcProductRepresentationSelect>(); } void Ifc4x3_tc1::IfcShapeAspect::setPartOfProductDefinitionShape(const ::Ifc4x3_tc1::IfcProductRepresentationSelect& v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcShapeAspect::HasExternalReferences() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[427], 3)); } +std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcShapeAspect::HasExternalReferences() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[427], 3)); } // const IfcParse::entity& Ifc4x3_tc1::IfcShapeAspect::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1003]); } const IfcParse::entity& Ifc4x3_tc1::IfcShapeAspect::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1003]); } @@ -15752,7 +15752,7 @@ const IfcParse::entity& Ifc4x3_tc1::IfcShapeAspect::Class() { return *((IfcParse // Function implementations for IfcShapeModel -std::vector<::Ifc4x3_tc1::IfcShapeAspect> Ifc4x3_tc1::IfcShapeModel::OfShapeAspect() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[1003], 0)); } +std::vector<::Ifc4x3_tc1::IfcShapeAspect> Ifc4x3_tc1::IfcShapeModel::OfShapeAspect() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[1003], 0)); } // const IfcParse::entity& Ifc4x3_tc1::IfcShapeModel::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1004]); } const IfcParse::entity& Ifc4x3_tc1::IfcShapeModel::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1004]); } @@ -15949,8 +15949,8 @@ void Ifc4x3_tc1::IfcSpace::setPredefinedType(const std::optional< ::Ifc4x3_tc1:: std::optional< double > Ifc4x3_tc1::IfcSpace::ElevationWithFlooring() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } double v = get_attribute_value(10); return v; } void Ifc4x3_tc1::IfcSpace::setElevationWithFlooring(const std::optional< double >& v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -std::vector<::Ifc4x3_tc1::IfcRelCoversSpaces> Ifc4x3_tc1::IfcSpace::HasCoverings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[926], 4)); } -std::vector<::Ifc4x3_tc1::IfcRelSpaceBoundary> Ifc4x3_tc1::IfcSpace::BoundedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[943], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelCoversSpaces> Ifc4x3_tc1::IfcSpace::HasCoverings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[926], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelSpaceBoundary> Ifc4x3_tc1::IfcSpace::BoundedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[943], 4)); } // const IfcParse::entity& Ifc4x3_tc1::IfcSpace::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1039]); } const IfcParse::entity& Ifc4x3_tc1::IfcSpace::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1039]); } @@ -15993,11 +15993,11 @@ const IfcParse::entity& Ifc4x3_tc1::IfcSpaceType::Class() { return *((IfcParse:: std::optional< std::string > Ifc4x3_tc1::IfcSpatialElement::LongName() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcSpatialElement::setLongName(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -std::vector<::Ifc4x3_tc1::IfcRelContainedInSpatialStructure> Ifc4x3_tc1::IfcSpatialElement::ContainsElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[924], 5)); } -std::vector<::Ifc4x3_tc1::IfcRelServicesBuildings> Ifc4x3_tc1::IfcSpatialElement::ServicedBySystems() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[942], 5)); } -std::vector<::Ifc4x3_tc1::IfcRelReferencedInSpatialStructure> Ifc4x3_tc1::IfcSpatialElement::ReferencesElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[940], 5)); } -std::vector<::Ifc4x3_tc1::IfcRelInterferesElements> Ifc4x3_tc1::IfcSpatialElement::IsInterferedByElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[936], 5)); } -std::vector<::Ifc4x3_tc1::IfcRelInterferesElements> Ifc4x3_tc1::IfcSpatialElement::InterferesElements() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[936], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelContainedInSpatialStructure> Ifc4x3_tc1::IfcSpatialElement::ContainsElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[924], 5)); } +std::vector<::Ifc4x3_tc1::IfcRelServicesBuildings> Ifc4x3_tc1::IfcSpatialElement::ServicedBySystems() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[942], 5)); } +std::vector<::Ifc4x3_tc1::IfcRelReferencedInSpatialStructure> Ifc4x3_tc1::IfcSpatialElement::ReferencesElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[940], 5)); } +std::vector<::Ifc4x3_tc1::IfcRelInterferesElements> Ifc4x3_tc1::IfcSpatialElement::IsInterferedByElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[936], 5)); } +std::vector<::Ifc4x3_tc1::IfcRelInterferesElements> Ifc4x3_tc1::IfcSpatialElement::InterferesElements() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[936], 4)); } // const IfcParse::entity& Ifc4x3_tc1::IfcSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1046]); } const IfcParse::entity& Ifc4x3_tc1::IfcSpatialElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1046]); } @@ -16168,7 +16168,7 @@ void Ifc4x3_tc1::IfcStructuralActivity::setAppliedLoad(const ::Ifc4x3_tc1::IfcSt ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value Ifc4x3_tc1::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcStructuralActivity::setGlobalOrLocal(const ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value& v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -std::vector<::Ifc4x3_tc1::IfcRelConnectsStructuralActivity> Ifc4x3_tc1::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[920], 5)); } +std::vector<::Ifc4x3_tc1::IfcRelConnectsStructuralActivity> Ifc4x3_tc1::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[920], 5)); } // const IfcParse::entity& Ifc4x3_tc1::IfcStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1073]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralActivity::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1073]); } @@ -16197,7 +16197,7 @@ const IfcParse::entity& Ifc4x3_tc1::IfcStructuralAnalysisModel::Class() { return ::Ifc4x3_tc1::IfcBoundaryCondition Ifc4x3_tc1::IfcStructuralConnection::AppliedCondition() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_tc1::IfcBoundaryCondition{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_tc1::IfcBoundaryCondition>(); } void Ifc4x3_tc1::IfcStructuralConnection::setAppliedCondition(const ::Ifc4x3_tc1::IfcBoundaryCondition& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector<::Ifc4x3_tc1::IfcRelConnectsStructuralMember> Ifc4x3_tc1::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[921], 5)); } +std::vector<::Ifc4x3_tc1::IfcRelConnectsStructuralMember> Ifc4x3_tc1::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[921], 5)); } // const IfcParse::entity& Ifc4x3_tc1::IfcStructuralConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1076]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralConnection::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1076]); } @@ -16268,7 +16268,7 @@ const IfcParse::entity& Ifc4x3_tc1::IfcStructuralCurveReaction::Class() { return // Function implementations for IfcStructuralItem -std::vector<::Ifc4x3_tc1::IfcRelConnectsStructuralActivity> Ifc4x3_tc1::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[920], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelConnectsStructuralActivity> Ifc4x3_tc1::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[920], 4)); } // const IfcParse::entity& Ifc4x3_tc1::IfcStructuralItem::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1085]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralItem::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1085]); } @@ -16327,8 +16327,8 @@ void Ifc4x3_tc1::IfcStructuralLoadGroup::setCoefficient(const std::optional< dou std::optional< std::string > Ifc4x3_tc1::IfcStructuralLoadGroup::Purpose() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_tc1::IfcStructuralLoadGroup::setPurpose(const std::optional< std::string >& v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -std::vector<::Ifc4x3_tc1::IfcStructuralResultGroup> Ifc4x3_tc1::IfcStructuralLoadGroup::SourceOfResultGroup() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[1106], 6)); } -std::vector<::Ifc4x3_tc1::IfcStructuralAnalysisModel> Ifc4x3_tc1::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[1075], 7)); } +std::vector<::Ifc4x3_tc1::IfcStructuralResultGroup> Ifc4x3_tc1::IfcStructuralLoadGroup::SourceOfResultGroup() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[1106], 6)); } +std::vector<::Ifc4x3_tc1::IfcStructuralAnalysisModel> Ifc4x3_tc1::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[1075], 7)); } // const IfcParse::entity& Ifc4x3_tc1::IfcStructuralLoadGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1090]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralLoadGroup::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1090]); } @@ -16461,7 +16461,7 @@ const IfcParse::entity& Ifc4x3_tc1::IfcStructuralLoadTemperature::Class() { retu // Function implementations for IfcStructuralMember -std::vector<::Ifc4x3_tc1::IfcRelConnectsStructuralMember> Ifc4x3_tc1::IfcStructuralMember::ConnectedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[921], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelConnectsStructuralMember> Ifc4x3_tc1::IfcStructuralMember::ConnectedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[921], 4)); } // const IfcParse::entity& Ifc4x3_tc1::IfcStructuralMember::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1100]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralMember::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1100]); } @@ -16518,7 +16518,7 @@ void Ifc4x3_tc1::IfcStructuralResultGroup::setResultForLoadGroup(const ::Ifc4x3_ bool Ifc4x3_tc1::IfcStructuralResultGroup::IsLinear() const { bool v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcStructuralResultGroup::setIsLinear(const bool& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector<::Ifc4x3_tc1::IfcStructuralAnalysisModel> Ifc4x3_tc1::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[1075], 8)); } +std::vector<::Ifc4x3_tc1::IfcStructuralAnalysisModel> Ifc4x3_tc1::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[1075], 8)); } // const IfcParse::entity& Ifc4x3_tc1::IfcStructuralResultGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1106]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralResultGroup::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1106]); } @@ -16671,7 +16671,7 @@ const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceCurveSweptAreaSolid::Class() { ret std::optional< ::Ifc4x3_tc1::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3_tc1::IfcSurfaceFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcSurfaceFeatureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcSurfaceFeature::setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcSurfaceFeatureTypeEnum::Value >& v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcSurfaceFeatureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_tc1::IfcRelAdheresToElement> Ifc4x3_tc1::IfcSurfaceFeature::AdheresToElement() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[896], 5)); } +std::vector<::Ifc4x3_tc1::IfcRelAdheresToElement> Ifc4x3_tc1::IfcSurfaceFeature::AdheresToElement() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[896], 5)); } // const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceFeature::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1124]); } const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceFeature::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1124]); } @@ -16810,8 +16810,8 @@ void Ifc4x3_tc1::IfcSurfaceTexture::setTextureTransform(const ::Ifc4x3_tc1::IfcC std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_tc1::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_tc1::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_tc1::IfcTextureCoordinate> Ifc4x3_tc1::IfcSurfaceTexture::IsMappedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[1189], 0)); } -std::vector<::Ifc4x3_tc1::IfcSurfaceStyleWithTextures> Ifc4x3_tc1::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[1137], 0)); } +std::vector<::Ifc4x3_tc1::IfcTextureCoordinate> Ifc4x3_tc1::IfcSurfaceTexture::IsMappedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[1189], 0)); } +std::vector<::Ifc4x3_tc1::IfcSurfaceStyleWithTextures> Ifc4x3_tc1::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[1137], 0)); } // const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1138]); } const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceTexture::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1138]); } @@ -16892,8 +16892,8 @@ const IfcParse::entity& Ifc4x3_tc1::IfcSwitchingDeviceType::Class() { return *(( // Function implementations for IfcSystem -std::vector<::Ifc4x3_tc1::IfcRelServicesBuildings> Ifc4x3_tc1::IfcSystem::ServicesBuildings() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[942], 4)); } -std::vector<::Ifc4x3_tc1::IfcRelReferencedInSpatialStructure> Ifc4x3_tc1::IfcSystem::ServicesFacilities() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[940], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelServicesBuildings> Ifc4x3_tc1::IfcSystem::ServicesBuildings() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[942], 4)); } +std::vector<::Ifc4x3_tc1::IfcRelReferencedInSpatialStructure> Ifc4x3_tc1::IfcSystem::ServicesFacilities() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[940], 4)); } // const IfcParse::entity& Ifc4x3_tc1::IfcSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1146]); } const IfcParse::entity& Ifc4x3_tc1::IfcSystem::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1146]); } @@ -17198,8 +17198,8 @@ const IfcParse::entity& Ifc4x3_tc1::IfcTendonType::Class() { return *((IfcParse: ::Ifc4x3_tc1::IfcCartesianPointList3D Ifc4x3_tc1::IfcTessellatedFaceSet::Coordinates() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcCartesianPointList3D>(); } void Ifc4x3_tc1::IfcTessellatedFaceSet::setCoordinates(const ::Ifc4x3_tc1::IfcCartesianPointList3D& v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector<::Ifc4x3_tc1::IfcIndexedColourMap> Ifc4x3_tc1::IfcTessellatedFaceSet::HasColours() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[541], 0)); } -std::vector<::Ifc4x3_tc1::IfcIndexedTextureMap> Ifc4x3_tc1::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[546], 1)); } +std::vector<::Ifc4x3_tc1::IfcIndexedColourMap> Ifc4x3_tc1::IfcTessellatedFaceSet::HasColours() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[541], 0)); } +std::vector<::Ifc4x3_tc1::IfcIndexedTextureMap> Ifc4x3_tc1::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[546], 1)); } // const IfcParse::entity& Ifc4x3_tc1::IfcTessellatedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1174]); } const IfcParse::entity& Ifc4x3_tc1::IfcTessellatedFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1174]); } @@ -17336,7 +17336,7 @@ void Ifc4x3_tc1::IfcTextureCoordinateIndices::setTexCoordIndex(const std::vector ::Ifc4x3_tc1::IfcIndexedPolygonalFace Ifc4x3_tc1::IfcTextureCoordinateIndices::TexCoordsOf() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_tc1::IfcIndexedPolygonalFace>(); } void Ifc4x3_tc1::IfcTextureCoordinateIndices::setTexCoordsOf(const ::Ifc4x3_tc1::IfcIndexedPolygonalFace& v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector<::Ifc4x3_tc1::IfcIndexedPolygonalTextureMap> Ifc4x3_tc1::IfcTextureCoordinateIndices::ToTexMap() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[545], 3)); } +std::vector<::Ifc4x3_tc1::IfcIndexedPolygonalTextureMap> Ifc4x3_tc1::IfcTextureCoordinateIndices::ToTexMap() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[545], 3)); } // const IfcParse::entity& Ifc4x3_tc1::IfcTextureCoordinateIndices::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1191]); } const IfcParse::entity& Ifc4x3_tc1::IfcTextureCoordinateIndices::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1191]); } @@ -17431,7 +17431,7 @@ void Ifc4x3_tc1::IfcTimeSeries::setUserDefinedDataOrigin(const std::optional< st ::Ifc4x3_tc1::IfcUnit Ifc4x3_tc1::IfcTimeSeries::Unit() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_tc1::IfcUnit{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_tc1::IfcUnit>(); } void Ifc4x3_tc1::IfcTimeSeries::setUnit(const ::Ifc4x3_tc1::IfcUnit& v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcTimeSeries::HasExternalReference() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[427], 3)); } +std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcTimeSeries::HasExternalReference() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[427], 3)); } // const IfcParse::entity& Ifc4x3_tc1::IfcTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1207]); } const IfcParse::entity& Ifc4x3_tc1::IfcTimeSeries::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1207]); } @@ -17638,7 +17638,7 @@ void Ifc4x3_tc1::IfcTypeObject::setApplicableOccurrence(const std::optional< std std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > Ifc4x3_tc1::IfcTypeObject::HasPropertySets() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(5); return cast_vector<::Ifc4x3_tc1::IfcPropertySetDefinition>(es); } void Ifc4x3_tc1::IfcTypeObject::setHasPropertySets(const std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > >& v) { if (v) {set_attribute_value(5, cast_vector(*v));} else {unset_attribute_value(5);} } -std::vector<::Ifc4x3_tc1::IfcRelDefinesByType> Ifc4x3_tc1::IfcTypeObject::Types() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[933], 5)); } +std::vector<::Ifc4x3_tc1::IfcRelDefinesByType> Ifc4x3_tc1::IfcTypeObject::Types() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[933], 5)); } // const IfcParse::entity& Ifc4x3_tc1::IfcTypeObject::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1238]); } const IfcParse::entity& Ifc4x3_tc1::IfcTypeObject::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1238]); } @@ -17653,7 +17653,7 @@ void Ifc4x3_tc1::IfcTypeProcess::setLongDescription(const std::optional< std::st std::optional< std::string > Ifc4x3_tc1::IfcTypeProcess::ProcessType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcTypeProcess::setProcessType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_tc1::IfcRelAssignsToProcess> Ifc4x3_tc1::IfcTypeProcess::OperatesOn() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[903], 6)); } +std::vector<::Ifc4x3_tc1::IfcRelAssignsToProcess> Ifc4x3_tc1::IfcTypeProcess::OperatesOn() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[903], 6)); } // const IfcParse::entity& Ifc4x3_tc1::IfcTypeProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1239]); } const IfcParse::entity& Ifc4x3_tc1::IfcTypeProcess::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1239]); } @@ -17666,7 +17666,7 @@ void Ifc4x3_tc1::IfcTypeProduct::setRepresentationMaps(const std::optional< std: std::optional< std::string > Ifc4x3_tc1::IfcTypeProduct::Tag() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcTypeProduct::setTag(const std::optional< std::string >& v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -std::vector<::Ifc4x3_tc1::IfcRelAssignsToProduct> Ifc4x3_tc1::IfcTypeProduct::ReferencedBy() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[904], 6)); } +std::vector<::Ifc4x3_tc1::IfcRelAssignsToProduct> Ifc4x3_tc1::IfcTypeProduct::ReferencedBy() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[904], 6)); } // const IfcParse::entity& Ifc4x3_tc1::IfcTypeProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1240]); } const IfcParse::entity& Ifc4x3_tc1::IfcTypeProduct::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1240]); } @@ -17681,7 +17681,7 @@ void Ifc4x3_tc1::IfcTypeResource::setLongDescription(const std::optional< std::s std::optional< std::string > Ifc4x3_tc1::IfcTypeResource::ResourceType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcTypeResource::setResourceType(const std::optional< std::string >& v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -std::vector<::Ifc4x3_tc1::IfcRelAssignsToResource> Ifc4x3_tc1::IfcTypeResource::ResourceOf() const { return cast_vector(data()->file()->getInverse(data()->id(), IFC4X3_TC1_types[905], 6)); } +std::vector<::Ifc4x3_tc1::IfcRelAssignsToResource> Ifc4x3_tc1::IfcTypeResource::ResourceOf() const { return cast_vector(file()->getInverse(data()->id(), IFC4X3_TC1_types[905], 6)); } // const IfcParse::entity& Ifc4x3_tc1::IfcTypeResource::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1241]); } const IfcParse::entity& Ifc4x3_tc1::IfcTypeResource::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1241]); } diff --git a/src/ifcparse/IfcFile.h b/src/ifcparse/IfcFile.h index 450fcbd34a..4e68aab43a 100644 --- a/src/ifcparse/IfcFile.h +++ b/src/ifcparse/IfcFile.h @@ -375,7 +375,7 @@ public: void recalculate_id_counter(); - express::Base addEntity(const express::Base& entity); + express::Base addEntity(const express::Base& entity, int id = -1); /// Removes entity instance from file and unsets references. /// diff --git a/src/ifcparse/IfcParse.cpp b/src/ifcparse/IfcParse.cpp index b9f510f2b1..992020eb15 100644 --- a/src/ifcparse/IfcParse.cpp +++ b/src/ifcparse/IfcParse.cpp @@ -946,7 +946,7 @@ void InstanceData::toString(std::ostream& ss, bool upper) const { ss << "$"; } } else { - apply_visitor(vis, i); + get_attribute_value(i).apply_visitor(vis); } } ss << ")"; @@ -1112,14 +1112,14 @@ express::Base::set_attribute_value(size_t i, const T& t) { auto current_attribute = get_attribute_value(i); // Deregister old attribute guid in file guid map. - if (i == 0 && (data()->file()->ifcroot_type() != nullptr) && this->declaration().is(*data()->file()->ifcroot_type())) { + if (i == 0 && (file()->ifcroot_type() != nullptr) && this->declaration().is(*file()->ifcroot_type())) { try { auto guid = (std::string) current_attribute; - auto it = data()->file()->internal_guid_map().find(guid); - if (it != data()->file()->internal_guid_map().end()) { + auto it = file()->internal_guid_map().find(guid); + if (it != file()->internal_guid_map().end()) { const std::pair& p = *it; if (p.second == *this) { - data()->file()->internal_guid_map().erase(it); + file()->internal_guid_map().erase(it); } } } catch (IfcParse::IfcException& e) { @@ -1129,31 +1129,31 @@ express::Base::set_attribute_value(size_t i, const T& t) { if constexpr (std::is_same_v || std::is_same_v> || std::is_same_v>> || std::is_same_v) { // Deregister inverse indices in file - unregister_inverse_visitor visitor(*data()->file(), *this); + unregister_inverse_visitor visitor(*file(), *this); apply_individual_instance_visitor(current_attribute, (int)i).apply(visitor); } { - void* const storage = std::visit([](const auto& m) { return (void*)&m; }, data()->file()->storage_); + void* const storage = std::visit([](const auto& m) { return (void*)&m; }, file()->storage_); data()->set_attribute_value(i, t); } auto new_attribute = get_attribute_value(i); // Register inverse indices in file if constexpr (std::is_same_v || std::is_same_v> || std::is_same_v>>) { - register_inverse_visitor visitor(*data()->file(), *this); + register_inverse_visitor visitor(*file(), *this); apply_individual_instance_visitor(new_attribute, (int)i).apply(visitor); } // Register new attribute guid in guid map - if (i == 0 && (data()->file()->ifcroot_type() != nullptr) && this->declaration().is(*data()->file()->ifcroot_type())) { + if (i == 0 && (file()->ifcroot_type() != nullptr) && this->declaration().is(*file()->ifcroot_type())) { try { auto guid = (std::string) new_attribute; - auto it = data()->file()->internal_guid_map().find(guid); - if (it != data()->file()->internal_guid_map().end()) { + auto it = file()->internal_guid_map().find(guid); + if (it != file()->internal_guid_map().end()) { Logger::Warning("Duplicate guid " + guid); } - data()->file()->internal_guid_map().insert({guid, *this}); + file()->internal_guid_map().insert({guid, *this}); } catch (IfcParse::IfcException& e) { Logger::Error(e); } @@ -1824,8 +1824,8 @@ std::vector IfcFile::traverse_breadth_first(const express::Base& return IfcParse::traverse_breadth_first(instance, max_level); } -express::Base IfcFile::addEntity(const express::Base& entity) { - if (entity.data()->file() == this) { +express::Base IfcFile::addEntity(const express::Base& entity, int id) { + if (entity.file() == this) { return entity; } @@ -1861,13 +1861,13 @@ express::Base IfcFile::addEntity(const express::Base& entity) { // An instance is being added from another file. A copy of the // container and entity is created. The attribute references // need to be updated to point to instances in this file. - IfcFile* other_file = entity.data()->file(); - create(&entity.declaration()); + IfcFile* other_file = entity.file(); + create(&entity.declaration(), id); auto* decl = &entity.declaration(); auto num_attributes = (decl->as_entity() ? decl->as_entity()->attribute_count() : 1); for (size_t i = 0; i < num_attributes; ++i) { - entity.data()->apply_visitor([this, i, decl, &new_entity](const auto& v) { + entity.get_attribute_value(i).apply_visitor([this, i, decl, &new_entity](const auto& v) { using U = std::decay_t; // only need to copy non-instance attribute values, others are assigned below after mapping if constexpr (std::is_same_v) { @@ -1876,7 +1876,7 @@ express::Base IfcFile::addEntity(const express::Base& entity) { } else { new_entity.set_attribute_value(i, v); } - }, i); + }); } // In case an entity is added that contains geometry, the unit @@ -2682,6 +2682,10 @@ void express::Base::toString(std::ostream& out, bool upper) const data()->toString(out, upper); } +IfcParse::IfcFile* express::Base::file() const { + return data()->file(); +} + /* InstanceData::InstanceData(const InstanceData& data) : storage_(data.size()) diff --git a/src/ifcparse/IfcUtil.cpp b/src/ifcparse/IfcUtil.cpp index cf4573115c..c56658920f 100644 --- a/src/ifcparse/IfcUtil.cpp +++ b/src/ifcparse/IfcUtil.cpp @@ -150,7 +150,7 @@ std::vector express::Entity::get_inverse(const std::string& nam std::vector::const_iterator iter = attrs.begin(); for (; iter != attrs.end(); ++iter) { if ((*iter)->name() == name) { - return data()->file()->getInverse( + return file()->getInverse( id(), (*iter)->entity_reference(), (int)(*iter)->entity_reference()->attribute_index((*iter)->attribute_reference())); diff --git a/src/ifcparse/InstanceData.h b/src/ifcparse/InstanceData.h index 7d511cb10d..aef9a7095e 100644 --- a/src/ifcparse/InstanceData.h +++ b/src/ifcparse/InstanceData.h @@ -404,12 +404,6 @@ public: template IFC_PARSE_API bool has(void* storage, const IfcParse::declaration* decl, std::size_t identity, std::size_t index) const; - - template - auto apply_visitor(void* storage, const IfcParse::declaration* decl, std::size_t identity, std::size_t index, Visitor&& visitor) const { - // @todo do we need visitation on all data/storage/attribute levels? - AttributeValue((IfcParse::impl::rocks_db_file_storage*)storage, identity, decl, (uint8_t) index).apply_visitor(std::forward(visitor)); - } #endif }; @@ -508,18 +502,6 @@ class IFC_PARSE_API InstanceData { #endif } - template - auto apply_visitor(Visitor&& visitor, std::size_t index) const { - if (storage_) { - return storage_->apply_visitor(std::forward(visitor), index); - } -#ifdef IFOPSH_WITH_ROCKSDB - else { - return rocks_db_attribute_storage{}.apply_visitor(get_storage_of_type(), declaration_, identity_, index, std::forward(visitor)); - } -#endif - } - void toString(std::ostream&, bool upper = false) const; }; diff --git a/src/ifcparse/express.h b/src/ifcparse/express.h index d4714981f8..0897108bf8 100644 --- a/src/ifcparse/express.h +++ b/src/ifcparse/express.h @@ -50,6 +50,8 @@ class DeclaredType; class IFC_PARSE_API Base { protected: std::weak_ptr data_; + const InstanceData* data() const; + InstanceData* data(); public: operator bool() const { return !data_.expired(); @@ -70,8 +72,7 @@ class IFC_PARSE_API Base { Base() {}; Base(const std::weak_ptr& data) : data_(data) {} - const InstanceData* data() const; - InstanceData* data(); + // @todo try and make this private over time too const std::weak_ptr& data_weak() const { return data_; } const IfcParse::declaration& declaration() const; @@ -125,6 +126,8 @@ class IFC_PARSE_API Base { } } } + + IfcParse::IfcFile* file() const; }; class IFC_PARSE_API Entity : public Base { @@ -175,14 +178,14 @@ namespace std { template <> struct hash { std::size_t operator()(const express::Base& c) const noexcept { - return std::hash{}((void*) c.data()); + return std::hash{}(c.identity()); } }; template <> struct hash { std::size_t operator()(const express::Entity& c) const noexcept { - return std::hash{}((void*)c.data()); + return std::hash{}(c.identity()); } }; diff --git a/src/ifcwrap/IfcGeomWrapper.i b/src/ifcwrap/IfcGeomWrapper.i index 793b95ea2f..f0055bb8c0 100644 --- a/src/ifcwrap/IfcGeomWrapper.i +++ b/src/ifcwrap/IfcGeomWrapper.i @@ -864,7 +864,7 @@ struct ShapeRTTI : public boost::static_visitor template static std::variant helper_fn_create_shape(const std::string& geometry_library, ifcopenshell::geometry::Settings& st, const express::Base& instance, const express::Base& representation = express::Base()) { - IfcParse::IfcFile* file = instance.data()->file(); + IfcParse::IfcFile* file = instance.file(); ifcopenshell::geometry::Converter kernel(ifcopenshell::geometry::kernels::construct(file, geometry_library, st), file, st); @@ -1034,7 +1034,7 @@ ifcopenshell::geometry::taxonomy::item::ptr try_upcast(PyObject* obj0, swig_type %inline %{ ifcopenshell::geometry::taxonomy::item::ptr map_shape(ifcopenshell::geometry::Settings& settings, const express::Base& instance) { - std::unique_ptr mapping(ifcopenshell::geometry::impl::mapping_implementations().construct(instance.data()->file(), settings)); + std::unique_ptr mapping(ifcopenshell::geometry::impl::mapping_implementations().construct(instance.file(), settings)); return mapping->map(instance); } %} diff --git a/src/ifcwrap/utils/typemaps_out.i b/src/ifcwrap/utils/typemaps_out.i index 235e59dc24..8e9b8f1f0a 100644 --- a/src/ifcwrap/utils/typemaps_out.i +++ b/src/ifcwrap/utils/typemaps_out.i @@ -1,21 +1,3 @@ -%typemap(out) aggregate_of_instance::ptr { - const unsigned size = $1 ? $1->size() : 0; - $result = PyTuple_New(size); - for (unsigned i = 0; i < size; ++i) { - PyTuple_SetItem($result, i, pythonize((*$1)[i])); - } -} - -%typemap(out) aggregate_of_aggregate_of_instance::ptr { - const unsigned size = $1 ? $1->size() : 0; - $result = PyTuple_New(size); - for (unsigned i = 0; i < size; ++i) { - const auto& r_i = *(result->begin() + i); - PyTuple_SetItem($result, i, pythonize_vector(r_i)); - } -} - - %typemap(out) IfcUtil::ArgumentType { $result = SWIG_Python_str_FromChar(IfcUtil::ArgumentTypeToString($1)); } @@ -97,6 +79,7 @@ } %enddef +CREATE_VECTOR_TYPEMAP_OUT(express::Base) CREATE_VECTOR_TYPEMAP_OUT(bool) CREATE_VECTOR_TYPEMAP_OUT(int) CREATE_VECTOR_TYPEMAP_OUT(unsigned int) diff --git a/src/serializers/schema_dependent/JsonSerializer.cpp b/src/serializers/schema_dependent/JsonSerializer.cpp index c275d6c79a..45cda654fd 100644 --- a/src/serializers/schema_dependent/JsonSerializer.cpp +++ b/src/serializers/schema_dependent/JsonSerializer.cpp @@ -345,8 +345,8 @@ void POSTFIX_SCHEMA(JsonSerializer)::finalize() { jprop["ifcPropertyType"] = prop.declaration().name(); if (auto val = get_value_from_prop(prop)) { jprop["ifcValueType"] = val.concrete().declaration().name(); - jprop["value"] = val.concrete().data()->get_attribute_value(0).apply_visitor(format_value_visitor{}); - jprop["valueType"] = val.concrete().data()->get_attribute_value(0).apply_visitor(get_type_visitor{}); + jprop["value"] = val.concrete().get_attribute_value(0).apply_visitor(format_value_visitor{}); + jprop["valueType"] = val.concrete().get_attribute_value(0).apply_visitor(get_type_visitor{}); } if (auto unit = get_unit_from_prop(prop)) { jprop["unit"] = std::distance(units.begin(), std::find(units.begin(), units.end(), unit)); @@ -372,7 +372,7 @@ void POSTFIX_SCHEMA(JsonSerializer)::finalize() { jprop["ifcPropertyType"] = qto.declaration().name(); if (auto prop = qto.as()) { jprop["ifcValueType"] = prop.declaration().as_entity()->attributes()[0]->name(); - jprop["value"] = prop.data()->get_attribute_value(3).apply_visitor(format_value_visitor{}); + jprop["value"] = prop.get_attribute_value(3).apply_visitor(format_value_visitor{}); jprop["valueType"] = "number"; if (auto unit = prop.Unit()) { jprop["unit"] = std::distance(units.begin(), std::find(units.begin(), units.end(), unit)); @@ -509,8 +509,8 @@ void POSTFIX_SCHEMA(JsonSerializer)::finalize() { json jconv; auto val = convunit.ConversionFactor().ValueComponent(); jconv["valueComponent"] = { - {"value", val.concrete().data()->get_attribute_value(0).apply_visitor(format_value_visitor{})}, - {"valueType", val.concrete().data()->get_attribute_value(0).apply_visitor(get_type_visitor{})} + {"value", val.concrete().get_attribute_value(0).apply_visitor(format_value_visitor{})}, + {"valueType", val.concrete().get_attribute_value(0).apply_visitor(get_type_visitor{})} }; jconv["unitComponent"] = std::distance(units.begin(), std::find(units.begin(), units.end(), convunit.ConversionFactor().UnitComponent())); junit["conversionFactor"] = jconv;