Make Base::data() private, file::add(..., id)

This commit is contained in:
Thomas Krijnen
2026-01-08 10:35:46 +01:00
parent f9c791de1b
commit f5b2358c2e
25 changed files with 1929 additions and 1957 deletions
+165 -165
View File
@@ -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<IfcRelAssignsToActor>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[901], 6)); }
std::vector<::Ifc4x3_add1::IfcRelAssignsToActor> Ifc4x3_add1::IfcActor::IsActingUpon() const { return cast_vector<IfcRelAssignsToActor>(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<IfcExternalReferenceRelationship>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); }
std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcActorRole::HasExternalReference() const { return cast_vector<IfcExternalReferenceRelationship>(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<IfcPerson>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[737], 7)); }
std::vector<::Ifc4x3_add1::IfcOrganization> Ifc4x3_add1::IfcAddress::OfOrganization() const { return cast_vector<IfcOrganization>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[716], 4)); }
std::vector<::Ifc4x3_add1::IfcPerson> Ifc4x3_add1::IfcAddress::OfPerson() const { return cast_vector<IfcPerson>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[737], 7)); }
std::vector<::Ifc4x3_add1::IfcOrganization> Ifc4x3_add1::IfcAddress::OfOrganization() const { return cast_vector<IfcOrganization>(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<IfcRelContainedInSpatialStructure>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[926], 4)); }
std::vector<::Ifc4x3_add1::IfcRelContainedInSpatialStructure> Ifc4x3_add1::IfcAnnotation::ContainedInStructure() const { return cast_vector<IfcRelContainedInSpatialStructure>(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<express::Base> 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<express::Base>(*v));} else {unset_attribute_value(9);} }
std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcAppliedValue::HasExternalReference() const { return cast_vector<IfcExternalReferenceRelationship>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); }
std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcAppliedValue::HasExternalReference() const { return cast_vector<IfcExternalReferenceRelationship>(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<IfcExternalReferenceRelationship>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); }
std::vector<::Ifc4x3_add1::IfcRelAssociatesApproval> Ifc4x3_add1::IfcApproval::ApprovedObjects() const { return cast_vector<IfcRelAssociatesApproval>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[909], 5)); }
std::vector<::Ifc4x3_add1::IfcResourceApprovalRelationship> Ifc4x3_add1::IfcApproval::ApprovedResources() const { return cast_vector<IfcResourceApprovalRelationship>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[955], 3)); }
std::vector<::Ifc4x3_add1::IfcApprovalRelationship> Ifc4x3_add1::IfcApproval::IsRelatedWith() const { return cast_vector<IfcApprovalRelationship>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[53], 3)); }
std::vector<::Ifc4x3_add1::IfcApprovalRelationship> Ifc4x3_add1::IfcApproval::Relates() const { return cast_vector<IfcApprovalRelationship>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[53], 2)); }
std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcApproval::HasExternalReferences() const { return cast_vector<IfcExternalReferenceRelationship>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); }
std::vector<::Ifc4x3_add1::IfcRelAssociatesApproval> Ifc4x3_add1::IfcApproval::ApprovedObjects() const { return cast_vector<IfcRelAssociatesApproval>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[909], 5)); }
std::vector<::Ifc4x3_add1::IfcResourceApprovalRelationship> Ifc4x3_add1::IfcApproval::ApprovedResources() const { return cast_vector<IfcResourceApprovalRelationship>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[955], 3)); }
std::vector<::Ifc4x3_add1::IfcApprovalRelationship> Ifc4x3_add1::IfcApproval::IsRelatedWith() const { return cast_vector<IfcApprovalRelationship>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[53], 3)); }
std::vector<::Ifc4x3_add1::IfcApprovalRelationship> Ifc4x3_add1::IfcApproval::Relates() const { return cast_vector<IfcApprovalRelationship>(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<IfcRelAssociatesClassification>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[910], 5)); }
std::vector<::Ifc4x3_add1::IfcClassificationReference> Ifc4x3_add1::IfcClassification::HasReferences() const { return cast_vector<IfcClassificationReference>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[169], 3)); }
std::vector<::Ifc4x3_add1::IfcRelAssociatesClassification> Ifc4x3_add1::IfcClassification::ClassificationForObjects() const { return cast_vector<IfcRelAssociatesClassification>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[910], 5)); }
std::vector<::Ifc4x3_add1::IfcClassificationReference> Ifc4x3_add1::IfcClassification::HasReferences() const { return cast_vector<IfcClassificationReference>(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<IfcRelAssociatesClassification>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[910], 5)); }
std::vector<::Ifc4x3_add1::IfcClassificationReference> Ifc4x3_add1::IfcClassificationReference::HasReferences() const { return cast_vector<IfcClassificationReference>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[169], 3)); }
std::vector<::Ifc4x3_add1::IfcRelAssociatesClassification> Ifc4x3_add1::IfcClassificationReference::ClassificationRefForObjects() const { return cast_vector<IfcRelAssociatesClassification>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[910], 5)); }
std::vector<::Ifc4x3_add1::IfcClassificationReference> Ifc4x3_add1::IfcClassificationReference::HasReferences() const { return cast_vector<IfcClassificationReference>(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<IfcExternalReferenceRelationship>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); }
std::vector<::Ifc4x3_add1::IfcResourceConstraintRelationship> Ifc4x3_add1::IfcConstraint::PropertiesForConstraint() const { return cast_vector<IfcResourceConstraintRelationship>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[956], 2)); }
std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcConstraint::HasExternalReferences() const { return cast_vector<IfcExternalReferenceRelationship>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); }
std::vector<::Ifc4x3_add1::IfcResourceConstraintRelationship> Ifc4x3_add1::IfcConstraint::PropertiesForConstraint() const { return cast_vector<IfcResourceConstraintRelationship>(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<IfcRelDefinesByProperties>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[933], 4)); }
std::vector<::Ifc4x3_add1::IfcRelDeclares> Ifc4x3_add1::IfcContext::Declares() const { return cast_vector<IfcRelDeclares>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[929], 4)); }
std::vector<::Ifc4x3_add1::IfcRelDefinesByProperties> Ifc4x3_add1::IfcContext::IsDefinedBy() const { return cast_vector<IfcRelDefinesByProperties>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[933], 4)); }
std::vector<::Ifc4x3_add1::IfcRelDeclares> Ifc4x3_add1::IfcContext::Declares() const { return cast_vector<IfcRelDeclares>(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<IfcExternalReferenceRelationship>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); }
std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcContextDependentUnit::HasExternalReference() const { return cast_vector<IfcExternalReferenceRelationship>(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<IfcRelAssignsToControl>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[902], 6)); }
std::vector<::Ifc4x3_add1::IfcRelAssignsToControl> Ifc4x3_add1::IfcControl::Controls() const { return cast_vector<IfcRelAssignsToControl>(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<IfcExternalReferenceRelationship>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); }
std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector<IfcExternalReferenceRelationship>(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<IfcCoordinateOperation>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[243], 0)); }
std::vector<::Ifc4x3_add1::IfcWellKnownText> Ifc4x3_add1::IfcCoordinateReferenceSystem::WellKnownText() const { return cast_vector<IfcWellKnownText>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[1292], 1)); }
std::vector<::Ifc4x3_add1::IfcCoordinateOperation> Ifc4x3_add1::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return cast_vector<IfcCoordinateOperation>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[243], 0)); }
std::vector<::Ifc4x3_add1::IfcWellKnownText> Ifc4x3_add1::IfcCoordinateReferenceSystem::WellKnownText() const { return cast_vector<IfcWellKnownText>(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<IfcRelCoversSpaces>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[928], 5)); }
std::vector<::Ifc4x3_add1::IfcRelCoversBldgElements> Ifc4x3_add1::IfcCovering::CoversElements() const { return cast_vector<IfcRelCoversBldgElements>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[927], 5)); }
std::vector<::Ifc4x3_add1::IfcRelCoversSpaces> Ifc4x3_add1::IfcCovering::CoversSpaces() const { return cast_vector<IfcRelCoversSpaces>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[928], 5)); }
std::vector<::Ifc4x3_add1::IfcRelCoversBldgElements> Ifc4x3_add1::IfcCovering::CoversElements() const { return cast_vector<IfcRelCoversBldgElements>(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<IfcRelFlowControlElements>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[937], 4)); }
std::vector<::Ifc4x3_add1::IfcRelFlowControlElements> Ifc4x3_add1::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector<IfcRelFlowControlElements>(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<IfcRelConnectsPortToElement>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[921], 5)); }
std::vector<::Ifc4x3_add1::IfcRelConnectsPortToElement> Ifc4x3_add1::IfcDistributionElement::HasPorts() const { return cast_vector<IfcRelConnectsPortToElement>(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<IfcRelFlowControlElements>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[937], 5)); }
std::vector<::Ifc4x3_add1::IfcRelFlowControlElements> Ifc4x3_add1::IfcDistributionFlowElement::HasControlElements() const { return cast_vector<IfcRelFlowControlElements>(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<IfcRelAssociatesDocument>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[912], 5)); }
std::vector<::Ifc4x3_add1::IfcDocumentReference> Ifc4x3_add1::IfcDocumentInformation::HasDocumentReferences() const { return cast_vector<IfcDocumentReference>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[332], 4)); }
std::vector<::Ifc4x3_add1::IfcDocumentInformationRelationship> Ifc4x3_add1::IfcDocumentInformation::IsPointedTo() const { return cast_vector<IfcDocumentInformationRelationship>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[331], 3)); }
std::vector<::Ifc4x3_add1::IfcDocumentInformationRelationship> Ifc4x3_add1::IfcDocumentInformation::IsPointer() const { return cast_vector<IfcDocumentInformationRelationship>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[331], 2)); }
std::vector<::Ifc4x3_add1::IfcRelAssociatesDocument> Ifc4x3_add1::IfcDocumentInformation::DocumentInfoForObjects() const { return cast_vector<IfcRelAssociatesDocument>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[912], 5)); }
std::vector<::Ifc4x3_add1::IfcDocumentReference> Ifc4x3_add1::IfcDocumentInformation::HasDocumentReferences() const { return cast_vector<IfcDocumentReference>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[332], 4)); }
std::vector<::Ifc4x3_add1::IfcDocumentInformationRelationship> Ifc4x3_add1::IfcDocumentInformation::IsPointedTo() const { return cast_vector<IfcDocumentInformationRelationship>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[331], 3)); }
std::vector<::Ifc4x3_add1::IfcDocumentInformationRelationship> Ifc4x3_add1::IfcDocumentInformation::IsPointer() const { return cast_vector<IfcDocumentInformationRelationship>(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<IfcRelAssociatesDocument>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[912], 5)); }
std::vector<::Ifc4x3_add1::IfcRelAssociatesDocument> Ifc4x3_add1::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector<IfcRelAssociatesDocument>(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<IfcRelFillsElement>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[936], 5)); }
std::vector<::Ifc4x3_add1::IfcRelConnectsElements> Ifc4x3_add1::IfcElement::ConnectedTo() const { return cast_vector<IfcRelConnectsElements>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[918], 5)); }
std::vector<::Ifc4x3_add1::IfcRelInterferesElements> Ifc4x3_add1::IfcElement::IsInterferedByElements() const { return cast_vector<IfcRelInterferesElements>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[938], 5)); }
std::vector<::Ifc4x3_add1::IfcRelInterferesElements> Ifc4x3_add1::IfcElement::InterferesElements() const { return cast_vector<IfcRelInterferesElements>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[938], 4)); }
std::vector<::Ifc4x3_add1::IfcRelProjectsElement> Ifc4x3_add1::IfcElement::HasProjections() const { return cast_vector<IfcRelProjectsElement>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[941], 4)); }
std::vector<::Ifc4x3_add1::IfcRelVoidsElement> Ifc4x3_add1::IfcElement::HasOpenings() const { return cast_vector<IfcRelVoidsElement>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[948], 4)); }
std::vector<::Ifc4x3_add1::IfcRelConnectsWithRealizingElements> Ifc4x3_add1::IfcElement::IsConnectionRealization() const { return cast_vector<IfcRelConnectsWithRealizingElements>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[925], 7)); }
std::vector<::Ifc4x3_add1::IfcRelSpaceBoundary> Ifc4x3_add1::IfcElement::ProvidesBoundaries() const { return cast_vector<IfcRelSpaceBoundary>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[945], 5)); }
std::vector<::Ifc4x3_add1::IfcRelConnectsElements> Ifc4x3_add1::IfcElement::ConnectedFrom() const { return cast_vector<IfcRelConnectsElements>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[918], 6)); }
std::vector<::Ifc4x3_add1::IfcRelContainedInSpatialStructure> Ifc4x3_add1::IfcElement::ContainedInStructure() const { return cast_vector<IfcRelContainedInSpatialStructure>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[926], 4)); }
std::vector<::Ifc4x3_add1::IfcRelCoversBldgElements> Ifc4x3_add1::IfcElement::HasCoverings() const { return cast_vector<IfcRelCoversBldgElements>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[927], 4)); }
std::vector<::Ifc4x3_add1::IfcRelAdheresToElement> Ifc4x3_add1::IfcElement::HasSurfaceFeatures() const { return cast_vector<IfcRelAdheresToElement>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[898], 4)); }
std::vector<::Ifc4x3_add1::IfcRelFillsElement> Ifc4x3_add1::IfcElement::FillsVoids() const { return cast_vector<IfcRelFillsElement>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[936], 5)); }
std::vector<::Ifc4x3_add1::IfcRelConnectsElements> Ifc4x3_add1::IfcElement::ConnectedTo() const { return cast_vector<IfcRelConnectsElements>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[918], 5)); }
std::vector<::Ifc4x3_add1::IfcRelInterferesElements> Ifc4x3_add1::IfcElement::IsInterferedByElements() const { return cast_vector<IfcRelInterferesElements>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[938], 5)); }
std::vector<::Ifc4x3_add1::IfcRelInterferesElements> Ifc4x3_add1::IfcElement::InterferesElements() const { return cast_vector<IfcRelInterferesElements>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[938], 4)); }
std::vector<::Ifc4x3_add1::IfcRelProjectsElement> Ifc4x3_add1::IfcElement::HasProjections() const { return cast_vector<IfcRelProjectsElement>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[941], 4)); }
std::vector<::Ifc4x3_add1::IfcRelVoidsElement> Ifc4x3_add1::IfcElement::HasOpenings() const { return cast_vector<IfcRelVoidsElement>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[948], 4)); }
std::vector<::Ifc4x3_add1::IfcRelConnectsWithRealizingElements> Ifc4x3_add1::IfcElement::IsConnectionRealization() const { return cast_vector<IfcRelConnectsWithRealizingElements>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[925], 7)); }
std::vector<::Ifc4x3_add1::IfcRelSpaceBoundary> Ifc4x3_add1::IfcElement::ProvidesBoundaries() const { return cast_vector<IfcRelSpaceBoundary>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[945], 5)); }
std::vector<::Ifc4x3_add1::IfcRelConnectsElements> Ifc4x3_add1::IfcElement::ConnectedFrom() const { return cast_vector<IfcRelConnectsElements>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[918], 6)); }
std::vector<::Ifc4x3_add1::IfcRelContainedInSpatialStructure> Ifc4x3_add1::IfcElement::ContainedInStructure() const { return cast_vector<IfcRelContainedInSpatialStructure>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[926], 4)); }
std::vector<::Ifc4x3_add1::IfcRelCoversBldgElements> Ifc4x3_add1::IfcElement::HasCoverings() const { return cast_vector<IfcRelCoversBldgElements>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[927], 4)); }
std::vector<::Ifc4x3_add1::IfcRelAdheresToElement> Ifc4x3_add1::IfcElement::HasSurfaceFeatures() const { return cast_vector<IfcRelAdheresToElement>(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<IfcExternalReferenceRelationship>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 2)); }
std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector<IfcExternalReferenceRelationship>(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<IfcRelSpaceBoundary>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[945], 4)); }
std::vector<::Ifc4x3_add1::IfcRelSpaceBoundary> Ifc4x3_add1::IfcExternalSpatialElement::BoundedBy() const { return cast_vector<IfcRelSpaceBoundary>(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<express::Base> 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<express::Base>(v));if constexpr (false)unset_attribute_value(0); }
std::vector<::Ifc4x3_add1::IfcTextureMap> Ifc4x3_add1::IfcFace::HasTextureMaps() const { return cast_vector<IfcTextureMap>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[1196], 2)); }
std::vector<::Ifc4x3_add1::IfcTextureMap> Ifc4x3_add1::IfcFace::HasTextureMaps() const { return cast_vector<IfcTextureMap>(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<IfcRelProjectsElement>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[941], 5)); }
std::vector<::Ifc4x3_add1::IfcRelProjectsElement> Ifc4x3_add1::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector<IfcRelProjectsElement>(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<IfcRelVoidsElement>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[948], 5)); }
std::vector<::Ifc4x3_add1::IfcRelVoidsElement> Ifc4x3_add1::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector<IfcRelVoidsElement>(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<IfcGeometricRepresentationSubContext>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[508], 6)); }
std::vector<::Ifc4x3_add1::IfcCoordinateOperation> Ifc4x3_add1::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector<IfcCoordinateOperation>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[243], 0)); }
std::vector<::Ifc4x3_add1::IfcGeometricRepresentationSubContext> Ifc4x3_add1::IfcGeometricRepresentationContext::HasSubContexts() const { return cast_vector<IfcGeometricRepresentationSubContext>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[508], 6)); }
std::vector<::Ifc4x3_add1::IfcCoordinateOperation> Ifc4x3_add1::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector<IfcCoordinateOperation>(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<IfcGrid>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[520], 9)); }
std::vector<::Ifc4x3_add1::IfcGrid> Ifc4x3_add1::IfcGridAxis::PartOfV() const { return cast_vector<IfcGrid>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[520], 8)); }
std::vector<::Ifc4x3_add1::IfcGrid> Ifc4x3_add1::IfcGridAxis::PartOfU() const { return cast_vector<IfcGrid>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[520], 7)); }
std::vector<::Ifc4x3_add1::IfcVirtualGridIntersection> Ifc4x3_add1::IfcGridAxis::HasIntersections() const { return cast_vector<IfcVirtualGridIntersection>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[1277], 0)); }
std::vector<::Ifc4x3_add1::IfcGrid> Ifc4x3_add1::IfcGridAxis::PartOfW() const { return cast_vector<IfcGrid>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[520], 9)); }
std::vector<::Ifc4x3_add1::IfcGrid> Ifc4x3_add1::IfcGridAxis::PartOfV() const { return cast_vector<IfcGrid>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[520], 8)); }
std::vector<::Ifc4x3_add1::IfcGrid> Ifc4x3_add1::IfcGridAxis::PartOfU() const { return cast_vector<IfcGrid>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[520], 7)); }
std::vector<::Ifc4x3_add1::IfcVirtualGridIntersection> Ifc4x3_add1::IfcGridAxis::HasIntersections() const { return cast_vector<IfcVirtualGridIntersection>(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<IfcRelAssignsToGroup>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[903], 6)); }
std::vector<::Ifc4x3_add1::IfcRelReferencedInSpatialStructure> Ifc4x3_add1::IfcGroup::ReferencedInStructures() const { return cast_vector<IfcRelReferencedInSpatialStructure>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[942], 4)); }
std::vector<::Ifc4x3_add1::IfcRelAssignsToGroup> Ifc4x3_add1::IfcGroup::IsGroupedBy() const { return cast_vector<IfcRelAssignsToGroup>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[903], 6)); }
std::vector<::Ifc4x3_add1::IfcRelReferencedInSpatialStructure> Ifc4x3_add1::IfcGroup::ReferencedInStructures() const { return cast_vector<IfcRelReferencedInSpatialStructure>(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<IfcPolygonalFaceSet>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[770], 2)); }
std::vector<::Ifc4x3_add1::IfcTextureCoordinateIndices> Ifc4x3_add1::IfcIndexedPolygonalFace::HasTexCoords() const { return cast_vector<IfcTextureCoordinateIndices>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[1194], 1)); }
std::vector<::Ifc4x3_add1::IfcPolygonalFaceSet> Ifc4x3_add1::IfcIndexedPolygonalFace::ToFaceSet() const { return cast_vector<IfcPolygonalFaceSet>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[770], 2)); }
std::vector<::Ifc4x3_add1::IfcTextureCoordinateIndices> Ifc4x3_add1::IfcIndexedPolygonalFace::HasTexCoords() const { return cast_vector<IfcTextureCoordinateIndices>(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<IfcRelAssociatesLibrary>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[913], 5)); }
std::vector<::Ifc4x3_add1::IfcLibraryReference> Ifc4x3_add1::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector<IfcLibraryReference>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[586], 5)); }
std::vector<::Ifc4x3_add1::IfcRelAssociatesLibrary> Ifc4x3_add1::IfcLibraryInformation::LibraryInfoForObjects() const { return cast_vector<IfcRelAssociatesLibrary>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[913], 5)); }
std::vector<::Ifc4x3_add1::IfcLibraryReference> Ifc4x3_add1::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector<IfcLibraryReference>(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<IfcRelAssociatesLibrary>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[913], 5)); }
std::vector<::Ifc4x3_add1::IfcRelAssociatesLibrary> Ifc4x3_add1::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector<IfcRelAssociatesLibrary>(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<IfcMaterialDefinitionRepresentation>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[642], 3)); }
std::vector<::Ifc4x3_add1::IfcMaterialRelationship> Ifc4x3_add1::IfcMaterial::IsRelatedWith() const { return cast_vector<IfcMaterialRelationship>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[654], 3)); }
std::vector<::Ifc4x3_add1::IfcMaterialRelationship> Ifc4x3_add1::IfcMaterial::RelatesTo() const { return cast_vector<IfcMaterialRelationship>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[654], 2)); }
std::vector<::Ifc4x3_add1::IfcMaterialDefinitionRepresentation> Ifc4x3_add1::IfcMaterial::HasRepresentation() const { return cast_vector<IfcMaterialDefinitionRepresentation>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[642], 3)); }
std::vector<::Ifc4x3_add1::IfcMaterialRelationship> Ifc4x3_add1::IfcMaterial::IsRelatedWith() const { return cast_vector<IfcMaterialRelationship>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[654], 3)); }
std::vector<::Ifc4x3_add1::IfcMaterialRelationship> Ifc4x3_add1::IfcMaterial::RelatesTo() const { return cast_vector<IfcMaterialRelationship>(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<IfcMaterialConstituentSet>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[640], 2)); }
std::vector<::Ifc4x3_add1::IfcMaterialConstituentSet> Ifc4x3_add1::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector<IfcMaterialConstituentSet>(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<IfcRelAssociatesMaterial>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[914], 5)); }
std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcMaterialDefinition::HasExternalReferences() const { return cast_vector<IfcExternalReferenceRelationship>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); }
std::vector<::Ifc4x3_add1::IfcMaterialProperties> Ifc4x3_add1::IfcMaterialDefinition::HasProperties() const { return cast_vector<IfcMaterialProperties>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[653], 3)); }
std::vector<::Ifc4x3_add1::IfcRelAssociatesMaterial> Ifc4x3_add1::IfcMaterialDefinition::AssociatedTo() const { return cast_vector<IfcRelAssociatesMaterial>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[914], 5)); }
std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcMaterialDefinition::HasExternalReferences() const { return cast_vector<IfcExternalReferenceRelationship>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); }
std::vector<::Ifc4x3_add1::IfcMaterialProperties> Ifc4x3_add1::IfcMaterialDefinition::HasProperties() const { return cast_vector<IfcMaterialProperties>(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<IfcMaterialLayerSet>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[644], 0)); }
std::vector<::Ifc4x3_add1::IfcMaterialLayerSet> Ifc4x3_add1::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector<IfcMaterialLayerSet>(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<IfcMaterialProfileSet>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[649], 2)); }
std::vector<::Ifc4x3_add1::IfcMaterialProfileSet> Ifc4x3_add1::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector<IfcMaterialProfileSet>(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<IfcRelAssociatesMaterial>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[914], 5)); }
std::vector<::Ifc4x3_add1::IfcRelAssociatesMaterial> Ifc4x3_add1::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector<IfcRelAssociatesMaterial>(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<IfcRelDefinesByObject>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[932], 4)); }
std::vector<::Ifc4x3_add1::IfcRelDefinesByObject> Ifc4x3_add1::IfcObject::Declares() const { return cast_vector<IfcRelDefinesByObject>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[932], 5)); }
std::vector<::Ifc4x3_add1::IfcRelDefinesByType> Ifc4x3_add1::IfcObject::IsTypedBy() const { return cast_vector<IfcRelDefinesByType>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[935], 4)); }
std::vector<::Ifc4x3_add1::IfcRelDefinesByProperties> Ifc4x3_add1::IfcObject::IsDefinedBy() const { return cast_vector<IfcRelDefinesByProperties>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[933], 4)); }
std::vector<::Ifc4x3_add1::IfcRelDefinesByObject> Ifc4x3_add1::IfcObject::IsDeclaredBy() const { return cast_vector<IfcRelDefinesByObject>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[932], 4)); }
std::vector<::Ifc4x3_add1::IfcRelDefinesByObject> Ifc4x3_add1::IfcObject::Declares() const { return cast_vector<IfcRelDefinesByObject>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[932], 5)); }
std::vector<::Ifc4x3_add1::IfcRelDefinesByType> Ifc4x3_add1::IfcObject::IsTypedBy() const { return cast_vector<IfcRelDefinesByType>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[935], 4)); }
std::vector<::Ifc4x3_add1::IfcRelDefinesByProperties> Ifc4x3_add1::IfcObject::IsDefinedBy() const { return cast_vector<IfcRelDefinesByProperties>(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<IfcRelAssigns>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[900], 4)); }
std::vector<::Ifc4x3_add1::IfcRelNests> Ifc4x3_add1::IfcObjectDefinition::Nests() const { return cast_vector<IfcRelNests>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[939], 5)); }
std::vector<::Ifc4x3_add1::IfcRelNests> Ifc4x3_add1::IfcObjectDefinition::IsNestedBy() const { return cast_vector<IfcRelNests>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[939], 4)); }
std::vector<::Ifc4x3_add1::IfcRelDeclares> Ifc4x3_add1::IfcObjectDefinition::HasContext() const { return cast_vector<IfcRelDeclares>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[929], 5)); }
std::vector<::Ifc4x3_add1::IfcRelAggregates> Ifc4x3_add1::IfcObjectDefinition::IsDecomposedBy() const { return cast_vector<IfcRelAggregates>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[899], 4)); }
std::vector<::Ifc4x3_add1::IfcRelAggregates> Ifc4x3_add1::IfcObjectDefinition::Decomposes() const { return cast_vector<IfcRelAggregates>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[899], 5)); }
std::vector<::Ifc4x3_add1::IfcRelAssociates> Ifc4x3_add1::IfcObjectDefinition::HasAssociations() const { return cast_vector<IfcRelAssociates>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[908], 4)); }
std::vector<::Ifc4x3_add1::IfcRelAssigns> Ifc4x3_add1::IfcObjectDefinition::HasAssignments() const { return cast_vector<IfcRelAssigns>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[900], 4)); }
std::vector<::Ifc4x3_add1::IfcRelNests> Ifc4x3_add1::IfcObjectDefinition::Nests() const { return cast_vector<IfcRelNests>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[939], 5)); }
std::vector<::Ifc4x3_add1::IfcRelNests> Ifc4x3_add1::IfcObjectDefinition::IsNestedBy() const { return cast_vector<IfcRelNests>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[939], 4)); }
std::vector<::Ifc4x3_add1::IfcRelDeclares> Ifc4x3_add1::IfcObjectDefinition::HasContext() const { return cast_vector<IfcRelDeclares>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[929], 5)); }
std::vector<::Ifc4x3_add1::IfcRelAggregates> Ifc4x3_add1::IfcObjectDefinition::IsDecomposedBy() const { return cast_vector<IfcRelAggregates>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[899], 4)); }
std::vector<::Ifc4x3_add1::IfcRelAggregates> Ifc4x3_add1::IfcObjectDefinition::Decomposes() const { return cast_vector<IfcRelAggregates>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[899], 5)); }
std::vector<::Ifc4x3_add1::IfcRelAssociates> Ifc4x3_add1::IfcObjectDefinition::HasAssociations() const { return cast_vector<IfcRelAssociates>(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<IfcProduct>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[800], 5)); }
std::vector<::Ifc4x3_add1::IfcObjectPlacement> Ifc4x3_add1::IfcObjectPlacement::ReferencedByPlacements() const { return cast_vector<IfcObjectPlacement>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[704], 0)); }
std::vector<::Ifc4x3_add1::IfcProduct> Ifc4x3_add1::IfcObjectPlacement::PlacesObject() const { return cast_vector<IfcProduct>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[800], 5)); }
std::vector<::Ifc4x3_add1::IfcObjectPlacement> Ifc4x3_add1::IfcObjectPlacement::ReferencedByPlacements() const { return cast_vector<IfcObjectPlacement>(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<IfcRelFillsElement>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[936], 4)); }
std::vector<::Ifc4x3_add1::IfcRelFillsElement> Ifc4x3_add1::IfcOpeningElement::HasFillings() const { return cast_vector<IfcRelFillsElement>(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<express::Base> 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<express::Base>(*v));} else {unset_attribute_value(4);} }
std::vector<::Ifc4x3_add1::IfcOrganizationRelationship> Ifc4x3_add1::IfcOrganization::IsRelatedBy() const { return cast_vector<IfcOrganizationRelationship>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[717], 3)); }
std::vector<::Ifc4x3_add1::IfcOrganizationRelationship> Ifc4x3_add1::IfcOrganization::Relates() const { return cast_vector<IfcOrganizationRelationship>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[717], 2)); }
std::vector<::Ifc4x3_add1::IfcPersonAndOrganization> Ifc4x3_add1::IfcOrganization::Engages() const { return cast_vector<IfcPersonAndOrganization>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[738], 1)); }
std::vector<::Ifc4x3_add1::IfcOrganizationRelationship> Ifc4x3_add1::IfcOrganization::IsRelatedBy() const { return cast_vector<IfcOrganizationRelationship>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[717], 3)); }
std::vector<::Ifc4x3_add1::IfcOrganizationRelationship> Ifc4x3_add1::IfcOrganization::Relates() const { return cast_vector<IfcOrganizationRelationship>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[717], 2)); }
std::vector<::Ifc4x3_add1::IfcPersonAndOrganization> Ifc4x3_add1::IfcOrganization::Engages() const { return cast_vector<IfcPersonAndOrganization>(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<express::Base> 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<express::Base>(*v));} else {unset_attribute_value(7);} }
std::vector<::Ifc4x3_add1::IfcPersonAndOrganization> Ifc4x3_add1::IfcPerson::EngagedIn() const { return cast_vector<IfcPersonAndOrganization>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[738], 0)); }
std::vector<::Ifc4x3_add1::IfcPersonAndOrganization> Ifc4x3_add1::IfcPerson::EngagedIn() const { return cast_vector<IfcPersonAndOrganization>(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<IfcExternalReferenceRelationship>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); }
std::vector<::Ifc4x3_add1::IfcPhysicalComplexQuantity> Ifc4x3_add1::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector<IfcPhysicalComplexQuantity>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[740], 2)); }
std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcPhysicalQuantity::HasExternalReferences() const { return cast_vector<IfcExternalReferenceRelationship>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); }
std::vector<::Ifc4x3_add1::IfcPhysicalComplexQuantity> Ifc4x3_add1::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector<IfcPhysicalComplexQuantity>(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<IfcRelConnectsPortToElement>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[921], 4)); }
std::vector<::Ifc4x3_add1::IfcRelConnectsPorts> Ifc4x3_add1::IfcPort::ConnectedFrom() const { return cast_vector<IfcRelConnectsPorts>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[920], 5)); }
std::vector<::Ifc4x3_add1::IfcRelConnectsPorts> Ifc4x3_add1::IfcPort::ConnectedTo() const { return cast_vector<IfcRelConnectsPorts>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[920], 4)); }
std::vector<::Ifc4x3_add1::IfcRelConnectsPortToElement> Ifc4x3_add1::IfcPort::ContainedIn() const { return cast_vector<IfcRelConnectsPortToElement>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[921], 4)); }
std::vector<::Ifc4x3_add1::IfcRelConnectsPorts> Ifc4x3_add1::IfcPort::ConnectedFrom() const { return cast_vector<IfcRelConnectsPorts>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[920], 5)); }
std::vector<::Ifc4x3_add1::IfcRelConnectsPorts> Ifc4x3_add1::IfcPort::ConnectedTo() const { return cast_vector<IfcRelConnectsPorts>(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<IfcRelContainedInSpatialStructure>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[926], 4)); }
std::vector<::Ifc4x3_add1::IfcRelPositions> Ifc4x3_add1::IfcPositioningElement::Positions() const { return cast_vector<IfcRelPositions>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[940], 4)); }
std::vector<::Ifc4x3_add1::IfcRelContainedInSpatialStructure> Ifc4x3_add1::IfcPositioningElement::ContainedInStructure() const { return cast_vector<IfcRelContainedInSpatialStructure>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[926], 4)); }
std::vector<::Ifc4x3_add1::IfcRelPositions> Ifc4x3_add1::IfcPositioningElement::Positions() const { return cast_vector<IfcRelPositions>(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<IfcRelSequence>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[943], 4)); }
std::vector<::Ifc4x3_add1::IfcRelSequence> Ifc4x3_add1::IfcProcess::IsSuccessorFrom() const { return cast_vector<IfcRelSequence>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[943], 5)); }
std::vector<::Ifc4x3_add1::IfcRelAssignsToProcess> Ifc4x3_add1::IfcProcess::OperatesOn() const { return cast_vector<IfcRelAssignsToProcess>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[905], 6)); }
std::vector<::Ifc4x3_add1::IfcRelSequence> Ifc4x3_add1::IfcProcess::IsPredecessorTo() const { return cast_vector<IfcRelSequence>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[943], 4)); }
std::vector<::Ifc4x3_add1::IfcRelSequence> Ifc4x3_add1::IfcProcess::IsSuccessorFrom() const { return cast_vector<IfcRelSequence>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[943], 5)); }
std::vector<::Ifc4x3_add1::IfcRelAssignsToProcess> Ifc4x3_add1::IfcProcess::OperatesOn() const { return cast_vector<IfcRelAssignsToProcess>(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<IfcRelAssignsToProduct>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[906], 6)); }
std::vector<::Ifc4x3_add1::IfcRelPositions> Ifc4x3_add1::IfcProduct::PositionedRelativeTo() const { return cast_vector<IfcRelPositions>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[940], 5)); }
std::vector<::Ifc4x3_add1::IfcRelReferencedInSpatialStructure> Ifc4x3_add1::IfcProduct::ReferencedInStructures() const { return cast_vector<IfcRelReferencedInSpatialStructure>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[942], 4)); }
std::vector<::Ifc4x3_add1::IfcRelAssignsToProduct> Ifc4x3_add1::IfcProduct::ReferencedBy() const { return cast_vector<IfcRelAssignsToProduct>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[906], 6)); }
std::vector<::Ifc4x3_add1::IfcRelPositions> Ifc4x3_add1::IfcProduct::PositionedRelativeTo() const { return cast_vector<IfcRelPositions>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[940], 5)); }
std::vector<::Ifc4x3_add1::IfcRelReferencedInSpatialStructure> Ifc4x3_add1::IfcProduct::ReferencedInStructures() const { return cast_vector<IfcRelReferencedInSpatialStructure>(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<IfcProduct>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[800], 6)); }
std::vector<::Ifc4x3_add1::IfcShapeAspect> Ifc4x3_add1::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector<IfcShapeAspect>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[1006], 4)); }
std::vector<::Ifc4x3_add1::IfcProduct> Ifc4x3_add1::IfcProductDefinitionShape::ShapeOfProduct() const { return cast_vector<IfcProduct>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[800], 6)); }
std::vector<::Ifc4x3_add1::IfcShapeAspect> Ifc4x3_add1::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector<IfcShapeAspect>(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<IfcExternalReferenceRelationship>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); }
std::vector<::Ifc4x3_add1::IfcProfileProperties> Ifc4x3_add1::IfcProfileDef::HasProperties() const { return cast_vector<IfcProfileProperties>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[806], 3)); }
std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcProfileDef::HasExternalReference() const { return cast_vector<IfcExternalReferenceRelationship>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); }
std::vector<::Ifc4x3_add1::IfcProfileProperties> Ifc4x3_add1::IfcProfileDef::HasProperties() const { return cast_vector<IfcProfileProperties>(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<IfcPropertySet>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[825], 4)); }
std::vector<::Ifc4x3_add1::IfcPropertyDependencyRelationship> Ifc4x3_add1::IfcProperty::PropertyForDependance() const { return cast_vector<IfcPropertyDependencyRelationship>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[820], 2)); }
std::vector<::Ifc4x3_add1::IfcPropertyDependencyRelationship> Ifc4x3_add1::IfcProperty::PropertyDependsOn() const { return cast_vector<IfcPropertyDependencyRelationship>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[820], 3)); }
std::vector<::Ifc4x3_add1::IfcComplexProperty> Ifc4x3_add1::IfcProperty::PartOfComplex() const { return cast_vector<IfcComplexProperty>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[189], 3)); }
std::vector<::Ifc4x3_add1::IfcResourceConstraintRelationship> Ifc4x3_add1::IfcProperty::HasConstraints() const { return cast_vector<IfcResourceConstraintRelationship>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[956], 3)); }
std::vector<::Ifc4x3_add1::IfcResourceApprovalRelationship> Ifc4x3_add1::IfcProperty::HasApprovals() const { return cast_vector<IfcResourceApprovalRelationship>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[955], 2)); }
std::vector<::Ifc4x3_add1::IfcPropertySet> Ifc4x3_add1::IfcProperty::PartOfPset() const { return cast_vector<IfcPropertySet>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[825], 4)); }
std::vector<::Ifc4x3_add1::IfcPropertyDependencyRelationship> Ifc4x3_add1::IfcProperty::PropertyForDependance() const { return cast_vector<IfcPropertyDependencyRelationship>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[820], 2)); }
std::vector<::Ifc4x3_add1::IfcPropertyDependencyRelationship> Ifc4x3_add1::IfcProperty::PropertyDependsOn() const { return cast_vector<IfcPropertyDependencyRelationship>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[820], 3)); }
std::vector<::Ifc4x3_add1::IfcComplexProperty> Ifc4x3_add1::IfcProperty::PartOfComplex() const { return cast_vector<IfcComplexProperty>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[189], 3)); }
std::vector<::Ifc4x3_add1::IfcResourceConstraintRelationship> Ifc4x3_add1::IfcProperty::HasConstraints() const { return cast_vector<IfcResourceConstraintRelationship>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[956], 3)); }
std::vector<::Ifc4x3_add1::IfcResourceApprovalRelationship> Ifc4x3_add1::IfcProperty::HasApprovals() const { return cast_vector<IfcResourceApprovalRelationship>(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<IfcExternalReferenceRelationship>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); }
std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector<IfcExternalReferenceRelationship>(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<IfcRelDeclares>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[929], 5)); }
std::vector<::Ifc4x3_add1::IfcRelAssociates> Ifc4x3_add1::IfcPropertyDefinition::HasAssociations() const { return cast_vector<IfcRelAssociates>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[908], 4)); }
std::vector<::Ifc4x3_add1::IfcRelDeclares> Ifc4x3_add1::IfcPropertyDefinition::HasContext() const { return cast_vector<IfcRelDeclares>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[929], 5)); }
std::vector<::Ifc4x3_add1::IfcRelAssociates> Ifc4x3_add1::IfcPropertyDefinition::HasAssociations() const { return cast_vector<IfcRelAssociates>(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<IfcTypeObject>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[1241], 5)); }
std::vector<::Ifc4x3_add1::IfcRelDefinesByTemplate> Ifc4x3_add1::IfcPropertySetDefinition::IsDefinedBy() const { return cast_vector<IfcRelDefinesByTemplate>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[934], 4)); }
std::vector<::Ifc4x3_add1::IfcRelDefinesByProperties> Ifc4x3_add1::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector<IfcRelDefinesByProperties>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[933], 5)); }
std::vector<::Ifc4x3_add1::IfcTypeObject> Ifc4x3_add1::IfcPropertySetDefinition::DefinesType() const { return cast_vector<IfcTypeObject>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[1241], 5)); }
std::vector<::Ifc4x3_add1::IfcRelDefinesByTemplate> Ifc4x3_add1::IfcPropertySetDefinition::IsDefinedBy() const { return cast_vector<IfcRelDefinesByTemplate>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[934], 4)); }
std::vector<::Ifc4x3_add1::IfcRelDefinesByProperties> Ifc4x3_add1::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector<IfcRelDefinesByProperties>(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<express::Base> 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<express::Base>(v));if constexpr (false)unset_attribute_value(6); }
std::vector<::Ifc4x3_add1::IfcRelDefinesByTemplate> Ifc4x3_add1::IfcPropertySetTemplate::Defines() const { return cast_vector<IfcRelDefinesByTemplate>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[934], 5)); }
std::vector<::Ifc4x3_add1::IfcRelDefinesByTemplate> Ifc4x3_add1::IfcPropertySetTemplate::Defines() const { return cast_vector<IfcRelDefinesByTemplate>(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<IfcComplexPropertyTemplate>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[190], 6)); }
std::vector<::Ifc4x3_add1::IfcPropertySetTemplate> Ifc4x3_add1::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector<IfcPropertySetTemplate>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[829], 6)); }
std::vector<::Ifc4x3_add1::IfcComplexPropertyTemplate> Ifc4x3_add1::IfcPropertyTemplate::PartOfComplexTemplate() const { return cast_vector<IfcComplexPropertyTemplate>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[190], 6)); }
std::vector<::Ifc4x3_add1::IfcPropertySetTemplate> Ifc4x3_add1::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector<IfcPropertySetTemplate>(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<IfcRelSpaceBoundary1stLevel>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[946], 9)); }
std::vector<::Ifc4x3_add1::IfcRelSpaceBoundary1stLevel> Ifc4x3_add1::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector<IfcRelSpaceBoundary1stLevel>(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<IfcRelSpaceBoundary2ndLevel>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[947], 10)); }
std::vector<::Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel> Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector<IfcRelSpaceBoundary2ndLevel>(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<express::Base> 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<express::Base>(v));if constexpr (false)unset_attribute_value(3); }
std::vector<::Ifc4x3_add1::IfcRepresentationMap> Ifc4x3_add1::IfcRepresentation::RepresentationMap() const { return cast_vector<IfcRepresentationMap>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[953], 1)); }
std::vector<::Ifc4x3_add1::IfcPresentationLayerAssignment> Ifc4x3_add1::IfcRepresentation::LayerAssignments() const { return cast_vector<IfcPresentationLayerAssignment>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[791], 2)); }
std::vector<::Ifc4x3_add1::IfcProductRepresentation> Ifc4x3_add1::IfcRepresentation::OfProductRepresentation() const { return cast_vector<IfcProductRepresentation>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[802], 2)); }
std::vector<::Ifc4x3_add1::IfcRepresentationMap> Ifc4x3_add1::IfcRepresentation::RepresentationMap() const { return cast_vector<IfcRepresentationMap>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[953], 1)); }
std::vector<::Ifc4x3_add1::IfcPresentationLayerAssignment> Ifc4x3_add1::IfcRepresentation::LayerAssignments() const { return cast_vector<IfcPresentationLayerAssignment>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[791], 2)); }
std::vector<::Ifc4x3_add1::IfcProductRepresentation> Ifc4x3_add1::IfcRepresentation::OfProductRepresentation() const { return cast_vector<IfcProductRepresentation>(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<IfcRepresentation>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[950], 0)); }
std::vector<::Ifc4x3_add1::IfcRepresentation> Ifc4x3_add1::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector<IfcRepresentation>(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<IfcPresentationLayerAssignment>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[791], 2)); }
std::vector<::Ifc4x3_add1::IfcStyledItem> Ifc4x3_add1::IfcRepresentationItem::StyledByItem() const { return cast_vector<IfcStyledItem>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[1117], 0)); }
std::vector<::Ifc4x3_add1::IfcPresentationLayerAssignment> Ifc4x3_add1::IfcRepresentationItem::LayerAssignment() const { return cast_vector<IfcPresentationLayerAssignment>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[791], 2)); }
std::vector<::Ifc4x3_add1::IfcStyledItem> Ifc4x3_add1::IfcRepresentationItem::StyledByItem() const { return cast_vector<IfcStyledItem>(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<IfcShapeAspect>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[1006], 4)); }
std::vector<::Ifc4x3_add1::IfcMappedItem> Ifc4x3_add1::IfcRepresentationMap::MapUsage() const { return cast_vector<IfcMappedItem>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[628], 0)); }
std::vector<::Ifc4x3_add1::IfcShapeAspect> Ifc4x3_add1::IfcRepresentationMap::HasShapeAspects() const { return cast_vector<IfcShapeAspect>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[1006], 4)); }
std::vector<::Ifc4x3_add1::IfcMappedItem> Ifc4x3_add1::IfcRepresentationMap::MapUsage() const { return cast_vector<IfcMappedItem>(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<IfcRelAssignsToResource>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[907], 6)); }
std::vector<::Ifc4x3_add1::IfcRelAssignsToResource> Ifc4x3_add1::IfcResource::ResourceOf() const { return cast_vector<IfcRelAssignsToResource>(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<IfcCompositeCurve>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[192], 0)); }
std::vector<::Ifc4x3_add1::IfcCompositeCurve> Ifc4x3_add1::IfcSegment::UsingCurves() const { return cast_vector<IfcCompositeCurve>(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<IfcExternalReferenceRelationship>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); }
std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcShapeAspect::HasExternalReferences() const { return cast_vector<IfcExternalReferenceRelationship>(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<IfcShapeAspect>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[1006], 0)); }
std::vector<::Ifc4x3_add1::IfcShapeAspect> Ifc4x3_add1::IfcShapeModel::OfShapeAspect() const { return cast_vector<IfcShapeAspect>(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<IfcRelCoversSpaces>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[928], 4)); }
std::vector<::Ifc4x3_add1::IfcRelSpaceBoundary> Ifc4x3_add1::IfcSpace::BoundedBy() const { return cast_vector<IfcRelSpaceBoundary>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[945], 4)); }
std::vector<::Ifc4x3_add1::IfcRelCoversSpaces> Ifc4x3_add1::IfcSpace::HasCoverings() const { return cast_vector<IfcRelCoversSpaces>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[928], 4)); }
std::vector<::Ifc4x3_add1::IfcRelSpaceBoundary> Ifc4x3_add1::IfcSpace::BoundedBy() const { return cast_vector<IfcRelSpaceBoundary>(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<IfcRelContainedInSpatialStructure>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[926], 5)); }
std::vector<::Ifc4x3_add1::IfcRelServicesBuildings> Ifc4x3_add1::IfcSpatialElement::ServicedBySystems() const { return cast_vector<IfcRelServicesBuildings>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[944], 5)); }
std::vector<::Ifc4x3_add1::IfcRelReferencedInSpatialStructure> Ifc4x3_add1::IfcSpatialElement::ReferencesElements() const { return cast_vector<IfcRelReferencedInSpatialStructure>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[942], 5)); }
std::vector<::Ifc4x3_add1::IfcRelInterferesElements> Ifc4x3_add1::IfcSpatialElement::IsInterferedByElements() const { return cast_vector<IfcRelInterferesElements>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[938], 5)); }
std::vector<::Ifc4x3_add1::IfcRelInterferesElements> Ifc4x3_add1::IfcSpatialElement::InterferesElements() const { return cast_vector<IfcRelInterferesElements>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[938], 4)); }
std::vector<::Ifc4x3_add1::IfcRelContainedInSpatialStructure> Ifc4x3_add1::IfcSpatialElement::ContainsElements() const { return cast_vector<IfcRelContainedInSpatialStructure>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[926], 5)); }
std::vector<::Ifc4x3_add1::IfcRelServicesBuildings> Ifc4x3_add1::IfcSpatialElement::ServicedBySystems() const { return cast_vector<IfcRelServicesBuildings>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[944], 5)); }
std::vector<::Ifc4x3_add1::IfcRelReferencedInSpatialStructure> Ifc4x3_add1::IfcSpatialElement::ReferencesElements() const { return cast_vector<IfcRelReferencedInSpatialStructure>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[942], 5)); }
std::vector<::Ifc4x3_add1::IfcRelInterferesElements> Ifc4x3_add1::IfcSpatialElement::IsInterferedByElements() const { return cast_vector<IfcRelInterferesElements>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[938], 5)); }
std::vector<::Ifc4x3_add1::IfcRelInterferesElements> Ifc4x3_add1::IfcSpatialElement::InterferesElements() const { return cast_vector<IfcRelInterferesElements>(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<IfcRelConnectsStructuralActivity>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[922], 5)); }
std::vector<::Ifc4x3_add1::IfcRelConnectsStructuralActivity> Ifc4x3_add1::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector<IfcRelConnectsStructuralActivity>(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<IfcRelConnectsStructuralMember>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[923], 5)); }
std::vector<::Ifc4x3_add1::IfcRelConnectsStructuralMember> Ifc4x3_add1::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector<IfcRelConnectsStructuralMember>(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<IfcRelConnectsStructuralActivity>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[922], 4)); }
std::vector<::Ifc4x3_add1::IfcRelConnectsStructuralActivity> Ifc4x3_add1::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector<IfcRelConnectsStructuralActivity>(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<IfcStructuralResultGroup>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[1109], 6)); }
std::vector<::Ifc4x3_add1::IfcStructuralAnalysisModel> Ifc4x3_add1::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector<IfcStructuralAnalysisModel>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[1078], 7)); }
std::vector<::Ifc4x3_add1::IfcStructuralResultGroup> Ifc4x3_add1::IfcStructuralLoadGroup::SourceOfResultGroup() const { return cast_vector<IfcStructuralResultGroup>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[1109], 6)); }
std::vector<::Ifc4x3_add1::IfcStructuralAnalysisModel> Ifc4x3_add1::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector<IfcStructuralAnalysisModel>(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<IfcRelConnectsStructuralMember>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[923], 4)); }
std::vector<::Ifc4x3_add1::IfcRelConnectsStructuralMember> Ifc4x3_add1::IfcStructuralMember::ConnectedBy() const { return cast_vector<IfcRelConnectsStructuralMember>(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<IfcStructuralAnalysisModel>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[1078], 8)); }
std::vector<::Ifc4x3_add1::IfcStructuralAnalysisModel> Ifc4x3_add1::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector<IfcStructuralAnalysisModel>(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<IfcRelAdheresToElement>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[898], 5)); }
std::vector<::Ifc4x3_add1::IfcRelAdheresToElement> Ifc4x3_add1::IfcSurfaceFeature::AdheresToElement() const { return cast_vector<IfcRelAdheresToElement>(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<IfcTextureCoordinate>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[1192], 0)); }
std::vector<::Ifc4x3_add1::IfcSurfaceStyleWithTextures> Ifc4x3_add1::IfcSurfaceTexture::UsedInStyles() const { return cast_vector<IfcSurfaceStyleWithTextures>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[1140], 0)); }
std::vector<::Ifc4x3_add1::IfcTextureCoordinate> Ifc4x3_add1::IfcSurfaceTexture::IsMappedBy() const { return cast_vector<IfcTextureCoordinate>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[1192], 0)); }
std::vector<::Ifc4x3_add1::IfcSurfaceStyleWithTextures> Ifc4x3_add1::IfcSurfaceTexture::UsedInStyles() const { return cast_vector<IfcSurfaceStyleWithTextures>(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<IfcRelServicesBuildings>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[944], 4)); }
std::vector<::Ifc4x3_add1::IfcRelReferencedInSpatialStructure> Ifc4x3_add1::IfcSystem::ServicesFacilities() const { return cast_vector<IfcRelReferencedInSpatialStructure>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[942], 4)); }
std::vector<::Ifc4x3_add1::IfcRelServicesBuildings> Ifc4x3_add1::IfcSystem::ServicesBuildings() const { return cast_vector<IfcRelServicesBuildings>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[944], 4)); }
std::vector<::Ifc4x3_add1::IfcRelReferencedInSpatialStructure> Ifc4x3_add1::IfcSystem::ServicesFacilities() const { return cast_vector<IfcRelReferencedInSpatialStructure>(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<IfcIndexedColourMap>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[542], 0)); }
std::vector<::Ifc4x3_add1::IfcIndexedTextureMap> Ifc4x3_add1::IfcTessellatedFaceSet::HasTextures() const { return cast_vector<IfcIndexedTextureMap>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[547], 1)); }
std::vector<::Ifc4x3_add1::IfcIndexedColourMap> Ifc4x3_add1::IfcTessellatedFaceSet::HasColours() const { return cast_vector<IfcIndexedColourMap>(file()->getInverse(data()->id(), IFC4X3_ADD1_types[542], 0)); }
std::vector<::Ifc4x3_add1::IfcIndexedTextureMap> Ifc4x3_add1::IfcTessellatedFaceSet::HasTextures() const { return cast_vector<IfcIndexedTextureMap>(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<IfcIndexedPolygonalTextureMap>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[546], 3)); }
std::vector<::Ifc4x3_add1::IfcIndexedPolygonalTextureMap> Ifc4x3_add1::IfcTextureCoordinateIndices::ToTexMap() const { return cast_vector<IfcIndexedPolygonalTextureMap>(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<IfcExternalReferenceRelationship>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[427], 3)); }
std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcTimeSeries::HasExternalReference() const { return cast_vector<IfcExternalReferenceRelationship>(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<express::Base> 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<express::Base>(*v));} else {unset_attribute_value(5);} }
std::vector<::Ifc4x3_add1::IfcRelDefinesByType> Ifc4x3_add1::IfcTypeObject::Types() const { return cast_vector<IfcRelDefinesByType>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[935], 5)); }
std::vector<::Ifc4x3_add1::IfcRelDefinesByType> Ifc4x3_add1::IfcTypeObject::Types() const { return cast_vector<IfcRelDefinesByType>(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<IfcRelAssignsToProcess>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[905], 6)); }
std::vector<::Ifc4x3_add1::IfcRelAssignsToProcess> Ifc4x3_add1::IfcTypeProcess::OperatesOn() const { return cast_vector<IfcRelAssignsToProcess>(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<IfcRelAssignsToProduct>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[906], 6)); }
std::vector<::Ifc4x3_add1::IfcRelAssignsToProduct> Ifc4x3_add1::IfcTypeProduct::ReferencedBy() const { return cast_vector<IfcRelAssignsToProduct>(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<IfcRelAssignsToResource>(data()->file()->getInverse(data()->id(), IFC4X3_ADD1_types[907], 6)); }
std::vector<::Ifc4x3_add1::IfcRelAssignsToResource> Ifc4x3_add1::IfcTypeResource::ResourceOf() const { return cast_vector<IfcRelAssignsToResource>(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]); }