From 1641ad00470d37266c032dbe8bc46219bbc1a364 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Thu, 22 Jun 2023 14:09:59 +0200 Subject: [PATCH] #2805 IFC4X3 codegen --- src/ifcparse/Ifc4x3-definitions.h | 50 +++++++ src/ifcparse/Ifc4x3.cpp | 176 +++++++++++----------- src/ifcparse/Ifc4x3.h | 237 +++++++++++++++++++----------- 3 files changed, 287 insertions(+), 176 deletions(-) diff --git a/src/ifcparse/Ifc4x3-definitions.h b/src/ifcparse/Ifc4x3-definitions.h index cfab4fc05e..2f33085a2e 100644 --- a/src/ifcparse/Ifc4x3-definitions.h +++ b/src/ifcparse/Ifc4x3-definitions.h @@ -4026,3 +4026,53 @@ #define SCHEMA_HAS_IfcZone #define SCHEMA_IfcZone_HAS_LongName #define SCHEMA_IfcZone_LongName_IS_OPTIONAL +#define SCHEMA_HAS_IfcRepresentationContextSameWCS +#define SCHEMA_HAS_IfcSingleProjectInstance +#define SCHEMA_HAS_IfcAssociatedSurface +#define SCHEMA_HAS_IfcBaseAxis +#define SCHEMA_HAS_IfcBooleanChoose +#define SCHEMA_HAS_IfcBuild2Axes +#define SCHEMA_HAS_IfcBuildAxes +#define SCHEMA_HAS_IfcConsecutiveSegments +#define SCHEMA_HAS_IfcConstraintsParamBSpline +#define SCHEMA_HAS_IfcConvertDirectionInto2D +#define SCHEMA_HAS_IfcCorrectDimensions +#define SCHEMA_HAS_IfcCorrectFillAreaStyle +#define SCHEMA_HAS_IfcCorrectLocalPlacement +#define SCHEMA_HAS_IfcCorrectObjectAssignment +#define SCHEMA_HAS_IfcCorrectUnitAssignment +#define SCHEMA_HAS_IfcCrossProduct +#define SCHEMA_HAS_IfcCurveDim +#define SCHEMA_HAS_IfcCurveWeightsPositive +#define SCHEMA_HAS_IfcDeriveDimensionalExponents +#define SCHEMA_HAS_IfcDimensionsForSIUnit +#define SCHEMA_HAS_IfcDotProduct +#define SCHEMA_HAS_IfcFirstProjAxis +#define SCHEMA_HAS_IfcGetBasisSurface +#define SCHEMA_HAS_IfcGradient +#define SCHEMA_HAS_IfcListToArray +#define SCHEMA_HAS_IfcLoopHeadToTail +#define SCHEMA_HAS_IfcMakeArrayOfArray +#define SCHEMA_HAS_IfcMlsTotalThickness +#define SCHEMA_HAS_IfcNormalise +#define SCHEMA_HAS_IfcOrthogonalComplement +#define SCHEMA_HAS_IfcPathHeadToTail +#define SCHEMA_HAS_IfcPointListDim +#define SCHEMA_HAS_IfcSameAxis2Placement +#define SCHEMA_HAS_IfcSameCartesianPoint +#define SCHEMA_HAS_IfcSameDirection +#define SCHEMA_HAS_IfcSameValidPrecision +#define SCHEMA_HAS_IfcSameValue +#define SCHEMA_HAS_IfcScalarTimesVector +#define SCHEMA_HAS_IfcSecondProjAxis +#define SCHEMA_HAS_IfcShapeRepresentationTypes +#define SCHEMA_HAS_IfcSurfaceWeightsPositive +#define SCHEMA_HAS_IfcTaperedSweptAreaProfiles +#define SCHEMA_HAS_IfcTopologyRepresentationTypes +#define SCHEMA_HAS_IfcUniqueDefinitionNames +#define SCHEMA_HAS_IfcUniquePropertyName +#define SCHEMA_HAS_IfcUniquePropertySetNames +#define SCHEMA_HAS_IfcUniquePropertyTemplateNames +#define SCHEMA_HAS_IfcUniqueQuantityNames +#define SCHEMA_HAS_IfcVectorDifference +#define SCHEMA_HAS_IfcVectorSum diff --git a/src/ifcparse/Ifc4x3.cpp b/src/ifcparse/Ifc4x3.cpp index e7c93c338c..c0b6895cfb 100644 --- a/src/ifcparse/Ifc4x3.cpp +++ b/src/ifcparse/Ifc4x3.cpp @@ -15789,8 +15789,8 @@ boost::optional< std::string > Ifc4x3::IfcDocumentInformation::Revision() const void Ifc4x3::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(7,attr);} } ::Ifc4x3::IfcActorSelect* Ifc4x3::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3::IfcActorSelect>(true); } void Ifc4x3::IfcDocumentInformation::setDocumentOwner(::Ifc4x3::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(9); return v; } -void Ifc4x3::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(9,attr);} } +boost::optional< aggregate_of< ::Ifc4x3::IfcActorSelect >::ptr > Ifc4x3::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x3::IfcActorSelect >(); } +void Ifc4x3::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x3::IfcActorSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3::IfcDocumentInformation::CreationTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4x3::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(10,attr);} } boost::optional< std::string > Ifc4x3::IfcDocumentInformation::LastRevisionTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } @@ -15814,7 +15814,7 @@ void Ifc4x3::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3::IfcDoc const IfcParse::entity& Ifc4x3::IfcDocumentInformation::declaration() const { return *IFC4X3_IfcDocumentInformation_type; } const IfcParse::entity& Ifc4x3::IfcDocumentInformation::Class() { return *IFC4X3_IfcDocumentInformation_type; } Ifc4x3::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData* e) : IfcExternalInformation((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcDocumentInformation_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcDocumentInformation::IfcDocumentInformation(std::string v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_Location, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, ::Ifc4x3::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of_instance::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< ::Ifc4x3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x3::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x3::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } +Ifc4x3::IfcDocumentInformation::IfcDocumentInformation(std::string v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_Location, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, ::Ifc4x3::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3::IfcActorSelect >::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< ::Ifc4x3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x3::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x3::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcDocumentInformationRelationship ::Ifc4x3::IfcDocumentInformation* Ifc4x3::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3::IfcDocumentInformation>(true); } @@ -16485,14 +16485,14 @@ Ifc4x3::IfcExternalReference::IfcExternalReference(boost::optional< std::string // Function implementations for IfcExternalReferenceRelationship ::Ifc4x3::IfcExternalReference* Ifc4x3::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3::IfcExternalReference>(true); } void Ifc4x3::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x3::IfcExternalReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of_instance::ptr Ifc4x3::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr Ifc4x3::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3::IfcResourceObjectSelect >(); } +void Ifc4x3::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3::IfcExternalReferenceRelationship::declaration() const { return *IFC4X3_IfcExternalReferenceRelationship_type; } const IfcParse::entity& Ifc4x3::IfcExternalReferenceRelationship::Class() { return *IFC4X3_IfcExternalReferenceRelationship_type; } Ifc4x3::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcExternalReferenceRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcExternalReference* v3_RelatingReference, aggregate_of_instance::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x3::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcExternalReferenceRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingReference));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcExternalSpatialElement boost::optional< ::Ifc4x3::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3::IfcExternalSpatialElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3::IfcExternalSpatialElementTypeEnum::FromString(*data_->getArgument(8)); } @@ -16745,8 +16745,8 @@ Ifc4x3::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntityInst Ifc4x3::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcFeatureElementSubtraction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcFillAreaStyle -aggregate_of_instance::ptr Ifc4x3::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3::IfcFillAreaStyle::setFillStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3::IfcFillStyleSelect >::ptr Ifc4x3::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3::IfcFillStyleSelect >(); } +void Ifc4x3::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x3::IfcFillStyleSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } boost::optional< bool > Ifc4x3::IfcFillAreaStyle::ModelOrDraughting() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } bool v = *data_->getArgument(2); return v; } void Ifc4x3::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } @@ -16754,7 +16754,7 @@ void Ifc4x3::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > v) { const IfcParse::entity& Ifc4x3::IfcFillAreaStyle::declaration() const { return *IFC4X3_IfcFillAreaStyle_type; } const IfcParse::entity& Ifc4x3::IfcFillAreaStyle::Class() { return *IFC4X3_IfcFillAreaStyle_type; } Ifc4x3::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcFillAreaStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of_instance::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelOrDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelOrDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } +Ifc4x3::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles)->generalize());data_->setArgument(1,attr);} if (v3_ModelOrDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelOrDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcFillAreaStyleHatching ::Ifc4x3::IfcCurveStyle* Ifc4x3::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3::IfcCurveStyle>(true); } @@ -17074,7 +17074,7 @@ Ifc4x3::IfcGeographicElementType::IfcGeographicElementType(std::string v1_Global const IfcParse::entity& Ifc4x3::IfcGeometricCurveSet::declaration() const { return *IFC4X3_IfcGeometricCurveSet_type; } const IfcParse::entity& Ifc4x3::IfcGeometricCurveSet::Class() { return *IFC4X3_IfcGeometricCurveSet_type; } Ifc4x3::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData* e) : IfcGeometricSet((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcGeometricCurveSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of_instance::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x3::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcGeometricCurveSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcGeometricRepresentationContext int Ifc4x3::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = *data_->getArgument(2); return v; } @@ -17119,14 +17119,14 @@ Ifc4x3::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubConte Ifc4x3::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x3::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x3::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcGeometricRepresentationSubContext_type); if (v1_ContextIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_ContextIdentifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_ContextType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ContextType));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::Derived());data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ParentContext));data_->setArgument(6,attr);} if (v8_TargetScale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_TargetScale));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_TargetView,::Ifc4x3::IfcGeometricProjectionEnum::ToString(v9_TargetView))));data_->setArgument(8,attr);} if (v10_UserDefinedTargetView) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_UserDefinedTargetView));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcGeometricSet -aggregate_of_instance::ptr Ifc4x3::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3::IfcGeometricSet::setElements(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3::IfcGeometricSetSelect >::ptr Ifc4x3::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3::IfcGeometricSetSelect >(); } +void Ifc4x3::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x3::IfcGeometricSetSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3::IfcGeometricSet::declaration() const { return *IFC4X3_IfcGeometricSet_type; } const IfcParse::entity& Ifc4x3::IfcGeometricSet::Class() { return *IFC4X3_IfcGeometricSet_type; } Ifc4x3::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcGeometricSet_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcGeometricSet::IfcGeometricSet(aggregate_of_instance::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements));data_->setArgument(0,attr);} } +Ifc4x3::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcGeometricSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcGeomodel @@ -17361,8 +17361,8 @@ Ifc4x3::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3::IfcTessellatedFaceSet // Function implementations for IfcIndexedPolyCurve ::Ifc4x3::IfcCartesianPointList* Ifc4x3::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3::IfcCartesianPointList>(true); } void Ifc4x3::IfcIndexedPolyCurve::setPoints(::Ifc4x3::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } +boost::optional< aggregate_of< ::Ifc4x3::IfcSegmentIndexSelect >::ptr > Ifc4x3::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3::IfcSegmentIndexSelect >(); } +void Ifc4x3::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x3::IfcSegmentIndexSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(1,attr);} } boost::logic::tribool Ifc4x3::IfcIndexedPolyCurve::SelfIntersect() const { boost::logic::tribool v = *data_->getArgument(2); return v; } void Ifc4x3::IfcIndexedPolyCurve::setSelfIntersect(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -17370,7 +17370,7 @@ void Ifc4x3::IfcIndexedPolyCurve::setSelfIntersect(boost::logic::tribool v) { {I const IfcParse::entity& Ifc4x3::IfcIndexedPolyCurve::declaration() const { return *IFC4X3_IfcIndexedPolyCurve_type; } const IfcParse::entity& Ifc4x3::IfcIndexedPolyCurve::Class() { return *IFC4X3_IfcIndexedPolyCurve_type; } Ifc4x3::IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcIndexedPolyCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of_instance::ptr > v2_Segments, boost::logic::tribool v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SelfIntersect));data_->setArgument(2,attr);} } +Ifc4x3::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::logic::tribool v3_SelfIntersect) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcIndexedPolyCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points));data_->setArgument(0,attr);} if (v2_Segments) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Segments)->generalize());data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SelfIntersect));data_->setArgument(2,attr);} } // Function implementations for IfcIndexedPolygonalFace std::vector< int > /*[3:?]*/ Ifc4x3::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = *data_->getArgument(0); return v; } @@ -17487,14 +17487,14 @@ Ifc4x3::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boos // Function implementations for IfcIrregularTimeSeriesValue std::string Ifc4x3::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3::IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4x3::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3::IfcIrregularTimeSeriesValue::setListValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3::IfcValue >::ptr Ifc4x3::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3::IfcValue >(); } +void Ifc4x3::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } const IfcParse::entity& Ifc4x3::IfcIrregularTimeSeriesValue::declaration() const { return *IFC4X3_IfcIrregularTimeSeriesValue_type; } const IfcParse::entity& Ifc4x3::IfcIrregularTimeSeriesValue::Class() { return *IFC4X3_IfcIrregularTimeSeriesValue_type; } Ifc4x3::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_IfcIrregularTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of_instance::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues));data_->setArgument(1,attr);} } +Ifc4x3::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_IfcIrregularTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TimeStamp));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ListValues)->generalize());data_->setArgument(1,attr);} } // Function implementations for IfcJunctionBox boost::optional< ::Ifc4x3::IfcJunctionBoxTypeEnum::Value > Ifc4x3::IfcJunctionBox::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3::IfcJunctionBoxTypeEnum::FromString(*data_->getArgument(8)); } @@ -17941,8 +17941,8 @@ Ifc4x3::IfcMaterial::IfcMaterial(IfcEntityInstanceData* e) : IfcMaterialDefiniti Ifc4x3::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Category));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialClassificationRelationship -aggregate_of_instance::ptr Ifc4x3::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3::IfcClassificationSelect >::ptr Ifc4x3::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3::IfcClassificationSelect >(); } +void Ifc4x3::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x3::IfcClassificationSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } ::Ifc4x3::IfcMaterial* Ifc4x3::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3::IfcMaterial>(true); } void Ifc4x3::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x3::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17950,7 +17950,7 @@ void Ifc4x3::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4 const IfcParse::entity& Ifc4x3::IfcMaterialClassificationRelationship::declaration() const { return *IFC4X3_IfcMaterialClassificationRelationship_type; } const IfcParse::entity& Ifc4x3::IfcMaterialClassificationRelationship::Class() { return *IFC4X3_IfcMaterialClassificationRelationship_type; } Ifc4x3::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_IfcMaterialClassificationRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of_instance::ptr v1_MaterialClassifications, ::Ifc4x3::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } +Ifc4x3::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } // Function implementations for IfcMaterialConstituent boost::optional< std::string > Ifc4x3::IfcMaterialConstituent::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -19175,8 +19175,8 @@ std::string Ifc4x3::IfcPresentationLayerAssignment::Name() const { std::string void Ifc4x3::IfcPresentationLayerAssignment::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3::IfcPresentationLayerAssignment::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc4x3::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3::IfcLayeredItem >::ptr Ifc4x3::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3::IfcLayeredItem >(); } +void Ifc4x3::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x3::IfcLayeredItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3::IfcPresentationLayerAssignment::Identifier() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x3::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } @@ -19184,7 +19184,7 @@ void Ifc4x3::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std: const IfcParse::entity& Ifc4x3::IfcPresentationLayerAssignment::declaration() const { return *IFC4X3_IfcPresentationLayerAssignment_type; } const IfcParse::entity& Ifc4x3::IfcPresentationLayerAssignment::Class() { return *IFC4X3_IfcPresentationLayerAssignment_type; } Ifc4x3::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_IfcPresentationLayerAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } +Ifc4x3::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_IfcPresentationLayerAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems)->generalize());data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc4x3::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = *data_->getArgument(4); return v; } @@ -19200,7 +19200,7 @@ void Ifc4x3::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::Ifc4x const IfcParse::entity& Ifc4x3::IfcPresentationLayerWithStyle::declaration() const { return *IFC4X3_IfcPresentationLayerWithStyle_type; } const IfcParse::entity& Ifc4x3::IfcPresentationLayerWithStyle::Class() { return *IFC4X3_IfcPresentationLayerWithStyle_type; } Ifc4x3::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData* e) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcPresentationLayerWithStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems));data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } +Ifc4x3::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcPresentationLayerWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AssignedItems)->generalize());data_->setArgument(2,attr);} if (v4_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Identifier));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_LayerOn));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LayerFrozen));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LayerBlocked));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LayerStyles)->generalize());data_->setArgument(7,attr);} } // Function implementations for IfcPresentationStyle boost::optional< std::string > Ifc4x3::IfcPresentationStyle::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -19432,8 +19432,8 @@ Ifc4x3::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(Ifc Ifc4x3::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcProperty* v3_DependingProperty, ::Ifc4x3::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcPropertyDependencyRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DependingProperty));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_DependantProperty));data_->setArgument(3,attr);} if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcPropertyEnumeratedValue -boost::optional< aggregate_of_instance::ptr > Ifc4x3::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > Ifc4x3::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3::IfcValue >(); } +void Ifc4x3::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } ::Ifc4x3::IfcPropertyEnumeration* Ifc4x3::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3::IfcPropertyEnumeration>(true); } void Ifc4x3::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19441,13 +19441,13 @@ void Ifc4x3::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3::IfcPr const IfcParse::entity& Ifc4x3::IfcPropertyEnumeratedValue::declaration() const { return *IFC4X3_IfcPropertyEnumeratedValue_type; } const IfcParse::entity& Ifc4x3::IfcPropertyEnumeratedValue::Class() { return *IFC4X3_IfcPropertyEnumeratedValue_type; } Ifc4x3::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcPropertyEnumeratedValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of_instance::ptr > v3_EnumerationValues, ::Ifc4x3::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } +Ifc4x3::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcPropertyEnumeratedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EnumerationValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EnumerationValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EnumerationReference));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyEnumeration std::string Ifc4x3::IfcPropertyEnumeration::Name() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3::IfcPropertyEnumeration::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4x3::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3::IfcPropertyEnumeration::setEnumerationValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3::IfcValue >::ptr Ifc4x3::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3::IfcValue >(); } +void Ifc4x3::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } ::Ifc4x3::IfcUnit* Ifc4x3::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3::IfcUnit>(true); } void Ifc4x3::IfcPropertyEnumeration::setUnit(::Ifc4x3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -19455,11 +19455,11 @@ void Ifc4x3::IfcPropertyEnumeration::setUnit(::Ifc4x3::IfcUnit* v) { {IfcWrite:: const IfcParse::entity& Ifc4x3::IfcPropertyEnumeration::declaration() const { return *IFC4X3_IfcPropertyEnumeration_type; } const IfcParse::entity& Ifc4x3::IfcPropertyEnumeration::Class() { return *IFC4X3_IfcPropertyEnumeration_type; } Ifc4x3::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData* e) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcPropertyEnumeration_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of_instance::ptr v2_EnumerationValues, ::Ifc4x3::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } +Ifc4x3::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3::IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcPropertyEnumeration_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EnumerationValues)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Unit));data_->setArgument(2,attr);} } // Function implementations for IfcPropertyListValue -boost::optional< aggregate_of_instance::ptr > Ifc4x3::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3::IfcPropertyListValue::setListValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > Ifc4x3::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3::IfcValue >(); } +void Ifc4x3::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } ::Ifc4x3::IfcUnit* Ifc4x3::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3::IfcUnit>(true); } void Ifc4x3::IfcPropertyListValue::setUnit(::Ifc4x3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19467,7 +19467,7 @@ void Ifc4x3::IfcPropertyListValue::setUnit(::Ifc4x3::IfcUnit* v) { {IfcWrite::If const IfcParse::entity& Ifc4x3::IfcPropertyListValue::declaration() const { return *IFC4X3_IfcPropertyListValue_type; } const IfcParse::entity& Ifc4x3::IfcPropertyListValue::Class() { return *IFC4X3_IfcPropertyListValue_type; } Ifc4x3::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcPropertyListValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of_instance::ptr > v3_ListValues, ::Ifc4x3::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } +Ifc4x3::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v3_ListValues, ::Ifc4x3::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcPropertyListValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ListValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ListValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4x3::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } @@ -19530,10 +19530,10 @@ Ifc4x3::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceData* e) Ifc4x3::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Specification, ::Ifc4x3::IfcValue* v3_NominalValue, ::Ifc4x3::IfcUnit* v4_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcPropertySingleValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_NominalValue));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);} } // Function implementations for IfcPropertyTableValue -boost::optional< aggregate_of_instance::ptr > Ifc4x3::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(2,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(3,attr);} } +boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > Ifc4x3::IfcPropertyTableValue::DefiningValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3::IfcValue >(); } +void Ifc4x3::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(2,attr);} } +boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > Ifc4x3::IfcPropertyTableValue::DefinedValues() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3::IfcValue >(); } +void Ifc4x3::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(4,attr);} } ::Ifc4x3::IfcUnit* Ifc4x3::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3::IfcUnit>(true); } @@ -19547,7 +19547,7 @@ void Ifc4x3::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc const IfcParse::entity& Ifc4x3::IfcPropertyTableValue::declaration() const { return *IFC4X3_IfcPropertyTableValue_type; } const IfcParse::entity& Ifc4x3::IfcPropertyTableValue::Class() { return *IFC4X3_IfcPropertyTableValue_type; } Ifc4x3::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData* e) : IfcSimpleProperty((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcPropertyTableValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of_instance::ptr > v3_DefiningValues, boost::optional< aggregate_of_instance::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3::IfcUnit* v6_DefiningUnit, ::Ifc4x3::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x3::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } +Ifc4x3::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3::IfcUnit* v6_DefiningUnit, ::Ifc4x3::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcPropertyTableValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Specification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Specification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_DefiningValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_DefiningValues)->generalize());data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DefinedValues) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DefinedValues)->generalize());data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Expression) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Expression));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_DefiningUnit));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_DefinedUnit));data_->setArgument(6,attr);} if (v8_CurveInterpolation) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_CurveInterpolation,::Ifc4x3::IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcPropertyTemplate @@ -20038,14 +20038,14 @@ boost::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3::IfcRein void Ifc4x3::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3::IfcReinforcingBarSurfaceEnum::ToString(*v)));}data_->setArgument(13,attr);} } boost::optional< std::string > Ifc4x3::IfcReinforcingBarType::BendingShapeCode() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return boost::none; } std::string v = *data_->getArgument(14); return v; } void Ifc4x3::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(14,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(15); return v; } -void Ifc4x3::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(15,attr);} } +boost::optional< aggregate_of< ::Ifc4x3::IfcBendingParameterSelect >::ptr > Ifc4x3::IfcReinforcingBarType::BendingParameters() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(15); return es->as< ::Ifc4x3::IfcBendingParameterSelect >(); } +void Ifc4x3::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(15,attr);} } const IfcParse::entity& Ifc4x3::IfcReinforcingBarType::declaration() const { return *IFC4X3_IfcReinforcingBarType_type; } const IfcParse::entity& Ifc4x3::IfcReinforcingBarType::Class() { return *IFC4X3_IfcReinforcingBarType_type; } Ifc4x3::IfcReinforcingBarType::IfcReinforcingBarType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcReinforcingBarType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of_instance::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x3::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } +Ifc4x3::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcReinforcingBarType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3::IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_BarLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_BarLength));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_BarSurface) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_BarSurface,::Ifc4x3::IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_BendingShapeCode));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_BendingParameters)->generalize());data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } } // Function implementations for IfcReinforcingElement boost::optional< std::string > Ifc4x3::IfcReinforcingElement::SteelGrade() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } @@ -20112,14 +20112,14 @@ boost::optional< double > Ifc4x3::IfcReinforcingMeshType::TransverseBarSpacing() void Ifc4x3::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(17,attr);} } boost::optional< std::string > Ifc4x3::IfcReinforcingMeshType::BendingShapeCode() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } std::string v = *data_->getArgument(18); return v; } void Ifc4x3::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(18,attr);} } -boost::optional< aggregate_of_instance::ptr > Ifc4x3::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(19); return v; } -void Ifc4x3::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(19,attr);} } +boost::optional< aggregate_of< ::Ifc4x3::IfcBendingParameterSelect >::ptr > Ifc4x3::IfcReinforcingMeshType::BendingParameters() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(19); return es->as< ::Ifc4x3::IfcBendingParameterSelect >(); } +void Ifc4x3::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3::IfcBendingParameterSelect >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(19,attr);} } const IfcParse::entity& Ifc4x3::IfcReinforcingMeshType::declaration() const { return *IFC4X3_IfcReinforcingMeshType_type; } const IfcParse::entity& Ifc4x3::IfcReinforcingMeshType::Class() { return *IFC4X3_IfcReinforcingMeshType_type; } Ifc4x3::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData* e) : IfcReinforcingElementType((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcReinforcingMeshType_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< aggregate_of_instance::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } +Ifc4x3::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters)->generalize());data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcRelAdheresToElement ::Ifc4x3::IfcElement* Ifc4x3::IfcRelAdheresToElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3::IfcElement>(true); } @@ -20232,14 +20232,14 @@ Ifc4x3::IfcRelAssignsToResource::IfcRelAssignsToResource(IfcEntityInstanceData* Ifc4x3::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelAssignsToResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingResource));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociates -aggregate_of_instance::ptr Ifc4x3::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(4); return v; } -void Ifc4x3::IfcRelAssociates::setRelatedObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr Ifc4x3::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3::IfcDefinitionSelect >(); } +void Ifc4x3::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } const IfcParse::entity& Ifc4x3::IfcRelAssociates::declaration() const { return *IFC4X3_IfcRelAssociates_type; } const IfcParse::entity& Ifc4x3::IfcRelAssociates::Class() { return *IFC4X3_IfcRelAssociates_type; } Ifc4x3::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcRelAssociates_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } +Ifc4x3::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} } // Function implementations for IfcRelAssociatesApproval ::Ifc4x3::IfcApproval* Ifc4x3::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3::IfcApproval>(true); } @@ -20249,7 +20249,7 @@ void Ifc4x3::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x3::IfcApproval const IfcParse::entity& Ifc4x3::IfcRelAssociatesApproval::declaration() const { return *IFC4X3_IfcRelAssociatesApproval_type; } const IfcParse::entity& Ifc4x3::IfcRelAssociatesApproval::Class() { return *IFC4X3_IfcRelAssociatesApproval_type; } Ifc4x3::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcRelAssociatesApproval_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } +Ifc4x3::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesClassification ::Ifc4x3::IfcClassificationSelect* Ifc4x3::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3::IfcClassificationSelect>(true); } @@ -20259,7 +20259,7 @@ void Ifc4x3::IfcRelAssociatesClassification::setRelatingClassification(::Ifc4x3: const IfcParse::entity& Ifc4x3::IfcRelAssociatesClassification::declaration() const { return *IFC4X3_IfcRelAssociatesClassification_type; } const IfcParse::entity& Ifc4x3::IfcRelAssociatesClassification::Class() { return *IFC4X3_IfcRelAssociatesClassification_type; } Ifc4x3::IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcRelAssociatesClassification_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } +Ifc4x3::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelAssociatesClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingClassification));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4x3::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } @@ -20271,7 +20271,7 @@ void Ifc4x3::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x3::IfcCons const IfcParse::entity& Ifc4x3::IfcRelAssociatesConstraint::declaration() const { return *IFC4X3_IfcRelAssociatesConstraint_type; } const IfcParse::entity& Ifc4x3::IfcRelAssociatesConstraint::Class() { return *IFC4X3_IfcRelAssociatesConstraint_type; } Ifc4x3::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcRelAssociatesConstraint_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } +Ifc4x3::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociatesDocument ::Ifc4x3::IfcDocumentSelect* Ifc4x3::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3::IfcDocumentSelect>(true); } @@ -20281,7 +20281,7 @@ void Ifc4x3::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x3::IfcDocument const IfcParse::entity& Ifc4x3::IfcRelAssociatesDocument::declaration() const { return *IFC4X3_IfcRelAssociatesDocument_type; } const IfcParse::entity& Ifc4x3::IfcRelAssociatesDocument::Class() { return *IFC4X3_IfcRelAssociatesDocument_type; } Ifc4x3::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcRelAssociatesDocument_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } +Ifc4x3::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesLibrary ::Ifc4x3::IfcLibrarySelect* Ifc4x3::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3::IfcLibrarySelect>(true); } @@ -20291,7 +20291,7 @@ void Ifc4x3::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x3::IfcLibrarySel const IfcParse::entity& Ifc4x3::IfcRelAssociatesLibrary::declaration() const { return *IFC4X3_IfcRelAssociatesLibrary_type; } const IfcParse::entity& Ifc4x3::IfcRelAssociatesLibrary::Class() { return *IFC4X3_IfcRelAssociatesLibrary_type; } Ifc4x3::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcRelAssociatesLibrary_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } +Ifc4x3::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesMaterial ::Ifc4x3::IfcMaterialSelect* Ifc4x3::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3::IfcMaterialSelect>(true); } @@ -20301,7 +20301,7 @@ void Ifc4x3::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x3::IfcMaterial const IfcParse::entity& Ifc4x3::IfcRelAssociatesMaterial::declaration() const { return *IFC4X3_IfcRelAssociatesMaterial_type; } const IfcParse::entity& Ifc4x3::IfcRelAssociatesMaterial::Class() { return *IFC4X3_IfcRelAssociatesMaterial_type; } Ifc4x3::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcRelAssociatesMaterial_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } +Ifc4x3::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesProfileDef ::Ifc4x3::IfcProfileDef* Ifc4x3::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3::IfcProfileDef>(true); } @@ -20311,7 +20311,7 @@ void Ifc4x3::IfcRelAssociatesProfileDef::setRelatingProfileDef(::Ifc4x3::IfcProf const IfcParse::entity& Ifc4x3::IfcRelAssociatesProfileDef::declaration() const { return *IFC4X3_IfcRelAssociatesProfileDef_type; } const IfcParse::entity& Ifc4x3::IfcRelAssociatesProfileDef::Class() { return *IFC4X3_IfcRelAssociatesProfileDef_type; } Ifc4x3::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(IfcEntityInstanceData* e) : IfcRelAssociates((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcRelAssociatesProfileDef_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelAssociatesProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingProfileDef));data_->setArgument(5,attr);} } +Ifc4x3::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelAssociatesProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingProfileDef));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnects @@ -20470,14 +20470,14 @@ Ifc4x3::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4x3 // Function implementations for IfcRelDeclares ::Ifc4x3::IfcContext* Ifc4x3::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3::IfcContext>(true); } void Ifc4x3::IfcRelDeclares::setRelatingContext(::Ifc4x3::IfcContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -aggregate_of_instance::ptr Ifc4x3::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr v = *data_->getArgument(5); return v; } -void Ifc4x3::IfcRelDeclares::setRelatedDefinitions(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } +aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr Ifc4x3::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3::IfcDefinitionSelect >(); } +void Ifc4x3::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } const IfcParse::entity& Ifc4x3::IfcRelDeclares::declaration() const { return *IFC4X3_IfcRelDeclares_type; } const IfcParse::entity& Ifc4x3::IfcRelDeclares::Class() { return *IFC4X3_IfcRelDeclares_type; } Ifc4x3::IfcRelDeclares::IfcRelDeclares(IfcEntityInstanceData* e) : IfcRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcRelDeclares_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcContext* v5_RelatingContext, aggregate_of_instance::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions));data_->setArgument(5,attr);} } +Ifc4x3::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelDeclares_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingContext));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedDefinitions)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelDecomposes @@ -20624,8 +20624,8 @@ Ifc4x3::IfcRelProjectsElement::IfcRelProjectsElement(IfcEntityInstanceData* e) : Ifc4x3::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcElement* v5_RelatingElement, ::Ifc4x3::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelProjectsElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedFeatureElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelReferencedInSpatialStructure -aggregate_of_instance::ptr Ifc4x3::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr v = *data_->getArgument(4); return v; } -void Ifc4x3::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } +aggregate_of< ::Ifc4x3::IfcSpatialReferenceSelect >::ptr Ifc4x3::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3::IfcSpatialReferenceSelect >(); } +void Ifc4x3::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3::IfcSpatialReferenceSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } ::Ifc4x3::IfcSpatialElement* Ifc4x3::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3::IfcSpatialElement>(true); } void Ifc4x3::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4x3::IfcSpatialElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20633,7 +20633,7 @@ void Ifc4x3::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4x3:: const IfcParse::entity& Ifc4x3::IfcRelReferencedInSpatialStructure::declaration() const { return *IFC4X3_IfcRelReferencedInSpatialStructure_type; } const IfcParse::entity& Ifc4x3::IfcRelReferencedInSpatialStructure::Class() { return *IFC4X3_IfcRelReferencedInSpatialStructure_type; } Ifc4x3::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcEntityInstanceData* e) : IfcRelConnects((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcRelReferencedInSpatialStructure_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedElements, ::Ifc4x3::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } +Ifc4x3::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } // Function implementations for IfcRelSequence ::Ifc4x3::IfcProcess* Ifc4x3::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3::IfcProcess>(true); } @@ -20805,8 +20805,8 @@ Ifc4x3::IfcResource::IfcResource(IfcEntityInstanceData* e) : IfcObject((IfcEntit Ifc4x3::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcResourceApprovalRelationship -aggregate_of_instance::ptr Ifc4x3::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr Ifc4x3::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3::IfcResourceObjectSelect >(); } +void Ifc4x3::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } ::Ifc4x3::IfcApproval* Ifc4x3::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3::IfcApproval>(true); } void Ifc4x3::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -20814,19 +20814,19 @@ void Ifc4x3::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3::IfcA const IfcParse::entity& Ifc4x3::IfcResourceApprovalRelationship::declaration() const { return *IFC4X3_IfcResourceApprovalRelationship_type; } const IfcParse::entity& Ifc4x3::IfcResourceApprovalRelationship::Class() { return *IFC4X3_IfcResourceApprovalRelationship_type; } Ifc4x3::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcResourceApprovalRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_RelatedResourceObjects, ::Ifc4x3::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } +Ifc4x3::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } // Function implementations for IfcResourceConstraintRelationship ::Ifc4x3::IfcConstraint* Ifc4x3::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3::IfcConstraint>(true); } void Ifc4x3::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x3::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -aggregate_of_instance::ptr Ifc4x3::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } -void Ifc4x3::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } +aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr Ifc4x3::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3::IfcResourceObjectSelect >(); } +void Ifc4x3::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } const IfcParse::entity& Ifc4x3::IfcResourceConstraintRelationship::declaration() const { return *IFC4X3_IfcResourceConstraintRelationship_type; } const IfcParse::entity& Ifc4x3::IfcResourceConstraintRelationship::Class() { return *IFC4X3_IfcResourceConstraintRelationship_type; } Ifc4x3::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcEntityInstanceData* e) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcResourceConstraintRelationship_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcConstraint* v3_RelatingConstraint, aggregate_of_instance::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects));data_->setArgument(3,attr);} } +Ifc4x3::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcResourceConstraintRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedResourceObjects)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcResourceLevelRelationship boost::optional< std::string > Ifc4x3::IfcResourceLevelRelationship::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } @@ -21266,14 +21266,14 @@ Ifc4x3::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceData* e) Ifc4x3::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcShapeRepresentation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcShellBasedSurfaceModel -aggregate_of_instance::ptr Ifc4x3::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3::IfcShell >::ptr Ifc4x3::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3::IfcShell >(); } +void Ifc4x3::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x3::IfcShell >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3::IfcShellBasedSurfaceModel::declaration() const { return *IFC4X3_IfcShellBasedSurfaceModel_type; } const IfcParse::entity& Ifc4x3::IfcShellBasedSurfaceModel::Class() { return *IFC4X3_IfcShellBasedSurfaceModel_type; } Ifc4x3::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData* e) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcShellBasedSurfaceModel_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of_instance::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary));data_->setArgument(0,attr);} } +Ifc4x3::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcShellBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SbsmBoundary)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcSign boost::optional< ::Ifc4x3::IfcSignTypeEnum::Value > Ifc4x3::IfcSign::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3::IfcSignTypeEnum::FromString(*data_->getArgument(8)); } @@ -22215,14 +22215,14 @@ Ifc4x3::IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(boost::optional // Function implementations for IfcSurfaceStyle ::Ifc4x3::IfcSurfaceSide::Value Ifc4x3::IfcSurfaceStyle::Side() const { return ::Ifc4x3::IfcSurfaceSide::FromString(*data_->getArgument(1)); } void Ifc4x3::IfcSurfaceStyle::setSide(::Ifc4x3::IfcSurfaceSide::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3::IfcSurfaceSide::ToString(v)));data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc4x3::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3::IfcSurfaceStyle::setStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3::IfcSurfaceStyleElementSelect >::ptr Ifc4x3::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3::IfcSurfaceStyleElementSelect >(); } +void Ifc4x3::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x3::IfcSurfaceStyleElementSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } const IfcParse::entity& Ifc4x3::IfcSurfaceStyle::declaration() const { return *IFC4X3_IfcSurfaceStyle_type; } const IfcParse::entity& Ifc4x3::IfcSurfaceStyle::Class() { return *IFC4X3_IfcSurfaceStyle_type; } Ifc4x3::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData* e) : IfcPresentationStyle((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcSurfaceStyle_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3::IfcSurfaceSide::Value v2_Side, aggregate_of_instance::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x3::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } +Ifc4x3::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x3::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles)->generalize());data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceStyleLighting ::Ifc4x3::IfcColourRgb* Ifc4x3::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3::IfcColourRgb>(true); } @@ -22477,8 +22477,8 @@ Ifc4x3::IfcTableColumn::IfcTableColumn(IfcEntityInstanceData* e) : IfcUtil::IfcB Ifc4x3::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x3::IfcUnit* v4_Unit, ::Ifc4x3::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_IfcTableColumn_type); if (v1_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Name));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Unit));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ReferencePath));data_->setArgument(4,attr);} } // Function implementations for IfcTableRow -boost::optional< aggregate_of_instance::ptr > Ifc4x3::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3::IfcTableRow::setRowCells(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(0,attr);} } +boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > Ifc4x3::IfcTableRow::RowCells() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3::IfcValue >(); } +void Ifc4x3::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set((*v)->generalize());}data_->setArgument(0,attr);} } boost::optional< bool > Ifc4x3::IfcTableRow::IsHeading() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } bool v = *data_->getArgument(1); return v; } void Ifc4x3::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();if (v) {attr->set(*v);}data_->setArgument(1,attr);} } @@ -22486,7 +22486,7 @@ void Ifc4x3::IfcTableRow::setIsHeading(boost::optional< bool > v) { {IfcWrite::I const IfcParse::entity& Ifc4x3::IfcTableRow::declaration() const { return *IFC4X3_IfcTableRow_type; } const IfcParse::entity& Ifc4x3::IfcTableRow::Class() { return *IFC4X3_IfcTableRow_type; } Ifc4x3::IfcTableRow::IfcTableRow(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_IfcTableRow_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcTableRow::IfcTableRow(boost::optional< aggregate_of_instance::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } +Ifc4x3::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_IfcTableRow_type); if (v1_RowCells) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RowCells)->generalize());data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_IsHeading) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_IsHeading));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcTank boost::optional< ::Ifc4x3::IfcTankTypeEnum::Value > Ifc4x3::IfcTank::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3::IfcTankTypeEnum::FromString(*data_->getArgument(8)); } @@ -22939,14 +22939,14 @@ Ifc4x3::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData* e) : IfcUtil::IfcBas Ifc4x3::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_IfcTimeSeries_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_StartTime));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EndTime));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_TimeSeriesDataType,::Ifc4x3::IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType))));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_DataOrigin,::Ifc4x3::IfcDataOriginEnum::ToString(v6_DataOrigin))));data_->setArgument(5,attr);} if (v7_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_UserDefinedDataOrigin));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Unit));data_->setArgument(7,attr);} } // Function implementations for IfcTimeSeriesValue -aggregate_of_instance::ptr Ifc4x3::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3::IfcTimeSeriesValue::setListValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3::IfcValue >::ptr Ifc4x3::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3::IfcValue >(); } +void Ifc4x3::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3::IfcValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3::IfcTimeSeriesValue::declaration() const { return *IFC4X3_IfcTimeSeriesValue_type; } const IfcParse::entity& Ifc4x3::IfcTimeSeriesValue::Class() { return *IFC4X3_IfcTimeSeriesValue_type; } Ifc4x3::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_IfcTimeSeriesValue_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of_instance::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues));data_->setArgument(0,attr);} } +Ifc4x3::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_IfcTimeSeriesValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ListValues)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcTopologicalRepresentationItem @@ -23095,10 +23095,10 @@ Ifc4x3::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::Ifc4x // Function implementations for IfcTrimmedCurve ::Ifc4x3::IfcCurve* Ifc4x3::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3::IfcCurve>(true); } void Ifc4x3::IfcTrimmedCurve::setBasisCurve(::Ifc4x3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -aggregate_of_instance::ptr Ifc4x3::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } -void Ifc4x3::IfcTrimmedCurve::setTrim1(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -aggregate_of_instance::ptr Ifc4x3::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } -void Ifc4x3::IfcTrimmedCurve::setTrim2(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } +aggregate_of< ::Ifc4x3::IfcTrimmingSelect >::ptr Ifc4x3::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3::IfcTrimmingSelect >(); } +void Ifc4x3::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x3::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } +aggregate_of< ::Ifc4x3::IfcTrimmingSelect >::ptr Ifc4x3::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3::IfcTrimmingSelect >(); } +void Ifc4x3::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x3::IfcTrimmingSelect >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } bool Ifc4x3::IfcTrimmedCurve::SenseAgreement() const { bool v = *data_->getArgument(3); return v; } void Ifc4x3::IfcTrimmedCurve::setSenseAgreement(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3::IfcTrimmingPreference::Value Ifc4x3::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3::IfcTrimmingPreference::FromString(*data_->getArgument(4)); } @@ -23108,7 +23108,7 @@ void Ifc4x3::IfcTrimmedCurve::setMasterRepresentation(::Ifc4x3::IfcTrimmingPrefe const IfcParse::entity& Ifc4x3::IfcTrimmedCurve::declaration() const { return *IFC4X3_IfcTrimmedCurve_type; } const IfcParse::entity& Ifc4x3::IfcTrimmedCurve::Class() { return *IFC4X3_IfcTrimmedCurve_type; } Ifc4x3::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData* e) : IfcBoundedCurve((IfcEntityInstanceData*)0) { if (!e) return; if (e->type() != IFC4X3_IfcTrimmedCurve_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3::IfcCurve* v1_BasisCurve, aggregate_of_instance::ptr v2_Trim1, aggregate_of_instance::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x3::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } +Ifc4x3::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcTrimmedCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Trim1)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Trim2)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SenseAgreement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_MasterRepresentation,::Ifc4x3::IfcTrimmingPreference::ToString(v5_MasterRepresentation))));data_->setArgument(4,attr);} } // Function implementations for IfcTubeBundle boost::optional< ::Ifc4x3::IfcTubeBundleTypeEnum::Value > Ifc4x3::IfcTubeBundle::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3::IfcTubeBundleTypeEnum::FromString(*data_->getArgument(8)); } @@ -23209,14 +23209,14 @@ Ifc4x3::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData* e) : Ifc Ifc4x3::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_EdgeRadius, boost::optional< double > v10_FlangeSlope) : IfcParameterizedProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_IfcUShapeProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4x3::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_FlangeWidth));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WebThickness));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_FlangeThickness));data_->setArgument(6,attr);} if (v8_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_FilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EdgeRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EdgeRadius));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_FlangeSlope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_FlangeSlope));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcUnitAssignment -aggregate_of_instance::ptr Ifc4x3::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } -void Ifc4x3::IfcUnitAssignment::setUnits(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } +aggregate_of< ::Ifc4x3::IfcUnit >::ptr Ifc4x3::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc4x3::IfcUnit >(); } +void Ifc4x3::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x3::IfcUnit >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } const IfcParse::entity& Ifc4x3::IfcUnitAssignment::declaration() const { return *IFC4X3_IfcUnitAssignment_type; } const IfcParse::entity& Ifc4x3::IfcUnitAssignment::Class() { return *IFC4X3_IfcUnitAssignment_type; } Ifc4x3::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (e->type() != IFC4X3_IfcUnitAssignment_type) throw IfcException("Unable to find keyword in schema"); data_ = e; } -Ifc4x3::IfcUnitAssignment::IfcUnitAssignment(aggregate_of_instance::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units));data_->setArgument(0,attr);} } +Ifc4x3::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_IfcUnitAssignment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Units)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcUnitaryControlElement boost::optional< ::Ifc4x3::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3::IfcUnitaryControlElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } return ::Ifc4x3::IfcUnitaryControlElementTypeEnum::FromString(*data_->getArgument(8)); } diff --git a/src/ifcparse/Ifc4x3.h b/src/ifcparse/Ifc4x3.h index a02615fd24..de68722fc0 100644 --- a/src/ifcparse/Ifc4x3.h +++ b/src/ifcparse/Ifc4x3.h @@ -65,6 +65,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcActorSelect > list; }; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. /// @@ -83,6 +84,7 @@ public: class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAppliedValueSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. /// @@ -92,6 +94,7 @@ public: class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAxis2Placement > list; }; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// @@ -99,6 +102,7 @@ public: class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBendingParameterSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies /// all those types of entities which may participate in a Boolean operation to @@ -119,6 +123,7 @@ public: class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBooleanOperand > list; }; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. /// @@ -131,6 +136,7 @@ public: class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationReferenceSelect > list; }; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. /// @@ -148,6 +154,7 @@ public: class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. /// @@ -157,6 +164,7 @@ public: class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColour > list; }; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// @@ -164,6 +172,7 @@ public: class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColourOrFactor > list; }; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// @@ -171,6 +180,7 @@ public: class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCoordinateReferenceSystemSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. /// Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive. @@ -181,6 +191,7 @@ public: class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCsgSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. /// @@ -190,16 +201,19 @@ public: class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveFontOrScaledCurveFontSelect > list; }; class IFC_PARSE_API IfcCurveMeasureSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveMeasureSelect > list; }; class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOnSurface > list; }; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve /// and subtypes) within a geometric model, or a curve with associated geometry and coordinates (IfcEdgeCurve) within a topological model. @@ -212,6 +226,7 @@ public: class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOrEdgeCurve > list; }; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. /// @@ -221,6 +236,7 @@ public: class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveStyleFontSelect > list; }; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT @@ -232,6 +248,7 @@ public: class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDefinitionSelect > list; }; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// @@ -310,6 +327,7 @@ public: class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDerivedMeasureValue > list; }; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -322,6 +340,7 @@ public: class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDocumentSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. /// @@ -332,6 +351,7 @@ public: class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcFillStyleSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. /// @@ -341,6 +361,7 @@ public: class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGeometricSetSelect > list; }; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. /// @@ -353,6 +374,7 @@ public: class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGridPlacementDirectionSelect > list; }; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// @@ -360,11 +382,13 @@ public: class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcHatchLineDistanceSelect > list; }; class IFC_PARSE_API IfcInterferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcInterferenceSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. /// @@ -376,6 +400,7 @@ public: class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLayeredItem > list; }; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -390,6 +415,7 @@ public: class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLibrarySelect > list; }; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. /// @@ -416,6 +442,7 @@ public: class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLightDistributionDataSourceSelect > list; }; /// IfcMaterialSelect provides selection of either a material /// definition or a material usage definition that can be assigned to @@ -446,6 +473,7 @@ public: class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMaterialSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). /// @@ -459,6 +487,7 @@ public: class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMeasureValue > list; }; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. /// @@ -475,6 +504,7 @@ public: class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMetricValueSelect > list; }; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -482,6 +512,7 @@ public: class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfRotationalSubgradeReactionSelect > list; }; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -489,6 +520,7 @@ public: class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfSubgradeReactionSelect > list; }; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -496,6 +528,7 @@ public: class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfTranslationalSubgradeReactionSelect > list; }; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// @@ -503,6 +536,7 @@ public: class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcObjectReferenceSelect > list; }; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. /// SELECT @@ -514,6 +548,7 @@ public: class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPointOrVertexPoint > list; }; /// IfcProcessSelectprovides the option to either /// select a process or activity occurrence, IfcProcess, @@ -528,11 +563,13 @@ public: class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProcessSelect > list; }; class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductRepresentationSelect > list; }; /// IfcProductSelectprovides the option to either select a /// product occurrence, IfcProduct, or a product type, @@ -546,11 +583,13 @@ public: class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductSelect > list; }; class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPropertySetDefinitionSelect > list; }; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// @@ -558,6 +597,7 @@ public: class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceObjectSelect > list; }; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, @@ -571,6 +611,7 @@ public: class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceSelect > list; }; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -578,11 +619,13 @@ public: class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcRotationalStiffnessSelect > list; }; class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSegmentIndexSelect > list; }; /// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < ¥. /// @@ -598,6 +641,7 @@ public: class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcShell > list; }; /// IfcSimpleValue is a select type for selecting between simple value types. /// @@ -621,6 +665,7 @@ public: class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSimpleValue > list; }; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. /// @@ -637,6 +682,7 @@ public: class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSizeSelect > list; }; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. /// SELECT @@ -648,6 +694,7 @@ public: class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSolidOrShell > list; }; /// Definition from IAI: The /// IfcSpaceBoundarySelectselects either an internal space @@ -664,11 +711,13 @@ public: class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpaceBoundarySelect > list; }; class IFC_PARSE_API IfcSpatialReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpatialReferenceSelect > list; }; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. /// @@ -683,6 +732,7 @@ public: class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpecularHighlightSelect > list; }; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of @@ -696,6 +746,7 @@ public: class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcStructuralActivityAssignmentSelect > list; }; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface /// and subtypes) within a geometric model, or a face with associated surface geometry and coordinates (IfcFaceSurface) within a topological model. @@ -709,6 +760,7 @@ public: class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceOrFaceSurface > list; }; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. /// @@ -722,6 +774,7 @@ public: class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceStyleElementSelect > list; }; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. /// @@ -733,12 +786,14 @@ public: class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTextFontSelect > list; }; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTimeOrRatioSelect > list; }; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -746,6 +801,7 @@ public: class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTranslationalStiffnessSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. /// @@ -755,6 +811,7 @@ public: class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTrimmingSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. /// @@ -772,6 +829,7 @@ public: class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcUnit > list; }; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. @@ -786,6 +844,7 @@ public: class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcValue > list; }; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. @@ -798,6 +857,7 @@ public: class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcVectorOrDirection > list; }; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -805,6 +865,7 @@ public: class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcWarpingStiffnessSelect > list; }; class IFC_PARSE_API IfcActionRequestTypeEnum : public IfcUtil::IfcBaseType { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. @@ -11062,12 +11123,12 @@ public: std::string TimeStamp() const; void setTimeStamp(std::string v); /// A list of time-series values. At least one value is required. - aggregate_of_instance::ptr ListValues() const; - void setListValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcValue >::ptr ListValues() const; + void setListValues(aggregate_of< ::Ifc4x3::IfcValue >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcIrregularTimeSeriesValue (IfcEntityInstanceData* e); - IfcIrregularTimeSeriesValue (std::string v1_TimeStamp, aggregate_of_instance::ptr v2_ListValues); + IfcIrregularTimeSeriesValue (std::string v1_TimeStamp, aggregate_of< ::Ifc4x3::IfcValue >::ptr v2_ListValues); typedef aggregate_of< IfcIrregularTimeSeriesValue > list; }; /// An IfcLibraryInformation describes a library where a library is a structured store of information, normally organized in a manner which allows information lookup through an index or reference value. IfcLibraryInformation provides the library Name and optional Version, VersionDate and Publisher attributes. A Location may be added for electronic access to the library. @@ -11245,15 +11306,15 @@ public: class IFC_PARSE_API IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { public: /// The material classifications identifying the type of material. - aggregate_of_instance::ptr MaterialClassifications() const; - void setMaterialClassifications(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcClassificationSelect >::ptr MaterialClassifications() const; + void setMaterialClassifications(aggregate_of< ::Ifc4x3::IfcClassificationSelect >::ptr v); /// Material being classified. ::Ifc4x3::IfcMaterial* ClassifiedMaterial() const; void setClassifiedMaterial(::Ifc4x3::IfcMaterial* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcMaterialClassificationRelationship (IfcEntityInstanceData* e); - IfcMaterialClassificationRelationship (aggregate_of_instance::ptr v1_MaterialClassifications, ::Ifc4x3::IfcMaterial* v2_ClassifiedMaterial); + IfcMaterialClassificationRelationship (aggregate_of< ::Ifc4x3::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3::IfcMaterial* v2_ClassifiedMaterial); typedef aggregate_of< IfcMaterialClassificationRelationship > list; }; /// IfcMaterialDefinition is a general supertype for all @@ -12045,15 +12106,15 @@ public: boost::optional< std::string > Description() const; void setDescription(boost::optional< std::string > v); /// The set of layered items, which are assigned to this layer. - aggregate_of_instance::ptr AssignedItems() const; - void setAssignedItems(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcLayeredItem >::ptr AssignedItems() const; + void setAssignedItems(aggregate_of< ::Ifc4x3::IfcLayeredItem >::ptr v); /// An (internal) identifier assigned to the layer. boost::optional< std::string > Identifier() const; void setIdentifier(boost::optional< std::string > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPresentationLayerAssignment (IfcEntityInstanceData* e); - IfcPresentationLayerAssignment (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier); + IfcPresentationLayerAssignment (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier); typedef aggregate_of< IfcPresentationLayerAssignment > list; }; /// An IfcPresentationLayerAssignmentWithStyle extends the presentation layer assignment with capabilities to define visibility control, access control and common style information. @@ -12090,7 +12151,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPresentationLayerWithStyle (IfcEntityInstanceData* e); - IfcPresentationLayerWithStyle (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3::IfcPresentationStyle >::ptr v8_LayerStyles); + IfcPresentationLayerWithStyle (std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3::IfcPresentationStyle >::ptr v8_LayerStyles); typedef aggregate_of< IfcPresentationLayerWithStyle > list; }; /// IfcPresentationStyle is an abstract generalization of style table for presentation information assigned to geometric representation items. It includes styles for curves, areas, surfaces, text and symbols. Style information may include colour, hatching, rendering, and text fonts. @@ -12438,15 +12499,15 @@ public: std::string Name() const; void setName(std::string v); /// List of values that form the enumeration. - aggregate_of_instance::ptr EnumerationValues() const; - void setEnumerationValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcValue >::ptr EnumerationValues() const; + void setEnumerationValues(aggregate_of< ::Ifc4x3::IfcValue >::ptr v); /// Unit for the enumerator values, if not given, the default value for the measure type (given by the TYPE of nominal value) is used as defined by the global unit assignment at IfcProject. ::Ifc4x3::IfcUnit* Unit() const; void setUnit(::Ifc4x3::IfcUnit* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyEnumeration (IfcEntityInstanceData* e); - IfcPropertyEnumeration (std::string v1_Name, aggregate_of_instance::ptr v2_EnumerationValues, ::Ifc4x3::IfcUnit* v3_Unit); + IfcPropertyEnumeration (std::string v1_Name, aggregate_of< ::Ifc4x3::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3::IfcUnit* v3_Unit); typedef aggregate_of< IfcPropertyEnumeration > list; }; /// IfcQuantityArea is a physical quantity that defines a derived area measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. @@ -13370,12 +13431,12 @@ public: ::Ifc4x3::IfcSurfaceSide::Value Side() const; void setSide(::Ifc4x3::IfcSurfaceSide::Value v); /// A collection of different surface styles. - aggregate_of_instance::ptr Styles() const; - void setStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcSurfaceStyleElementSelect >::ptr Styles() const; + void setStyles(aggregate_of< ::Ifc4x3::IfcSurfaceStyleElementSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcSurfaceStyle (IfcEntityInstanceData* e); - IfcSurfaceStyle (boost::optional< std::string > v1_Name, ::Ifc4x3::IfcSurfaceSide::Value v2_Side, aggregate_of_instance::ptr v3_Styles); + IfcSurfaceStyle (boost::optional< std::string > v1_Name, ::Ifc4x3::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3::IfcSurfaceStyleElementSelect >::ptr v3_Styles); typedef aggregate_of< IfcSurfaceStyle > list; }; /// IfcSurfaceStyleLighting is a container class for properties for calculation of physically exact illuminance related to a particular surface style. @@ -13684,15 +13745,15 @@ public: class IFC_PARSE_API IfcTableRow : public IfcUtil::IfcBaseEntity { public: /// The data value of the table cell.. - boost::optional< aggregate_of_instance::ptr > RowCells() const; - void setRowCells(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > RowCells() const; + void setRowCells(boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v); /// Flag which identifies if the row is a heading row or a row which contains row values. NOTE - If the row is a heading, the flag takes the value = TRUE. boost::optional< bool > IsHeading() const; void setIsHeading(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTableRow (IfcEntityInstanceData* e); - IfcTableRow (boost::optional< aggregate_of_instance::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading); + IfcTableRow (boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading); typedef aggregate_of< IfcTableRow > list; }; /// IfcTaskTime captures the time-related information about a task including the different types (actual or scheduled) of starting and ending times. @@ -14266,12 +14327,12 @@ public: class IFC_PARSE_API IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// A list of time-series values. At least one value is required. - aggregate_of_instance::ptr ListValues() const; - void setListValues(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcValue >::ptr ListValues() const; + void setListValues(aggregate_of< ::Ifc4x3::IfcValue >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTimeSeriesValue (IfcEntityInstanceData* e); - IfcTimeSeriesValue (aggregate_of_instance::ptr v1_ListValues); + IfcTimeSeriesValue (aggregate_of< ::Ifc4x3::IfcValue >::ptr v1_ListValues); typedef aggregate_of< IfcTimeSeriesValue > list; }; /// Definition from ISO/CD 10303-42:1992: The topological representation item is the supertype for all the topological representation items in the geometry resource. @@ -14337,12 +14398,12 @@ public: class IFC_PARSE_API IfcUnitAssignment : public IfcUtil::IfcBaseEntity { public: /// Units to be included within a unit assignment. - aggregate_of_instance::ptr Units() const; - void setUnits(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcUnit >::ptr Units() const; + void setUnits(aggregate_of< ::Ifc4x3::IfcUnit >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcUnitAssignment (IfcEntityInstanceData* e); - IfcUnitAssignment (aggregate_of_instance::ptr v1_Units); + IfcUnitAssignment (aggregate_of< ::Ifc4x3::IfcUnit >::ptr v1_Units); typedef aggregate_of< IfcUnitAssignment > list; }; /// Definition from ISO/CD 10303-42:1992: A vertex is the topological construct corresponding to a point. It has dimensionality 0 and extent 0. The domain of a vertex, if present, is a point in m dimensional real space RM; this is represented by the vertex point subtype. @@ -15356,8 +15417,8 @@ public: ::Ifc4x3::IfcActorSelect* DocumentOwner() const; void setDocumentOwner(::Ifc4x3::IfcActorSelect* v); /// The persons and/or organizations who have created this document or contributed to it. - boost::optional< aggregate_of_instance::ptr > Editors() const; - void setEditors(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3::IfcActorSelect >::ptr > Editors() const; + void setEditors(boost::optional< aggregate_of< ::Ifc4x3::IfcActorSelect >::ptr > v); /// Date and time stamp when the document was originally created. /// /// IFC2x4 CHANGE The data type has been changed to IfcDateTime, the date time string according to ISO8601. @@ -15398,7 +15459,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcDocumentInformation (IfcEntityInstanceData* e); - IfcDocumentInformation (std::string v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_Location, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, ::Ifc4x3::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of_instance::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< ::Ifc4x3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3::IfcDocumentStatusEnum::Value > v17_Status); + IfcDocumentInformation (std::string v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_Location, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, ::Ifc4x3::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3::IfcActorSelect >::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< ::Ifc4x3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3::IfcDocumentStatusEnum::Value > v17_Status); typedef aggregate_of< IfcDocumentInformation > list; }; /// An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents. @@ -15639,12 +15700,12 @@ public: ::Ifc4x3::IfcExternalReference* RelatingReference() const; void setRelatingReference(::Ifc4x3::IfcExternalReference* v); /// Objects within the list of IfcResourceObjectSelect that can be tagged by an external reference to a dictionary, library, catalogue, classification or documentation. - aggregate_of_instance::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcExternalReferenceRelationship (IfcEntityInstanceData* e); - IfcExternalReferenceRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcExternalReference* v3_RelatingReference, aggregate_of_instance::ptr v4_RelatedResourceObjects); + IfcExternalReferenceRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects); typedef aggregate_of< IfcExternalReferenceRelationship > list; }; /// Definition from ISO/CD 10303-42:1992: A face is a topological @@ -15855,14 +15916,14 @@ public: class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle { public: /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. - aggregate_of_instance::ptr FillStyles() const; - void setFillStyles(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcFillStyleSelect >::ptr FillStyles() const; + void setFillStyles(aggregate_of< ::Ifc4x3::IfcFillStyleSelect >::ptr v); boost::optional< bool > ModelOrDraughting() const; void setModelOrDraughting(boost::optional< bool > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcFillAreaStyle (IfcEntityInstanceData* e); - IfcFillAreaStyle (boost::optional< std::string > v1_Name, aggregate_of_instance::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting); + IfcFillAreaStyle (boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting); typedef aggregate_of< IfcFillAreaStyle > list; }; /// Definition from ISO/CD 10303-42:1992: A geometric @@ -16016,12 +16077,12 @@ public: class IFC_PARSE_API IfcGeometricSet : public IfcGeometricRepresentationItem { public: /// The geometric elements which make up the geometric set, these may be points, curves or surfaces; but are required to be of the same coordinate space dimensionality. - aggregate_of_instance::ptr Elements() const; - void setElements(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcGeometricSetSelect >::ptr Elements() const; + void setElements(aggregate_of< ::Ifc4x3::IfcGeometricSetSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcGeometricSet (IfcEntityInstanceData* e); - IfcGeometricSet (aggregate_of_instance::ptr v1_Elements); + IfcGeometricSet (aggregate_of< ::Ifc4x3::IfcGeometricSetSelect >::ptr v1_Elements); typedef aggregate_of< IfcGeometricSet > list; }; /// IfcGridPlacement provides a specialization of IfcObjectPlacement in which @@ -18034,15 +18095,15 @@ public: class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: /// Resource objects that are approved. - aggregate_of_instance::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr v); /// The approval for the resource objects selected. ::Ifc4x3::IfcApproval* RelatingApproval() const; void setRelatingApproval(::Ifc4x3::IfcApproval* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcResourceApprovalRelationship (IfcEntityInstanceData* e); - IfcResourceApprovalRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_RelatedResourceObjects, ::Ifc4x3::IfcApproval* v4_RelatingApproval); + IfcResourceApprovalRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3::IfcApproval* v4_RelatingApproval); typedef aggregate_of< IfcResourceApprovalRelationship > list; }; /// An IfcResourceConstraintRelationship is a relationship @@ -18071,12 +18132,12 @@ public: ::Ifc4x3::IfcConstraint* RelatingConstraint() const; void setRelatingConstraint(::Ifc4x3::IfcConstraint* v); /// The properties to which a constraint is to be related. - aggregate_of_instance::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcResourceConstraintRelationship (IfcEntityInstanceData* e); - IfcResourceConstraintRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcConstraint* v3_RelatingConstraint, aggregate_of_instance::ptr v4_RelatedResourceObjects); + IfcResourceConstraintRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects); typedef aggregate_of< IfcResourceConstraintRelationship > list; }; /// IfcResourceTime captures the time-related information about a construction resource. @@ -18333,12 +18394,12 @@ public: /// The shells shall not overlap or intersect except at common faces, edges or vertices. class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - aggregate_of_instance::ptr SbsmBoundary() const; - void setSbsmBoundary(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcShell >::ptr SbsmBoundary() const; + void setSbsmBoundary(aggregate_of< ::Ifc4x3::IfcShell >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcShellBasedSurfaceModel (IfcEntityInstanceData* e); - IfcShellBasedSurfaceModel (aggregate_of_instance::ptr v1_SbsmBoundary); + IfcShellBasedSurfaceModel (aggregate_of< ::Ifc4x3::IfcShell >::ptr v1_SbsmBoundary); typedef aggregate_of< IfcShellBasedSurfaceModel > list; }; /// IfcSimpleProperty is a generalization of a single property object. The various subtypes of IfcSimpleProperty establish different ways in which a property value can be set. @@ -21258,7 +21319,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcGeometricCurveSet (IfcEntityInstanceData* e); - IfcGeometricCurveSet (aggregate_of_instance::ptr v1_Elements); + IfcGeometricCurveSet (aggregate_of< ::Ifc4x3::IfcGeometricSetSelect >::ptr v1_Elements); typedef aggregate_of< IfcGeometricCurveSet > list; }; /// IfcIShapeProfileDef @@ -22405,15 +22466,15 @@ public: /// Enumeration values, which shall be listed in the referenced IfcPropertyEnumeration, if such a reference is provided. /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. - boost::optional< aggregate_of_instance::ptr > EnumerationValues() const; - void setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > EnumerationValues() const; + void setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v); /// Enumeration from which a enumeration value has been selected. The referenced enumeration also establishes the unit of the enumeration value. ::Ifc4x3::IfcPropertyEnumeration* EnumerationReference() const; void setEnumerationReference(::Ifc4x3::IfcPropertyEnumeration* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyEnumeratedValue (IfcEntityInstanceData* e); - IfcPropertyEnumeratedValue (std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of_instance::ptr > v3_EnumerationValues, ::Ifc4x3::IfcPropertyEnumeration* v4_EnumerationReference); + IfcPropertyEnumeratedValue (std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3::IfcPropertyEnumeration* v4_EnumerationReference); typedef aggregate_of< IfcPropertyEnumeratedValue > list; }; /// An IfcPropertyListValue @@ -22486,15 +22547,15 @@ public: /// List of property values. /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. - boost::optional< aggregate_of_instance::ptr > ListValues() const; - void setListValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > ListValues() const; + void setListValues(boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v); /// Unit for the list values, if not given, the default value for the measure type (given by the TYPE of nominal value) is used as defined by the global unit assignment at IfcProject. ::Ifc4x3::IfcUnit* Unit() const; void setUnit(::Ifc4x3::IfcUnit* v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyListValue (IfcEntityInstanceData* e); - IfcPropertyListValue (std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of_instance::ptr > v3_ListValues, ::Ifc4x3::IfcUnit* v4_Unit); + IfcPropertyListValue (std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v3_ListValues, ::Ifc4x3::IfcUnit* v4_Unit); typedef aggregate_of< IfcPropertyListValue > list; }; /// IfcPropertyReferenceValue allows a property value to @@ -22834,13 +22895,13 @@ public: /// List of defining values, which determine the defined values. This list shall have unique values only. /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. - boost::optional< aggregate_of_instance::ptr > DefiningValues() const; - void setDefiningValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > DefiningValues() const; + void setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v); /// Defined values which are applicable for the scope as defined by the defining values. /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. - boost::optional< aggregate_of_instance::ptr > DefinedValues() const; - void setDefinedValues(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > DefinedValues() const; + void setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v); /// Expression for the derivation of defined values from the defining values, the expression is given for information only, i.e. no automatic processing can be expected from the expression. boost::optional< std::string > Expression() const; void setExpression(boost::optional< std::string > v); @@ -22858,7 +22919,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcPropertyTableValue (IfcEntityInstanceData* e); - IfcPropertyTableValue (std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of_instance::ptr > v3_DefiningValues, boost::optional< aggregate_of_instance::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3::IfcUnit* v6_DefiningUnit, ::Ifc4x3::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); + IfcPropertyTableValue (std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3::IfcUnit* v6_DefiningUnit, ::Ifc4x3::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); typedef aggregate_of< IfcPropertyTableValue > list; }; /// The IfcPropertyTemplate is an abstract supertype @@ -23354,12 +23415,12 @@ public: /// Set of object or property definitions to which the external references or information is associated. It includes object and type objects, property set templates, property templates and property sets and contexts. /// /// IFC2x4 CHANGE  The attribute datatype has been changed from IfcRoot to IfcDefinitionSelect. - aggregate_of_instance::ptr RelatedObjects() const; - void setRelatedObjects(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr RelatedObjects() const; + void setRelatedObjects(aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociates (IfcEntityInstanceData* e); - IfcRelAssociates (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects); + IfcRelAssociates (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects); typedef aggregate_of< IfcRelAssociates > list; }; /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. @@ -23373,7 +23434,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesApproval (IfcEntityInstanceData* e); - IfcRelAssociatesApproval (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3::IfcApproval* v6_RelatingApproval); + IfcRelAssociatesApproval (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcApproval* v6_RelatingApproval); typedef aggregate_of< IfcRelAssociatesApproval > list; }; /// The objectified relationship @@ -23414,7 +23475,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesClassification (IfcEntityInstanceData* e); - IfcRelAssociatesClassification (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3::IfcClassificationSelect* v6_RelatingClassification); + IfcRelAssociatesClassification (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcClassificationSelect* v6_RelatingClassification); typedef aggregate_of< IfcRelAssociatesClassification > list; }; /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. @@ -23431,7 +23492,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesConstraint (IfcEntityInstanceData* e); - IfcRelAssociatesConstraint (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3::IfcConstraint* v7_RelatingConstraint); + IfcRelAssociatesConstraint (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3::IfcConstraint* v7_RelatingConstraint); typedef aggregate_of< IfcRelAssociatesConstraint > list; }; /// The objectified relationship (IfcRelAssociatesDocument) handles the assignment of a document information (items of the select IfcDocumentSelect) to objects occurrences (subtypes of IfcObject) or object types (subtypes of IfcTypeObject). @@ -23449,7 +23510,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesDocument (IfcEntityInstanceData* e); - IfcRelAssociatesDocument (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3::IfcDocumentSelect* v6_RelatingDocument); + IfcRelAssociatesDocument (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcDocumentSelect* v6_RelatingDocument); typedef aggregate_of< IfcRelAssociatesDocument > list; }; /// The objectified relationship (IfcRelAssociatesLibrary) handles the assignment of a library item (items of the select IfcLibrarySelect) to subtypes of IfcObjectDefinition or IfcPropertyDefinition. @@ -23467,7 +23528,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesLibrary (IfcEntityInstanceData* e); - IfcRelAssociatesLibrary (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3::IfcLibrarySelect* v6_RelatingLibrary); + IfcRelAssociatesLibrary (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcLibrarySelect* v6_RelatingLibrary); typedef aggregate_of< IfcRelAssociatesLibrary > list; }; /// Definition from IAI: Objectified relationship between a @@ -23572,7 +23633,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesMaterial (IfcEntityInstanceData* e); - IfcRelAssociatesMaterial (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3::IfcMaterialSelect* v6_RelatingMaterial); + IfcRelAssociatesMaterial (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcMaterialSelect* v6_RelatingMaterial); typedef aggregate_of< IfcRelAssociatesMaterial > list; }; @@ -23583,7 +23644,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelAssociatesProfileDef (IfcEntityInstanceData* e); - IfcRelAssociatesProfileDef (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3::IfcProfileDef* v6_RelatingProfileDef); + IfcRelAssociatesProfileDef (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcProfileDef* v6_RelatingProfileDef); typedef aggregate_of< IfcRelAssociatesProfileDef > list; }; /// IfcRelConnects is a connectivity relationship that connects objects under some criteria. As a general connectivity it does not imply constraints, however subtypes of the relationship define the applicable object types for the connectivity relationship and the semantics of the particular connectivity. @@ -24056,12 +24117,12 @@ public: ::Ifc4x3::IfcContext* RelatingContext() const; void setRelatingContext(::Ifc4x3::IfcContext* v); /// Set of object or property definitions that are assigned to a context and to which the unit and representation context definitions of that context apply. - aggregate_of_instance::ptr RelatedDefinitions() const; - void setRelatedDefinitions(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr RelatedDefinitions() const; + void setRelatedDefinitions(aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelDeclares (IfcEntityInstanceData* e); - IfcRelDeclares (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcContext* v5_RelatingContext, aggregate_of_instance::ptr v6_RelatedDefinitions); + IfcRelDeclares (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v6_RelatedDefinitions); typedef aggregate_of< IfcRelDeclares > list; }; /// The decomposition relationship, @@ -24576,8 +24637,8 @@ class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects public: /// Set of products, which are referenced within this level of the spatial structure hierarchy. /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. - aggregate_of_instance::ptr RelatedElements() const; - void setRelatedElements(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcSpatialReferenceSelect >::ptr RelatedElements() const; + void setRelatedElements(aggregate_of< ::Ifc4x3::IfcSpatialReferenceSelect >::ptr v); /// Spatial structure element, within which the element is referenced. Any element can be contained within zero, one or many elements of the project spatial and zoning structure. /// /// IFC2x Edition 4 CHANGE  The attribute relatingStructure as been promoted to the new supertype IfcSpatialElement with upward compatibility for file based exchange. @@ -24586,7 +24647,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcRelReferencedInSpatialStructure (IfcEntityInstanceData* e); - IfcRelReferencedInSpatialStructure (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedElements, ::Ifc4x3::IfcSpatialElement* v6_RelatingStructure); + IfcRelReferencedInSpatialStructure (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3::IfcSpatialElement* v6_RelatingStructure); typedef aggregate_of< IfcRelReferencedInSpatialStructure > list; }; /// IfcRelSequence is a @@ -31117,14 +31178,14 @@ class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { public: ::Ifc4x3::IfcCartesianPointList* Points() const; void setPoints(::Ifc4x3::IfcCartesianPointList* v); - boost::optional< aggregate_of_instance::ptr > Segments() const; - void setSegments(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3::IfcSegmentIndexSelect >::ptr > Segments() const; + void setSegments(boost::optional< aggregate_of< ::Ifc4x3::IfcSegmentIndexSelect >::ptr > v); boost::logic::tribool SelfIntersect() const; void setSelfIntersect(boost::logic::tribool v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcIndexedPolyCurve (IfcEntityInstanceData* e); - IfcIndexedPolyCurve (::Ifc4x3::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of_instance::ptr > v2_Segments, boost::logic::tribool v3_SelfIntersect); + IfcIndexedPolyCurve (::Ifc4x3::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::logic::tribool v3_SelfIntersect); typedef aggregate_of< IfcIndexedPolyCurve > list; }; /// The flow treatment device type IfcInterceptorType defines commonly shared information for occurrences of interceptors. The set of shared information may include: @@ -33156,12 +33217,12 @@ public: void setTransverseBarSpacing(boost::optional< double > v); boost::optional< std::string > BendingShapeCode() const; void setBendingShapeCode(boost::optional< std::string > v); - boost::optional< aggregate_of_instance::ptr > BendingParameters() const; - void setBendingParameters(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3::IfcBendingParameterSelect >::ptr > BendingParameters() const; + void setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3::IfcBendingParameterSelect >::ptr > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcReinforcingMeshType (IfcEntityInstanceData* e); - IfcReinforcingMeshType (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< aggregate_of_instance::ptr > v20_BendingParameters); + IfcReinforcingMeshType (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3::IfcBendingParameterSelect >::ptr > v20_BendingParameters); typedef aggregate_of< IfcReinforcingMeshType > list; }; @@ -35458,11 +35519,11 @@ public: ::Ifc4x3::IfcCurve* BasisCurve() const; void setBasisCurve(::Ifc4x3::IfcCurve* v); /// The first trimming point which may be specified as a Cartesian point, as a real parameter or both. - aggregate_of_instance::ptr Trim1() const; - void setTrim1(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcTrimmingSelect >::ptr Trim1() const; + void setTrim1(aggregate_of< ::Ifc4x3::IfcTrimmingSelect >::ptr v); /// The second trimming point which may be specified as a Cartesian point, as a real parameter or both. - aggregate_of_instance::ptr Trim2() const; - void setTrim2(aggregate_of_instance::ptr v); + aggregate_of< ::Ifc4x3::IfcTrimmingSelect >::ptr Trim2() const; + void setTrim2(aggregate_of< ::Ifc4x3::IfcTrimmingSelect >::ptr v); /// Flag to indicate whether the direction of the trimmed curve agrees with or is opposed to the direction of the basis curve. bool SenseAgreement() const; void setSenseAgreement(bool v); @@ -35472,7 +35533,7 @@ public: virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcTrimmedCurve (IfcEntityInstanceData* e); - IfcTrimmedCurve (::Ifc4x3::IfcCurve* v1_BasisCurve, aggregate_of_instance::ptr v2_Trim1, aggregate_of_instance::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3::IfcTrimmingPreference::Value v5_MasterRepresentation); + IfcTrimmedCurve (::Ifc4x3::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3::IfcTrimmingPreference::Value v5_MasterRepresentation); typedef aggregate_of< IfcTrimmedCurve > list; }; /// The energy conversion device type IfcTubeBundleType defines commonly shared information for occurrences of tube bundles. The set of shared information may include: @@ -43524,12 +43585,12 @@ public: void setBarSurface(boost::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > v); boost::optional< std::string > BendingShapeCode() const; void setBendingShapeCode(boost::optional< std::string > v); - boost::optional< aggregate_of_instance::ptr > BendingParameters() const; - void setBendingParameters(boost::optional< aggregate_of_instance::ptr > v); + boost::optional< aggregate_of< ::Ifc4x3::IfcBendingParameterSelect >::ptr > BendingParameters() const; + void setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3::IfcBendingParameterSelect >::ptr > v); virtual const IfcParse::entity& declaration() const; static const IfcParse::entity& Class(); IfcReinforcingBarType (IfcEntityInstanceData* e); - IfcReinforcingBarType (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of_instance::ptr > v16_BendingParameters); + IfcReinforcingBarType (std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3::IfcBendingParameterSelect >::ptr > v16_BendingParameters); typedef aggregate_of< IfcReinforcingBarType > list; }; /// Definition from ISO 6707-1:1989: Construction enclosing the building from above.