From 761e9d7248848340d62b2e1ea8c596fbda2b7985 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Wed, 13 Dec 2017 13:58:58 +0100 Subject: [PATCH] Continuing. --- src/ifcparse/Ifc2x3.cpp | 230 ++++++++++---------- src/ifcparse/Ifc4.cpp | 304 +++++++++++++-------------- src/ifcparse/IfcEntityInstanceData.h | 2 +- src/ifcparse/IfcEntityList.h | 2 +- src/ifcparse/IfcFile.h | 7 +- src/ifcparse/IfcHierarchyHelper.cpp | 2 +- src/ifcparse/IfcHierarchyHelper.h | 4 +- src/ifcparse/IfcParse.cpp | 31 +-- src/ifcparse/IfcSchema.cpp | 31 ++- src/ifcparse/IfcSchema.h | 18 +- src/ifcparse/IfcWrite.cpp | 2 +- 11 files changed, 317 insertions(+), 316 deletions(-) diff --git a/src/ifcparse/Ifc2x3.cpp b/src/ifcparse/Ifc2x3.cpp index 9aa1e420a0..12d54af8ef 100644 --- a/src/ifcparse/Ifc2x3.cpp +++ b/src/ifcparse/Ifc2x3.cpp @@ -5614,7 +5614,7 @@ IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, IfcOwnerHistory* v2_ IfcActorSelect* IfcActor::TheActor() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void IfcActor::setTheActor(IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -IfcRelAssignsToActor::list::ptr IfcActor::IsActingUpon() const { return data_->getInverse(Type::IfcRelAssignsToActor, 6)->as(); } +IfcRelAssignsToActor::list::ptr IfcActor::IsActingUpon() const { return data_->getInverse(IfcRelAssignsToActor_type, 6)->as(); } const IfcParse::entity& IfcActor::declaration() const { return *IfcActor_type; } const IfcParse::entity& IfcActor::Class() { return *IfcActor_type; } @@ -5658,8 +5658,8 @@ bool IfcAddress::hasUserDefinedPurpose() const { return !data_->getArgument(2)-> std::string IfcAddress::UserDefinedPurpose() const { return *data_->getArgument(2); } void IfcAddress::setUserDefinedPurpose(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -IfcPerson::list::ptr IfcAddress::OfPerson() const { return data_->getInverse(Type::IfcPerson, 7)->as(); } -IfcOrganization::list::ptr IfcAddress::OfOrganization() const { return data_->getInverse(Type::IfcOrganization, 4)->as(); } +IfcPerson::list::ptr IfcAddress::OfPerson() const { return data_->getInverse(IfcPerson_type, 7)->as(); } +IfcOrganization::list::ptr IfcAddress::OfOrganization() const { return data_->getInverse(IfcOrganization_type, 4)->as(); } const IfcParse::entity& IfcAddress::declaration() const { return *IfcAddress_type; } const IfcParse::entity& IfcAddress::Class() { return *IfcAddress_type; } @@ -5716,7 +5716,7 @@ IfcAngularDimension::IfcAngularDimension(IfcEntityList::ptr v1_Contents) : IfcDi // Function implementations for IfcAnnotation -IfcRelContainedInSpatialStructure::list::ptr IfcAnnotation::ContainedInStructure() const { return data_->getInverse(Type::IfcRelContainedInSpatialStructure, 4)->as(); } +IfcRelContainedInSpatialStructure::list::ptr IfcAnnotation::ContainedInStructure() const { return data_->getInverse(IfcRelContainedInSpatialStructure_type, 4)->as(); } const IfcParse::entity& IfcAnnotation::declaration() const { return *IfcAnnotation_type; } const IfcParse::entity& IfcAnnotation::Class() { return *IfcAnnotation_type; } @@ -5839,9 +5839,9 @@ bool IfcAppliedValue::hasFixedUntilDate() const { return !data_->getArgument(5)- IfcDateTimeSelect* IfcAppliedValue::FixedUntilDate() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void IfcAppliedValue::setFixedUntilDate(IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -IfcReferencesValueDocument::list::ptr IfcAppliedValue::ValuesReferenced() const { return data_->getInverse(Type::IfcReferencesValueDocument, 1)->as(); } -IfcAppliedValueRelationship::list::ptr IfcAppliedValue::ValueOfComponents() const { return data_->getInverse(Type::IfcAppliedValueRelationship, 0)->as(); } -IfcAppliedValueRelationship::list::ptr IfcAppliedValue::IsComponentIn() const { return data_->getInverse(Type::IfcAppliedValueRelationship, 1)->as(); } +IfcReferencesValueDocument::list::ptr IfcAppliedValue::ValuesReferenced() const { return data_->getInverse(IfcReferencesValueDocument_type, 1)->as(); } +IfcAppliedValueRelationship::list::ptr IfcAppliedValue::ValueOfComponents() const { return data_->getInverse(IfcAppliedValueRelationship_type, 0)->as(); } +IfcAppliedValueRelationship::list::ptr IfcAppliedValue::IsComponentIn() const { return data_->getInverse(IfcAppliedValueRelationship_type, 1)->as(); } const IfcParse::entity& IfcAppliedValue::declaration() const { return *IfcAppliedValue_type; } const IfcParse::entity& IfcAppliedValue::Class() { return *IfcAppliedValue_type; } @@ -5888,9 +5888,9 @@ void IfcApproval::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = n std::string IfcApproval::Identifier() const { return *data_->getArgument(6); } void IfcApproval::setIdentifier(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -IfcApprovalActorRelationship::list::ptr IfcApproval::Actors() const { return data_->getInverse(Type::IfcApprovalActorRelationship, 1)->as(); } -IfcApprovalRelationship::list::ptr IfcApproval::IsRelatedWith() const { return data_->getInverse(Type::IfcApprovalRelationship, 0)->as(); } -IfcApprovalRelationship::list::ptr IfcApproval::Relates() const { return data_->getInverse(Type::IfcApprovalRelationship, 1)->as(); } +IfcApprovalActorRelationship::list::ptr IfcApproval::Actors() const { return data_->getInverse(IfcApprovalActorRelationship_type, 1)->as(); } +IfcApprovalRelationship::list::ptr IfcApproval::IsRelatedWith() const { return data_->getInverse(IfcApprovalRelationship_type, 0)->as(); } +IfcApprovalRelationship::list::ptr IfcApproval::Relates() const { return data_->getInverse(IfcApprovalRelationship_type, 1)->as(); } const IfcParse::entity& IfcApproval::declaration() const { return *IfcApproval_type; } const IfcParse::entity& IfcApproval::Class() { return *IfcApproval_type; } @@ -6581,7 +6581,7 @@ void IfcClassification::setEditionDate(IfcCalendarDate* v) { {IfcWrite::IfcWrite std::string IfcClassification::Name() const { return *data_->getArgument(3); } void IfcClassification::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -IfcClassificationItem::list::ptr IfcClassification::Contains() const { return data_->getInverse(Type::IfcClassificationItem, 1)->as(); } +IfcClassificationItem::list::ptr IfcClassification::Contains() const { return data_->getInverse(IfcClassificationItem_type, 1)->as(); } const IfcParse::entity& IfcClassification::declaration() const { return *IfcClassification_type; } const IfcParse::entity& IfcClassification::Class() { return *IfcClassification_type; } @@ -6597,8 +6597,8 @@ void IfcClassificationItem::setItemOf(IfcClassification* v) { {IfcWrite::IfcWrit std::string IfcClassificationItem::Title() const { return *data_->getArgument(2); } void IfcClassificationItem::setTitle(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -IfcClassificationItemRelationship::list::ptr IfcClassificationItem::IsClassifiedItemIn() const { return data_->getInverse(Type::IfcClassificationItemRelationship, 1)->as(); } -IfcClassificationItemRelationship::list::ptr IfcClassificationItem::IsClassifyingItemIn() const { return data_->getInverse(Type::IfcClassificationItemRelationship, 0)->as(); } +IfcClassificationItemRelationship::list::ptr IfcClassificationItem::IsClassifiedItemIn() const { return data_->getInverse(IfcClassificationItemRelationship_type, 1)->as(); } +IfcClassificationItemRelationship::list::ptr IfcClassificationItem::IsClassifyingItemIn() const { return data_->getInverse(IfcClassificationItemRelationship_type, 0)->as(); } const IfcParse::entity& IfcClassificationItem::declaration() const { return *IfcClassificationItem_type; } const IfcParse::entity& IfcClassificationItem::Class() { return *IfcClassificationItem_type; } @@ -6741,7 +6741,7 @@ void IfcCompositeCurveSegment::setSameSense(bool v) { {IfcWrite::IfcWriteArgumen IfcCurve* IfcCompositeCurveSegment::ParentCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void IfcCompositeCurveSegment::setParentCurve(IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -IfcCompositeCurve::list::ptr IfcCompositeCurveSegment::UsingCurves() const { return data_->getInverse(Type::IfcCompositeCurve, 0)->as(); } +IfcCompositeCurve::list::ptr IfcCompositeCurveSegment::UsingCurves() const { return data_->getInverse(IfcCompositeCurve_type, 0)->as(); } const IfcParse::entity& IfcCompositeCurveSegment::declaration() const { return *IfcCompositeCurveSegment_type; } const IfcParse::entity& IfcCompositeCurveSegment::Class() { return *IfcCompositeCurveSegment_type; } @@ -6921,12 +6921,12 @@ bool IfcConstraint::hasUserDefinedGrade() const { return !data_->getArgument(6)- std::string IfcConstraint::UserDefinedGrade() const { return *data_->getArgument(6); } void IfcConstraint::setUserDefinedGrade(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -IfcConstraintClassificationRelationship::list::ptr IfcConstraint::ClassifiedAs() const { return data_->getInverse(Type::IfcConstraintClassificationRelationship, 0)->as(); } -IfcConstraintRelationship::list::ptr IfcConstraint::RelatesConstraints() const { return data_->getInverse(Type::IfcConstraintRelationship, 2)->as(); } -IfcConstraintRelationship::list::ptr IfcConstraint::IsRelatedWith() const { return data_->getInverse(Type::IfcConstraintRelationship, 3)->as(); } -IfcPropertyConstraintRelationship::list::ptr IfcConstraint::PropertiesForConstraint() const { return data_->getInverse(Type::IfcPropertyConstraintRelationship, 0)->as(); } -IfcConstraintAggregationRelationship::list::ptr IfcConstraint::Aggregates() const { return data_->getInverse(Type::IfcConstraintAggregationRelationship, 2)->as(); } -IfcConstraintAggregationRelationship::list::ptr IfcConstraint::IsAggregatedIn() const { return data_->getInverse(Type::IfcConstraintAggregationRelationship, 3)->as(); } +IfcConstraintClassificationRelationship::list::ptr IfcConstraint::ClassifiedAs() const { return data_->getInverse(IfcConstraintClassificationRelationship_type, 0)->as(); } +IfcConstraintRelationship::list::ptr IfcConstraint::RelatesConstraints() const { return data_->getInverse(IfcConstraintRelationship_type, 2)->as(); } +IfcConstraintRelationship::list::ptr IfcConstraint::IsRelatedWith() const { return data_->getInverse(IfcConstraintRelationship_type, 3)->as(); } +IfcPropertyConstraintRelationship::list::ptr IfcConstraint::PropertiesForConstraint() const { return data_->getInverse(IfcPropertyConstraintRelationship_type, 0)->as(); } +IfcConstraintAggregationRelationship::list::ptr IfcConstraint::Aggregates() const { return data_->getInverse(IfcConstraintAggregationRelationship_type, 2)->as(); } +IfcConstraintAggregationRelationship::list::ptr IfcConstraint::IsAggregatedIn() const { return data_->getInverse(IfcConstraintAggregationRelationship_type, 3)->as(); } const IfcParse::entity& IfcConstraint::declaration() const { return *IfcConstraint_type; } const IfcParse::entity& IfcConstraint::Class() { return *IfcConstraint_type; } @@ -7045,7 +7045,7 @@ IfcContextDependentUnit::IfcContextDependentUnit(IfcDimensionalExponents* v1_Dim // Function implementations for IfcControl -IfcRelAssignsToControl::list::ptr IfcControl::Controls() const { return data_->getInverse(Type::IfcRelAssignsToControl, 6)->as(); } +IfcRelAssignsToControl::list::ptr IfcControl::Controls() const { return data_->getInverse(IfcRelAssignsToControl_type, 6)->as(); } const IfcParse::entity& IfcControl::declaration() const { return *IfcControl_type; } const IfcParse::entity& IfcControl::Class() { return *IfcControl_type; } @@ -7165,8 +7165,8 @@ bool IfcCovering::hasPredefinedType() const { return !data_->getArgument(8)->isN IfcCoveringTypeEnum::IfcCoveringTypeEnum IfcCovering::PredefinedType() const { return IfcCoveringTypeEnum::FromString(*data_->getArgument(8)); } void IfcCovering::setPredefinedType(IfcCoveringTypeEnum::IfcCoveringTypeEnum v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,IfcCoveringTypeEnum::ToString(v)));data_->setArgument(8,attr);} } -IfcRelCoversSpaces::list::ptr IfcCovering::CoversSpaces() const { return data_->getInverse(Type::IfcRelCoversSpaces, 5)->as(); } -IfcRelCoversBldgElements::list::ptr IfcCovering::Covers() const { return data_->getInverse(Type::IfcRelCoversBldgElements, 5)->as(); } +IfcRelCoversSpaces::list::ptr IfcCovering::CoversSpaces() const { return data_->getInverse(IfcRelCoversSpaces_type, 5)->as(); } +IfcRelCoversBldgElements::list::ptr IfcCovering::Covers() const { return data_->getInverse(IfcRelCoversBldgElements_type, 5)->as(); } const IfcParse::entity& IfcCovering::declaration() const { return *IfcCovering_type; } const IfcParse::entity& IfcCovering::Class() { return *IfcCovering_type; } @@ -7483,7 +7483,7 @@ IfcDimensionCalloutRelationship::IfcDimensionCalloutRelationship(boost::optional // Function implementations for IfcDimensionCurve -IfcTerminatorSymbol::list::ptr IfcDimensionCurve::AnnotatedBySymbols() const { return data_->getInverse(Type::IfcTerminatorSymbol, 3)->as(); } +IfcTerminatorSymbol::list::ptr IfcDimensionCurve::AnnotatedBySymbols() const { return data_->getInverse(IfcTerminatorSymbol_type, 3)->as(); } const IfcParse::entity& IfcDimensionCurve::declaration() const { return *IfcDimensionCurve_type; } const IfcParse::entity& IfcDimensionCurve::Class() { return *IfcDimensionCurve_type; } @@ -7587,7 +7587,7 @@ bool IfcDistributionControlElement::hasControlElementId() const { return !data_- std::string IfcDistributionControlElement::ControlElementId() const { return *data_->getArgument(8); } void IfcDistributionControlElement::setControlElementId(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -IfcRelFlowControlElements::list::ptr IfcDistributionControlElement::AssignedToFlowElement() const { return data_->getInverse(Type::IfcRelFlowControlElements, 4)->as(); } +IfcRelFlowControlElements::list::ptr IfcDistributionControlElement::AssignedToFlowElement() const { return data_->getInverse(IfcRelFlowControlElements_type, 4)->as(); } const IfcParse::entity& IfcDistributionControlElement::declaration() const { return *IfcDistributionControlElement_type; } const IfcParse::entity& IfcDistributionControlElement::Class() { return *IfcDistributionControlElement_type; } @@ -7620,7 +7620,7 @@ IfcDistributionElementType::IfcDistributionElementType(std::string v1_GlobalId, // Function implementations for IfcDistributionFlowElement -IfcRelFlowControlElements::list::ptr IfcDistributionFlowElement::HasControlElements() const { return data_->getInverse(Type::IfcRelFlowControlElements, 5)->as(); } +IfcRelFlowControlElements::list::ptr IfcDistributionFlowElement::HasControlElements() const { return data_->getInverse(IfcRelFlowControlElements_type, 5)->as(); } const IfcParse::entity& IfcDistributionFlowElement::declaration() const { return *IfcDistributionFlowElement_type; } const IfcParse::entity& IfcDistributionFlowElement::Class() { return *IfcDistributionFlowElement_type; } @@ -7714,8 +7714,8 @@ bool IfcDocumentInformation::hasStatus() const { return !data_->getArgument(16)- IfcDocumentStatusEnum::IfcDocumentStatusEnum IfcDocumentInformation::Status() const { return IfcDocumentStatusEnum::FromString(*data_->getArgument(16)); } void IfcDocumentInformation::setStatus(IfcDocumentStatusEnum::IfcDocumentStatusEnum v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,IfcDocumentStatusEnum::ToString(v)));data_->setArgument(16,attr);} } -IfcDocumentInformationRelationship::list::ptr IfcDocumentInformation::IsPointedTo() const { return data_->getInverse(Type::IfcDocumentInformationRelationship, 1)->as(); } -IfcDocumentInformationRelationship::list::ptr IfcDocumentInformation::IsPointer() const { return data_->getInverse(Type::IfcDocumentInformationRelationship, 0)->as(); } +IfcDocumentInformationRelationship::list::ptr IfcDocumentInformation::IsPointedTo() const { return data_->getInverse(IfcDocumentInformationRelationship_type, 1)->as(); } +IfcDocumentInformationRelationship::list::ptr IfcDocumentInformation::IsPointer() const { return data_->getInverse(IfcDocumentInformationRelationship_type, 0)->as(); } const IfcParse::entity& IfcDocumentInformation::declaration() const { return *IfcDocumentInformation_type; } const IfcParse::entity& IfcDocumentInformation::Class() { return *IfcDocumentInformation_type; } @@ -7739,7 +7739,7 @@ IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(IfcDocume // Function implementations for IfcDocumentReference -IfcDocumentInformation::list::ptr IfcDocumentReference::ReferenceToDocument() const { return data_->getInverse(Type::IfcDocumentInformation, 3)->as(); } +IfcDocumentInformation::list::ptr IfcDocumentReference::ReferenceToDocument() const { return data_->getInverse(IfcDocumentInformation_type, 3)->as(); } const IfcParse::entity& IfcDocumentReference::declaration() const { return *IfcDocumentReference_type; } const IfcParse::entity& IfcDocumentReference::Class() { return *IfcDocumentReference_type; } @@ -7842,8 +7842,8 @@ IfcDoorStyle::IfcDoorStyle(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHis IfcEntityList::ptr IfcDraughtingCallout::Contents() const { return *data_->getArgument(0); } void IfcDraughtingCallout::setContents(IfcEntityList::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -IfcDraughtingCalloutRelationship::list::ptr IfcDraughtingCallout::IsRelatedFromCallout() const { return data_->getInverse(Type::IfcDraughtingCalloutRelationship, 3)->as(); } -IfcDraughtingCalloutRelationship::list::ptr IfcDraughtingCallout::IsRelatedToCallout() const { return data_->getInverse(Type::IfcDraughtingCalloutRelationship, 2)->as(); } +IfcDraughtingCalloutRelationship::list::ptr IfcDraughtingCallout::IsRelatedFromCallout() const { return data_->getInverse(IfcDraughtingCalloutRelationship_type, 3)->as(); } +IfcDraughtingCalloutRelationship::list::ptr IfcDraughtingCallout::IsRelatedToCallout() const { return data_->getInverse(IfcDraughtingCalloutRelationship_type, 2)->as(); } const IfcParse::entity& IfcDraughtingCallout::declaration() const { return *IfcDraughtingCallout_type; } const IfcParse::entity& IfcDraughtingCallout::Class() { return *IfcDraughtingCallout_type; } @@ -8090,18 +8090,18 @@ bool IfcElement::hasTag() const { return !data_->getArgument(7)->isNull(); } std::string IfcElement::Tag() const { return *data_->getArgument(7); } void IfcElement::setTag(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -IfcRelConnectsStructuralElement::list::ptr IfcElement::HasStructuralMember() const { return data_->getInverse(Type::IfcRelConnectsStructuralElement, 4)->as(); } -IfcRelFillsElement::list::ptr IfcElement::FillsVoids() const { return data_->getInverse(Type::IfcRelFillsElement, 5)->as(); } -IfcRelConnectsElements::list::ptr IfcElement::ConnectedTo() const { return data_->getInverse(Type::IfcRelConnectsElements, 5)->as(); } -IfcRelCoversBldgElements::list::ptr IfcElement::HasCoverings() const { return data_->getInverse(Type::IfcRelCoversBldgElements, 4)->as(); } -IfcRelProjectsElement::list::ptr IfcElement::HasProjections() const { return data_->getInverse(Type::IfcRelProjectsElement, 4)->as(); } -IfcRelReferencedInSpatialStructure::list::ptr IfcElement::ReferencedInStructures() const { return data_->getInverse(Type::IfcRelReferencedInSpatialStructure, 4)->as(); } -IfcRelConnectsPortToElement::list::ptr IfcElement::HasPorts() const { return data_->getInverse(Type::IfcRelConnectsPortToElement, 5)->as(); } -IfcRelVoidsElement::list::ptr IfcElement::HasOpenings() const { return data_->getInverse(Type::IfcRelVoidsElement, 4)->as(); } -IfcRelConnectsWithRealizingElements::list::ptr IfcElement::IsConnectionRealization() const { return data_->getInverse(Type::IfcRelConnectsWithRealizingElements, 7)->as(); } -IfcRelSpaceBoundary::list::ptr IfcElement::ProvidesBoundaries() const { return data_->getInverse(Type::IfcRelSpaceBoundary, 5)->as(); } -IfcRelConnectsElements::list::ptr IfcElement::ConnectedFrom() const { return data_->getInverse(Type::IfcRelConnectsElements, 6)->as(); } -IfcRelContainedInSpatialStructure::list::ptr IfcElement::ContainedInStructure() const { return data_->getInverse(Type::IfcRelContainedInSpatialStructure, 4)->as(); } +IfcRelConnectsStructuralElement::list::ptr IfcElement::HasStructuralMember() const { return data_->getInverse(IfcRelConnectsStructuralElement_type, 4)->as(); } +IfcRelFillsElement::list::ptr IfcElement::FillsVoids() const { return data_->getInverse(IfcRelFillsElement_type, 5)->as(); } +IfcRelConnectsElements::list::ptr IfcElement::ConnectedTo() const { return data_->getInverse(IfcRelConnectsElements_type, 5)->as(); } +IfcRelCoversBldgElements::list::ptr IfcElement::HasCoverings() const { return data_->getInverse(IfcRelCoversBldgElements_type, 4)->as(); } +IfcRelProjectsElement::list::ptr IfcElement::HasProjections() const { return data_->getInverse(IfcRelProjectsElement_type, 4)->as(); } +IfcRelReferencedInSpatialStructure::list::ptr IfcElement::ReferencedInStructures() const { return data_->getInverse(IfcRelReferencedInSpatialStructure_type, 4)->as(); } +IfcRelConnectsPortToElement::list::ptr IfcElement::HasPorts() const { return data_->getInverse(IfcRelConnectsPortToElement_type, 5)->as(); } +IfcRelVoidsElement::list::ptr IfcElement::HasOpenings() const { return data_->getInverse(IfcRelVoidsElement_type, 4)->as(); } +IfcRelConnectsWithRealizingElements::list::ptr IfcElement::IsConnectionRealization() const { return data_->getInverse(IfcRelConnectsWithRealizingElements_type, 7)->as(); } +IfcRelSpaceBoundary::list::ptr IfcElement::ProvidesBoundaries() const { return data_->getInverse(IfcRelSpaceBoundary_type, 5)->as(); } +IfcRelConnectsElements::list::ptr IfcElement::ConnectedFrom() const { return data_->getInverse(IfcRelConnectsElements_type, 6)->as(); } +IfcRelContainedInSpatialStructure::list::ptr IfcElement::ContainedInStructure() const { return data_->getInverse(IfcRelContainedInSpatialStructure_type, 4)->as(); } const IfcParse::entity& IfcElement::declaration() const { return *IfcElement_type; } const IfcParse::entity& IfcElement::Class() { return *IfcElement_type; } @@ -8484,7 +8484,7 @@ IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, IfcOwnerHistory* v // Function implementations for IfcFeatureElementAddition -IfcRelProjectsElement::list::ptr IfcFeatureElementAddition::ProjectsElements() const { return data_->getInverse(Type::IfcRelProjectsElement, 5)->as(); } +IfcRelProjectsElement::list::ptr IfcFeatureElementAddition::ProjectsElements() const { return data_->getInverse(IfcRelProjectsElement_type, 5)->as(); } const IfcParse::entity& IfcFeatureElementAddition::declaration() const { return *IfcFeatureElementAddition_type; } const IfcParse::entity& IfcFeatureElementAddition::Class() { return *IfcFeatureElementAddition_type; } @@ -8493,7 +8493,7 @@ IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_GlobalId, If // Function implementations for IfcFeatureElementSubtraction -IfcRelVoidsElement::list::ptr IfcFeatureElementSubtraction::VoidsElements() const { return data_->getInverse(Type::IfcRelVoidsElement, 5)->as(); } +IfcRelVoidsElement::list::ptr IfcFeatureElementSubtraction::VoidsElements() const { return data_->getInverse(IfcRelVoidsElement_type, 5)->as(); } const IfcParse::entity& IfcFeatureElementSubtraction::declaration() const { return *IfcFeatureElementSubtraction_type; } const IfcParse::entity& IfcFeatureElementSubtraction::Class() { return *IfcFeatureElementSubtraction_type; } @@ -8891,7 +8891,7 @@ bool IfcGeometricRepresentationContext::hasTrueNorth() const { return !data_->ge IfcDirection* IfcGeometricRepresentationContext::TrueNorth() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void IfcGeometricRepresentationContext::setTrueNorth(IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -IfcGeometricRepresentationSubContext::list::ptr IfcGeometricRepresentationContext::HasSubContexts() const { return data_->getInverse(Type::IfcGeometricRepresentationSubContext, 6)->as(); } +IfcGeometricRepresentationSubContext::list::ptr IfcGeometricRepresentationContext::HasSubContexts() const { return data_->getInverse(IfcGeometricRepresentationSubContext_type, 6)->as(); } const IfcParse::entity& IfcGeometricRepresentationContext::declaration() const { return *IfcGeometricRepresentationContext_type; } const IfcParse::entity& IfcGeometricRepresentationContext::Class() { return *IfcGeometricRepresentationContext_type; } @@ -8943,7 +8943,7 @@ bool IfcGrid::hasWAxes() const { return !data_->getArgument(9)->isNull(); } IfcTemplatedEntityList< IfcGridAxis >::ptr IfcGrid::WAxes() const { IfcEntityList::ptr es = *data_->getArgument(9); return es->as(); } void IfcGrid::setWAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(9,attr);} } -IfcRelContainedInSpatialStructure::list::ptr IfcGrid::ContainedInStructure() const { return data_->getInverse(Type::IfcRelContainedInSpatialStructure, 4)->as(); } +IfcRelContainedInSpatialStructure::list::ptr IfcGrid::ContainedInStructure() const { return data_->getInverse(IfcRelContainedInSpatialStructure_type, 4)->as(); } const IfcParse::entity& IfcGrid::declaration() const { return *IfcGrid_type; } const IfcParse::entity& IfcGrid::Class() { return *IfcGrid_type; } @@ -8959,10 +8959,10 @@ void IfcGridAxis::setAxisCurve(IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr bool IfcGridAxis::SameSense() const { return *data_->getArgument(2); } void IfcGridAxis::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -IfcGrid::list::ptr IfcGridAxis::PartOfW() const { return data_->getInverse(Type::IfcGrid, 9)->as(); } -IfcGrid::list::ptr IfcGridAxis::PartOfV() const { return data_->getInverse(Type::IfcGrid, 8)->as(); } -IfcGrid::list::ptr IfcGridAxis::PartOfU() const { return data_->getInverse(Type::IfcGrid, 7)->as(); } -IfcVirtualGridIntersection::list::ptr IfcGridAxis::HasIntersections() const { return data_->getInverse(Type::IfcVirtualGridIntersection, 0)->as(); } +IfcGrid::list::ptr IfcGridAxis::PartOfW() const { return data_->getInverse(IfcGrid_type, 9)->as(); } +IfcGrid::list::ptr IfcGridAxis::PartOfV() const { return data_->getInverse(IfcGrid_type, 8)->as(); } +IfcGrid::list::ptr IfcGridAxis::PartOfU() const { return data_->getInverse(IfcGrid_type, 7)->as(); } +IfcVirtualGridIntersection::list::ptr IfcGridAxis::HasIntersections() const { return data_->getInverse(IfcVirtualGridIntersection_type, 0)->as(); } const IfcParse::entity& IfcGridAxis::declaration() const { return *IfcGridAxis_type; } const IfcParse::entity& IfcGridAxis::Class() { return *IfcGridAxis_type; } @@ -8984,7 +8984,7 @@ IfcGridPlacement::IfcGridPlacement(IfcVirtualGridIntersection* v1_PlacementLocat // Function implementations for IfcGroup -IfcRelAssignsToGroup::list::ptr IfcGroup::IsGroupedBy() const { return data_->getInverse(Type::IfcRelAssignsToGroup, 6)->as(); } +IfcRelAssignsToGroup::list::ptr IfcGroup::IsGroupedBy() const { return data_->getInverse(IfcRelAssignsToGroup_type, 6)->as(); } const IfcParse::entity& IfcGroup::declaration() const { return *IfcGroup_type; } const IfcParse::entity& IfcGroup::Class() { return *IfcGroup_type; } @@ -9204,7 +9204,7 @@ IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, boost::optiona // Function implementations for IfcLibraryReference -IfcLibraryInformation::list::ptr IfcLibraryReference::ReferenceIntoLibrary() const { return data_->getInverse(Type::IfcLibraryInformation, 4)->as(); } +IfcLibraryInformation::list::ptr IfcLibraryReference::ReferenceIntoLibrary() const { return data_->getInverse(IfcLibraryInformation_type, 4)->as(); } const IfcParse::entity& IfcLibraryReference::declaration() const { return *IfcLibraryReference_type; } const IfcParse::entity& IfcLibraryReference::Class() { return *IfcLibraryReference_type; } @@ -9429,8 +9429,8 @@ IfcMappedItem::IfcMappedItem(IfcRepresentationMap* v1_MappingSource, IfcCartesia std::string IfcMaterial::Name() const { return *data_->getArgument(0); } void IfcMaterial::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -IfcMaterialDefinitionRepresentation::list::ptr IfcMaterial::HasRepresentation() const { return data_->getInverse(Type::IfcMaterialDefinitionRepresentation, 3)->as(); } -IfcMaterialClassificationRelationship::list::ptr IfcMaterial::ClassifiedAs() const { return data_->getInverse(Type::IfcMaterialClassificationRelationship, 1)->as(); } +IfcMaterialDefinitionRepresentation::list::ptr IfcMaterial::HasRepresentation() const { return data_->getInverse(IfcMaterialDefinitionRepresentation_type, 3)->as(); } +IfcMaterialClassificationRelationship::list::ptr IfcMaterial::ClassifiedAs() const { return data_->getInverse(IfcMaterialClassificationRelationship_type, 1)->as(); } const IfcParse::entity& IfcMaterial::declaration() const { return *IfcMaterial_type; } const IfcParse::entity& IfcMaterial::Class() { return *IfcMaterial_type; } @@ -9469,7 +9469,7 @@ bool IfcMaterialLayer::hasIsVentilated() const { return !data_->getArgument(2)-> bool IfcMaterialLayer::IsVentilated() const { return *data_->getArgument(2); } void IfcMaterialLayer::setIsVentilated(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -IfcMaterialLayerSet::list::ptr IfcMaterialLayer::ToMaterialLayerSet() const { return data_->getInverse(Type::IfcMaterialLayerSet, 0)->as(); } +IfcMaterialLayerSet::list::ptr IfcMaterialLayer::ToMaterialLayerSet() const { return data_->getInverse(IfcMaterialLayerSet_type, 0)->as(); } const IfcParse::entity& IfcMaterialLayer::declaration() const { return *IfcMaterialLayer_type; } const IfcParse::entity& IfcMaterialLayer::Class() { return *IfcMaterialLayer_type; } @@ -9722,7 +9722,7 @@ bool IfcObject::hasObjectType() const { return !data_->getArgument(4)->isNull(); std::string IfcObject::ObjectType() const { return *data_->getArgument(4); } void IfcObject::setObjectType(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -IfcRelDefines::list::ptr IfcObject::IsDefinedBy() const { return data_->getInverse(Type::IfcRelDefines, 4)->as(); } +IfcRelDefines::list::ptr IfcObject::IsDefinedBy() const { return data_->getInverse(IfcRelDefines_type, 4)->as(); } const IfcParse::entity& IfcObject::declaration() const { return *IfcObject_type; } const IfcParse::entity& IfcObject::Class() { return *IfcObject_type; } @@ -9731,10 +9731,10 @@ IfcObject::IfcObject(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, // Function implementations for IfcObjectDefinition -IfcRelAssigns::list::ptr IfcObjectDefinition::HasAssignments() const { return data_->getInverse(Type::IfcRelAssigns, 4)->as(); } -IfcRelDecomposes::list::ptr IfcObjectDefinition::IsDecomposedBy() const { return data_->getInverse(Type::IfcRelDecomposes, 4)->as(); } -IfcRelDecomposes::list::ptr IfcObjectDefinition::Decomposes() const { return data_->getInverse(Type::IfcRelDecomposes, 5)->as(); } -IfcRelAssociates::list::ptr IfcObjectDefinition::HasAssociations() const { return data_->getInverse(Type::IfcRelAssociates, 4)->as(); } +IfcRelAssigns::list::ptr IfcObjectDefinition::HasAssignments() const { return data_->getInverse(IfcRelAssigns_type, 4)->as(); } +IfcRelDecomposes::list::ptr IfcObjectDefinition::IsDecomposedBy() const { return data_->getInverse(IfcRelDecomposes_type, 4)->as(); } +IfcRelDecomposes::list::ptr IfcObjectDefinition::Decomposes() const { return data_->getInverse(IfcRelDecomposes_type, 5)->as(); } +IfcRelAssociates::list::ptr IfcObjectDefinition::HasAssociations() const { return data_->getInverse(IfcRelAssociates_type, 4)->as(); } const IfcParse::entity& IfcObjectDefinition::declaration() const { return *IfcObjectDefinition_type; } const IfcParse::entity& IfcObjectDefinition::Class() { return *IfcObjectDefinition_type; } @@ -9743,8 +9743,8 @@ IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, IfcOwnerHistor // Function implementations for IfcObjectPlacement -IfcProduct::list::ptr IfcObjectPlacement::PlacesObject() const { return data_->getInverse(Type::IfcProduct, 5)->as(); } -IfcLocalPlacement::list::ptr IfcObjectPlacement::ReferencedByPlacements() const { return data_->getInverse(Type::IfcLocalPlacement, 0)->as(); } +IfcProduct::list::ptr IfcObjectPlacement::PlacesObject() const { return data_->getInverse(IfcProduct_type, 5)->as(); } +IfcLocalPlacement::list::ptr IfcObjectPlacement::ReferencedByPlacements() const { return data_->getInverse(IfcLocalPlacement_type, 0)->as(); } const IfcParse::entity& IfcObjectPlacement::declaration() const { return *IfcObjectPlacement_type; } const IfcParse::entity& IfcObjectPlacement::Class() { return *IfcObjectPlacement_type; } @@ -9830,7 +9830,7 @@ IfcOpenShell::IfcOpenShell(IfcTemplatedEntityList< IfcFace >::ptr v1_CfsFaces) : // Function implementations for IfcOpeningElement -IfcRelFillsElement::list::ptr IfcOpeningElement::HasFillings() const { return data_->getInverse(Type::IfcRelFillsElement, 4)->as(); } +IfcRelFillsElement::list::ptr IfcOpeningElement::HasFillings() const { return data_->getInverse(IfcRelFillsElement_type, 4)->as(); } const IfcParse::entity& IfcOpeningElement::declaration() const { return *IfcOpeningElement_type; } const IfcParse::entity& IfcOpeningElement::Class() { return *IfcOpeningElement_type; } @@ -9898,9 +9898,9 @@ bool IfcOrganization::hasAddresses() const { return !data_->getArgument(4)->isNu IfcTemplatedEntityList< IfcAddress >::ptr IfcOrganization::Addresses() const { IfcEntityList::ptr es = *data_->getArgument(4); return es->as(); } void IfcOrganization::setAddresses(IfcTemplatedEntityList< IfcAddress >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(4,attr);} } -IfcOrganizationRelationship::list::ptr IfcOrganization::IsRelatedBy() const { return data_->getInverse(Type::IfcOrganizationRelationship, 3)->as(); } -IfcOrganizationRelationship::list::ptr IfcOrganization::Relates() const { return data_->getInverse(Type::IfcOrganizationRelationship, 2)->as(); } -IfcPersonAndOrganization::list::ptr IfcOrganization::Engages() const { return data_->getInverse(Type::IfcPersonAndOrganization, 1)->as(); } +IfcOrganizationRelationship::list::ptr IfcOrganization::IsRelatedBy() const { return data_->getInverse(IfcOrganizationRelationship_type, 3)->as(); } +IfcOrganizationRelationship::list::ptr IfcOrganization::Relates() const { return data_->getInverse(IfcOrganizationRelationship_type, 2)->as(); } +IfcPersonAndOrganization::list::ptr IfcOrganization::Engages() const { return data_->getInverse(IfcPersonAndOrganization_type, 1)->as(); } const IfcParse::entity& IfcOrganization::declaration() const { return *IfcOrganization_type; } const IfcParse::entity& IfcOrganization::Class() { return *IfcOrganization_type; } @@ -10061,7 +10061,7 @@ bool IfcPerson::hasAddresses() const { return !data_->getArgument(7)->isNull(); IfcTemplatedEntityList< IfcAddress >::ptr IfcPerson::Addresses() const { IfcEntityList::ptr es = *data_->getArgument(7); return es->as(); } void IfcPerson::setAddresses(IfcTemplatedEntityList< IfcAddress >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(7,attr);} } -IfcPersonAndOrganization::list::ptr IfcPerson::EngagedIn() const { return data_->getInverse(Type::IfcPersonAndOrganization, 0)->as(); } +IfcPersonAndOrganization::list::ptr IfcPerson::EngagedIn() const { return data_->getInverse(IfcPersonAndOrganization_type, 0)->as(); } const IfcParse::entity& IfcPerson::declaration() const { return *IfcPerson_type; } const IfcParse::entity& IfcPerson::Class() { return *IfcPerson_type; } @@ -10108,7 +10108,7 @@ bool IfcPhysicalQuantity::hasDescription() const { return !data_->getArgument(1) std::string IfcPhysicalQuantity::Description() const { return *data_->getArgument(1); } void IfcPhysicalQuantity::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -IfcPhysicalComplexQuantity::list::ptr IfcPhysicalQuantity::PartOfComplex() const { return data_->getInverse(Type::IfcPhysicalComplexQuantity, 2)->as(); } +IfcPhysicalComplexQuantity::list::ptr IfcPhysicalQuantity::PartOfComplex() const { return data_->getInverse(IfcPhysicalComplexQuantity_type, 2)->as(); } const IfcParse::entity& IfcPhysicalQuantity::declaration() const { return *IfcPhysicalQuantity_type; } const IfcParse::entity& IfcPhysicalQuantity::Class() { return *IfcPhysicalQuantity_type; } @@ -10301,9 +10301,9 @@ IfcPolyline::IfcPolyline(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v1_Poi // Function implementations for IfcPort -IfcRelConnectsPortToElement::list::ptr IfcPort::ContainedIn() const { return data_->getInverse(Type::IfcRelConnectsPortToElement, 4)->as(); } -IfcRelConnectsPorts::list::ptr IfcPort::ConnectedFrom() const { return data_->getInverse(Type::IfcRelConnectsPorts, 5)->as(); } -IfcRelConnectsPorts::list::ptr IfcPort::ConnectedTo() const { return data_->getInverse(Type::IfcRelConnectsPorts, 4)->as(); } +IfcRelConnectsPortToElement::list::ptr IfcPort::ContainedIn() const { return data_->getInverse(IfcRelConnectsPortToElement_type, 4)->as(); } +IfcRelConnectsPorts::list::ptr IfcPort::ConnectedFrom() const { return data_->getInverse(IfcRelConnectsPorts_type, 5)->as(); } +IfcRelConnectsPorts::list::ptr IfcPort::ConnectedTo() const { return data_->getInverse(IfcRelConnectsPorts_type, 4)->as(); } const IfcParse::entity& IfcPort::declaration() const { return *IfcPort_type; } const IfcParse::entity& IfcPort::Class() { return *IfcPort_type; } @@ -10477,9 +10477,9 @@ IfcProcedure::IfcProcedure(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHis // Function implementations for IfcProcess -IfcRelAssignsToProcess::list::ptr IfcProcess::OperatesOn() const { return data_->getInverse(Type::IfcRelAssignsToProcess, 6)->as(); } -IfcRelSequence::list::ptr IfcProcess::IsSuccessorFrom() const { return data_->getInverse(Type::IfcRelSequence, 5)->as(); } -IfcRelSequence::list::ptr IfcProcess::IsPredecessorTo() const { return data_->getInverse(Type::IfcRelSequence, 4)->as(); } +IfcRelAssignsToProcess::list::ptr IfcProcess::OperatesOn() const { return data_->getInverse(IfcRelAssignsToProcess_type, 6)->as(); } +IfcRelSequence::list::ptr IfcProcess::IsSuccessorFrom() const { return data_->getInverse(IfcRelSequence_type, 5)->as(); } +IfcRelSequence::list::ptr IfcProcess::IsPredecessorTo() const { return data_->getInverse(IfcRelSequence_type, 4)->as(); } const IfcParse::entity& IfcProcess::declaration() const { return *IfcProcess_type; } const IfcParse::entity& IfcProcess::Class() { return *IfcProcess_type; } @@ -10494,7 +10494,7 @@ bool IfcProduct::hasRepresentation() const { return !data_->getArgument(6)->isNu IfcProductRepresentation* IfcProduct::Representation() const { return (IfcProductRepresentation*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } void IfcProduct::setRepresentation(IfcProductRepresentation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -IfcRelAssignsToProduct::list::ptr IfcProduct::ReferencedBy() const { return data_->getInverse(Type::IfcRelAssignsToProduct, 6)->as(); } +IfcRelAssignsToProduct::list::ptr IfcProduct::ReferencedBy() const { return data_->getInverse(IfcRelAssignsToProduct_type, 6)->as(); } const IfcParse::entity& IfcProduct::declaration() const { return *IfcProduct_type; } const IfcParse::entity& IfcProduct::Class() { return *IfcProduct_type; } @@ -10503,8 +10503,8 @@ IfcProduct::IfcProduct(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory // Function implementations for IfcProductDefinitionShape -IfcProduct::list::ptr IfcProductDefinitionShape::ShapeOfProduct() const { return data_->getInverse(Type::IfcProduct, 6)->as(); } -IfcShapeAspect::list::ptr IfcProductDefinitionShape::HasShapeAspects() const { return data_->getInverse(Type::IfcShapeAspect, 4)->as(); } +IfcProduct::list::ptr IfcProductDefinitionShape::ShapeOfProduct() const { return data_->getInverse(IfcProduct_type, 6)->as(); } +IfcShapeAspect::list::ptr IfcProductDefinitionShape::HasShapeAspects() const { return data_->getInverse(IfcShapeAspect_type, 4)->as(); } const IfcParse::entity& IfcProductDefinitionShape::declaration() const { return *IfcProductDefinitionShape_type; } const IfcParse::entity& IfcProductDefinitionShape::Class() { return *IfcProductDefinitionShape_type; } @@ -10642,9 +10642,9 @@ bool IfcProperty::hasDescription() const { return !data_->getArgument(1)->isNull std::string IfcProperty::Description() const { return *data_->getArgument(1); } void IfcProperty::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -IfcPropertyDependencyRelationship::list::ptr IfcProperty::PropertyForDependance() const { return data_->getInverse(Type::IfcPropertyDependencyRelationship, 0)->as(); } -IfcPropertyDependencyRelationship::list::ptr IfcProperty::PropertyDependsOn() const { return data_->getInverse(Type::IfcPropertyDependencyRelationship, 1)->as(); } -IfcComplexProperty::list::ptr IfcProperty::PartOfComplex() const { return data_->getInverse(Type::IfcComplexProperty, 3)->as(); } +IfcPropertyDependencyRelationship::list::ptr IfcProperty::PropertyForDependance() const { return data_->getInverse(IfcPropertyDependencyRelationship_type, 0)->as(); } +IfcPropertyDependencyRelationship::list::ptr IfcProperty::PropertyDependsOn() const { return data_->getInverse(IfcPropertyDependencyRelationship_type, 1)->as(); } +IfcComplexProperty::list::ptr IfcProperty::PartOfComplex() const { return data_->getInverse(IfcComplexProperty_type, 3)->as(); } const IfcParse::entity& IfcProperty::declaration() const { return *IfcProperty_type; } const IfcParse::entity& IfcProperty::Class() { return *IfcProperty_type; } @@ -10688,7 +10688,7 @@ IfcPropertyConstraintRelationship::IfcPropertyConstraintRelationship(IfcConstrai // Function implementations for IfcPropertyDefinition -IfcRelAssociates::list::ptr IfcPropertyDefinition::HasAssociations() const { return data_->getInverse(Type::IfcRelAssociates, 4)->as(); } +IfcRelAssociates::list::ptr IfcPropertyDefinition::HasAssociations() const { return data_->getInverse(IfcRelAssociates_type, 4)->as(); } const IfcParse::entity& IfcPropertyDefinition::declaration() const { return *IfcPropertyDefinition_type; } const IfcParse::entity& IfcPropertyDefinition::Class() { return *IfcPropertyDefinition_type; } @@ -10782,8 +10782,8 @@ IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, IfcOwnerHistory* v2_Owne // Function implementations for IfcPropertySetDefinition -IfcRelDefinesByProperties::list::ptr IfcPropertySetDefinition::PropertyDefinitionOf() const { return data_->getInverse(Type::IfcRelDefinesByProperties, 5)->as(); } -IfcTypeObject::list::ptr IfcPropertySetDefinition::DefinesType() const { return data_->getInverse(Type::IfcTypeObject, 5)->as(); } +IfcRelDefinesByProperties::list::ptr IfcPropertySetDefinition::PropertyDefinitionOf() const { return data_->getInverse(IfcRelDefinesByProperties_type, 5)->as(); } +IfcTypeObject::list::ptr IfcPropertySetDefinition::DefinesType() const { return data_->getInverse(IfcTypeObject_type, 5)->as(); } const IfcParse::entity& IfcPropertySetDefinition::declaration() const { return *IfcPropertySetDefinition_type; } const IfcParse::entity& IfcPropertySetDefinition::Class() { return *IfcPropertySetDefinition_type; } @@ -11787,9 +11787,9 @@ void IfcRepresentation::setRepresentationType(std::string v) { {IfcWrite::IfcWri IfcTemplatedEntityList< IfcRepresentationItem >::ptr IfcRepresentation::Items() const { IfcEntityList::ptr es = *data_->getArgument(3); return es->as(); } void IfcRepresentation::setItems(IfcTemplatedEntityList< IfcRepresentationItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(3,attr);} } -IfcRepresentationMap::list::ptr IfcRepresentation::RepresentationMap() const { return data_->getInverse(Type::IfcRepresentationMap, 1)->as(); } -IfcPresentationLayerAssignment::list::ptr IfcRepresentation::LayerAssignments() const { return data_->getInverse(Type::IfcPresentationLayerAssignment, 2)->as(); } -IfcProductRepresentation::list::ptr IfcRepresentation::OfProductRepresentation() const { return data_->getInverse(Type::IfcProductRepresentation, 2)->as(); } +IfcRepresentationMap::list::ptr IfcRepresentation::RepresentationMap() const { return data_->getInverse(IfcRepresentationMap_type, 1)->as(); } +IfcPresentationLayerAssignment::list::ptr IfcRepresentation::LayerAssignments() const { return data_->getInverse(IfcPresentationLayerAssignment_type, 2)->as(); } +IfcProductRepresentation::list::ptr IfcRepresentation::OfProductRepresentation() const { return data_->getInverse(IfcProductRepresentation_type, 2)->as(); } const IfcParse::entity& IfcRepresentation::declaration() const { return *IfcRepresentation_type; } const IfcParse::entity& IfcRepresentation::Class() { return *IfcRepresentation_type; } @@ -11804,7 +11804,7 @@ bool IfcRepresentationContext::hasContextType() const { return !data_->getArgume std::string IfcRepresentationContext::ContextType() const { return *data_->getArgument(1); } void IfcRepresentationContext::setContextType(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -IfcRepresentation::list::ptr IfcRepresentationContext::RepresentationsInContext() const { return data_->getInverse(Type::IfcRepresentation, 0)->as(); } +IfcRepresentation::list::ptr IfcRepresentationContext::RepresentationsInContext() const { return data_->getInverse(IfcRepresentation_type, 0)->as(); } const IfcParse::entity& IfcRepresentationContext::declaration() const { return *IfcRepresentationContext_type; } const IfcParse::entity& IfcRepresentationContext::Class() { return *IfcRepresentationContext_type; } @@ -11813,8 +11813,8 @@ IfcRepresentationContext::IfcRepresentationContext(boost::optional< std::string // Function implementations for IfcRepresentationItem -IfcPresentationLayerAssignment::list::ptr IfcRepresentationItem::LayerAssignments() const { return data_->getInverse(Type::IfcPresentationLayerAssignment, 2)->as(); } -IfcStyledItem::list::ptr IfcRepresentationItem::StyledByItem() const { return data_->getInverse(Type::IfcStyledItem, 0)->as(); } +IfcPresentationLayerAssignment::list::ptr IfcRepresentationItem::LayerAssignments() const { return data_->getInverse(IfcPresentationLayerAssignment_type, 2)->as(); } +IfcStyledItem::list::ptr IfcRepresentationItem::StyledByItem() const { return data_->getInverse(IfcStyledItem_type, 0)->as(); } const IfcParse::entity& IfcRepresentationItem::declaration() const { return *IfcRepresentationItem_type; } const IfcParse::entity& IfcRepresentationItem::Class() { return *IfcRepresentationItem_type; } @@ -11827,7 +11827,7 @@ void IfcRepresentationMap::setMappingOrigin(IfcAxis2Placement* v) { {IfcWrite::I IfcRepresentation* IfcRepresentationMap::MappedRepresentation() const { return (IfcRepresentation*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void IfcRepresentationMap::setMappedRepresentation(IfcRepresentation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -IfcMappedItem::list::ptr IfcRepresentationMap::MapUsage() const { return data_->getInverse(Type::IfcMappedItem, 0)->as(); } +IfcMappedItem::list::ptr IfcRepresentationMap::MapUsage() const { return data_->getInverse(IfcMappedItem_type, 0)->as(); } const IfcParse::entity& IfcRepresentationMap::declaration() const { return *IfcRepresentationMap_type; } const IfcParse::entity& IfcRepresentationMap::Class() { return *IfcRepresentationMap_type; } @@ -11836,7 +11836,7 @@ IfcRepresentationMap::IfcRepresentationMap(IfcAxis2Placement* v1_MappingOrigin, // Function implementations for IfcResource -IfcRelAssignsToResource::list::ptr IfcResource::ResourceOf() const { return data_->getInverse(Type::IfcRelAssignsToResource, 6)->as(); } +IfcRelAssignsToResource::list::ptr IfcResource::ResourceOf() const { return data_->getInverse(IfcRelAssignsToResource_type, 6)->as(); } const IfcParse::entity& IfcResource::declaration() const { return *IfcResource_type; } const IfcParse::entity& IfcResource::Class() { return *IfcResource_type; } @@ -12029,7 +12029,7 @@ bool IfcScheduleTimeControl::hasCompletion() const { return !data_->getArgument( double IfcScheduleTimeControl::Completion() const { return *data_->getArgument(22); } void IfcScheduleTimeControl::setCompletion(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(22,attr);} } -IfcRelAssignsTasks::list::ptr IfcScheduleTimeControl::ScheduleTimeControlAssigned() const { return data_->getInverse(Type::IfcRelAssignsTasks, 7)->as(); } +IfcRelAssignsTasks::list::ptr IfcScheduleTimeControl::ScheduleTimeControlAssigned() const { return data_->getInverse(IfcRelAssignsTasks_type, 7)->as(); } const IfcParse::entity& IfcScheduleTimeControl::declaration() const { return *IfcScheduleTimeControl_type; } const IfcParse::entity& IfcScheduleTimeControl::Class() { return *IfcScheduleTimeControl_type; } @@ -12148,7 +12148,7 @@ IfcShapeAspect::IfcShapeAspect(IfcTemplatedEntityList< IfcShapeModel >::ptr v1_S // Function implementations for IfcShapeModel -IfcShapeAspect::list::ptr IfcShapeModel::OfShapeAspect() const { return data_->getInverse(Type::IfcShapeAspect, 0)->as(); } +IfcShapeAspect::list::ptr IfcShapeModel::OfShapeAspect() const { return data_->getInverse(IfcShapeAspect_type, 0)->as(); } const IfcParse::entity& IfcShapeModel::declaration() const { return *IfcShapeModel_type; } const IfcParse::entity& IfcShapeModel::Class() { return *IfcShapeModel_type; } @@ -12288,8 +12288,8 @@ bool IfcSpace::hasElevationWithFlooring() const { return !data_->getArgument(10) double IfcSpace::ElevationWithFlooring() const { return *data_->getArgument(10); } void IfcSpace::setElevationWithFlooring(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -IfcRelCoversSpaces::list::ptr IfcSpace::HasCoverings() const { return data_->getInverse(Type::IfcRelCoversSpaces, 4)->as(); } -IfcRelSpaceBoundary::list::ptr IfcSpace::BoundedBy() const { return data_->getInverse(Type::IfcRelSpaceBoundary, 4)->as(); } +IfcRelCoversSpaces::list::ptr IfcSpace::HasCoverings() const { return data_->getInverse(IfcRelCoversSpaces_type, 4)->as(); } +IfcRelSpaceBoundary::list::ptr IfcSpace::BoundedBy() const { return data_->getInverse(IfcRelSpaceBoundary_type, 4)->as(); } const IfcParse::entity& IfcSpace::declaration() const { return *IfcSpace_type; } const IfcParse::entity& IfcSpace::Class() { return *IfcSpace_type; } @@ -12321,8 +12321,8 @@ void IfcSpaceProgram::setRequestedLocation(IfcSpatialStructureElement* v) { {Ifc double IfcSpaceProgram::StandardRequiredArea() const { return *data_->getArgument(9); } void IfcSpaceProgram::setStandardRequiredArea(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -IfcRelInteractionRequirements::list::ptr IfcSpaceProgram::HasInteractionReqsFrom() const { return data_->getInverse(Type::IfcRelInteractionRequirements, 7)->as(); } -IfcRelInteractionRequirements::list::ptr IfcSpaceProgram::HasInteractionReqsTo() const { return data_->getInverse(Type::IfcRelInteractionRequirements, 8)->as(); } +IfcRelInteractionRequirements::list::ptr IfcSpaceProgram::HasInteractionReqsFrom() const { return data_->getInverse(IfcRelInteractionRequirements_type, 7)->as(); } +IfcRelInteractionRequirements::list::ptr IfcSpaceProgram::HasInteractionReqsTo() const { return data_->getInverse(IfcRelInteractionRequirements_type, 8)->as(); } const IfcParse::entity& IfcSpaceProgram::declaration() const { return *IfcSpaceProgram_type; } const IfcParse::entity& IfcSpaceProgram::Class() { return *IfcSpaceProgram_type; } @@ -12380,9 +12380,9 @@ void IfcSpatialStructureElement::setLongName(std::string v) { {IfcWrite::IfcWrit IfcElementCompositionEnum::IfcElementCompositionEnum IfcSpatialStructureElement::CompositionType() const { return IfcElementCompositionEnum::FromString(*data_->getArgument(8)); } void IfcSpatialStructureElement::setCompositionType(IfcElementCompositionEnum::IfcElementCompositionEnum v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,IfcElementCompositionEnum::ToString(v)));data_->setArgument(8,attr);} } -IfcRelReferencedInSpatialStructure::list::ptr IfcSpatialStructureElement::ReferencesElements() const { return data_->getInverse(Type::IfcRelReferencedInSpatialStructure, 5)->as(); } -IfcRelServicesBuildings::list::ptr IfcSpatialStructureElement::ServicedBySystems() const { return data_->getInverse(Type::IfcRelServicesBuildings, 5)->as(); } -IfcRelContainedInSpatialStructure::list::ptr IfcSpatialStructureElement::ContainsElements() const { return data_->getInverse(Type::IfcRelContainedInSpatialStructure, 5)->as(); } +IfcRelReferencedInSpatialStructure::list::ptr IfcSpatialStructureElement::ReferencesElements() const { return data_->getInverse(IfcRelReferencedInSpatialStructure_type, 5)->as(); } +IfcRelServicesBuildings::list::ptr IfcSpatialStructureElement::ServicedBySystems() const { return data_->getInverse(IfcRelServicesBuildings_type, 5)->as(); } +IfcRelContainedInSpatialStructure::list::ptr IfcSpatialStructureElement::ContainsElements() const { return data_->getInverse(IfcRelContainedInSpatialStructure_type, 5)->as(); } const IfcParse::entity& IfcSpatialStructureElement::declaration() const { return *IfcSpatialStructureElement_type; } const IfcParse::entity& IfcSpatialStructureElement::Class() { return *IfcSpatialStructureElement_type; } @@ -12476,7 +12476,7 @@ void IfcStructuralActivity::setAppliedLoad(IfcStructuralLoad* v) { {IfcWrite::If IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum IfcStructuralActivity::GlobalOrLocal() const { return IfcGlobalOrLocalEnum::FromString(*data_->getArgument(8)); } void IfcStructuralActivity::setGlobalOrLocal(IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,IfcGlobalOrLocalEnum::ToString(v)));data_->setArgument(8,attr);} } -IfcRelConnectsStructuralActivity::list::ptr IfcStructuralActivity::AssignedToStructuralItem() const { return data_->getInverse(Type::IfcRelConnectsStructuralActivity, 5)->as(); } +IfcRelConnectsStructuralActivity::list::ptr IfcStructuralActivity::AssignedToStructuralItem() const { return data_->getInverse(IfcRelConnectsStructuralActivity_type, 5)->as(); } const IfcParse::entity& IfcStructuralActivity::declaration() const { return *IfcStructuralActivity_type; } const IfcParse::entity& IfcStructuralActivity::Class() { return *IfcStructuralActivity_type; } @@ -12507,7 +12507,7 @@ bool IfcStructuralConnection::hasAppliedCondition() const { return !data_->getAr IfcBoundaryCondition* IfcStructuralConnection::AppliedCondition() const { return (IfcBoundaryCondition*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(7))); } void IfcStructuralConnection::setAppliedCondition(IfcBoundaryCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -IfcRelConnectsStructuralMember::list::ptr IfcStructuralConnection::ConnectsStructuralMembers() const { return data_->getInverse(Type::IfcRelConnectsStructuralMember, 5)->as(); } +IfcRelConnectsStructuralMember::list::ptr IfcStructuralConnection::ConnectsStructuralMembers() const { return data_->getInverse(IfcRelConnectsStructuralMember_type, 5)->as(); } const IfcParse::entity& IfcStructuralConnection::declaration() const { return *IfcStructuralConnection_type; } const IfcParse::entity& IfcStructuralConnection::Class() { return *IfcStructuralConnection_type; } @@ -12553,7 +12553,7 @@ IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(std::string v1_ // Function implementations for IfcStructuralItem -IfcRelConnectsStructuralActivity::list::ptr IfcStructuralItem::AssignedStructuralActivity() const { return data_->getInverse(Type::IfcRelConnectsStructuralActivity, 4)->as(); } +IfcRelConnectsStructuralActivity::list::ptr IfcStructuralItem::AssignedStructuralActivity() const { return data_->getInverse(IfcRelConnectsStructuralActivity_type, 4)->as(); } const IfcParse::entity& IfcStructuralItem::declaration() const { return *IfcStructuralItem_type; } const IfcParse::entity& IfcStructuralItem::Class() { return *IfcStructuralItem_type; } @@ -12607,8 +12607,8 @@ bool IfcStructuralLoadGroup::hasPurpose() const { return !data_->getArgument(9)- std::string IfcStructuralLoadGroup::Purpose() const { return *data_->getArgument(9); } void IfcStructuralLoadGroup::setPurpose(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -IfcStructuralResultGroup::list::ptr IfcStructuralLoadGroup::SourceOfResultGroup() const { return data_->getInverse(Type::IfcStructuralResultGroup, 6)->as(); } -IfcStructuralAnalysisModel::list::ptr IfcStructuralLoadGroup::LoadGroupFor() const { return data_->getInverse(Type::IfcStructuralAnalysisModel, 7)->as(); } +IfcStructuralResultGroup::list::ptr IfcStructuralLoadGroup::SourceOfResultGroup() const { return data_->getInverse(IfcStructuralResultGroup_type, 6)->as(); } +IfcStructuralAnalysisModel::list::ptr IfcStructuralLoadGroup::LoadGroupFor() const { return data_->getInverse(IfcStructuralAnalysisModel_type, 7)->as(); } const IfcParse::entity& IfcStructuralLoadGroup::declaration() const { return *IfcStructuralLoadGroup_type; } const IfcParse::entity& IfcStructuralLoadGroup::Class() { return *IfcStructuralLoadGroup_type; } @@ -12759,8 +12759,8 @@ IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional< std: // Function implementations for IfcStructuralMember -IfcRelConnectsStructuralElement::list::ptr IfcStructuralMember::ReferencesElement() const { return data_->getInverse(Type::IfcRelConnectsStructuralElement, 5)->as(); } -IfcRelConnectsStructuralMember::list::ptr IfcStructuralMember::ConnectedBy() const { return data_->getInverse(Type::IfcRelConnectsStructuralMember, 4)->as(); } +IfcRelConnectsStructuralElement::list::ptr IfcStructuralMember::ReferencesElement() const { return data_->getInverse(IfcRelConnectsStructuralElement_type, 5)->as(); } +IfcRelConnectsStructuralMember::list::ptr IfcStructuralMember::ConnectedBy() const { return data_->getInverse(IfcRelConnectsStructuralMember_type, 4)->as(); } const IfcParse::entity& IfcStructuralMember::declaration() const { return *IfcStructuralMember_type; } const IfcParse::entity& IfcStructuralMember::Class() { return *IfcStructuralMember_type; } @@ -12871,7 +12871,7 @@ IfcStructuralProfileProperties::IfcStructuralProfileProperties(boost::optional< // Function implementations for IfcStructuralReaction -IfcStructuralAction::list::ptr IfcStructuralReaction::Causes() const { return data_->getInverse(Type::IfcStructuralAction, 10)->as(); } +IfcStructuralAction::list::ptr IfcStructuralReaction::Causes() const { return data_->getInverse(IfcStructuralAction_type, 10)->as(); } const IfcParse::entity& IfcStructuralReaction::declaration() const { return *IfcStructuralReaction_type; } const IfcParse::entity& IfcStructuralReaction::Class() { return *IfcStructuralReaction_type; } @@ -12887,7 +12887,7 @@ void IfcStructuralResultGroup::setResultForLoadGroup(IfcStructuralLoadGroup* v) bool IfcStructuralResultGroup::IsLinear() const { return *data_->getArgument(7); } void IfcStructuralResultGroup::setIsLinear(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -IfcStructuralAnalysisModel::list::ptr IfcStructuralResultGroup::ResultGroupFor() const { return data_->getInverse(Type::IfcStructuralAnalysisModel, 8)->as(); } +IfcStructuralAnalysisModel::list::ptr IfcStructuralResultGroup::ResultGroupFor() const { return data_->getInverse(IfcStructuralAnalysisModel_type, 8)->as(); } const IfcParse::entity& IfcStructuralResultGroup::declaration() const { return *IfcStructuralResultGroup_type; } const IfcParse::entity& IfcStructuralResultGroup::Class() { return *IfcStructuralResultGroup_type; } @@ -13232,7 +13232,7 @@ IfcSymbolStyle::IfcSymbolStyle(boost::optional< std::string > v1_Name, IfcSymbol // Function implementations for IfcSystem -IfcRelServicesBuildings::list::ptr IfcSystem::ServicesBuildings() const { return data_->getInverse(Type::IfcRelServicesBuildings, 4)->as(); } +IfcRelServicesBuildings::list::ptr IfcSystem::ServicesBuildings() const { return data_->getInverse(IfcRelServicesBuildings_type, 4)->as(); } const IfcParse::entity& IfcSystem::declaration() const { return *IfcSystem_type; } const IfcParse::entity& IfcSystem::Class() { return *IfcSystem_type; } @@ -13299,7 +13299,7 @@ void IfcTableRow::setRowCells(IfcEntityList::ptr v) { {IfcWrite::IfcWriteArgumen bool IfcTableRow::IsHeading() const { return *data_->getArgument(1); } void IfcTableRow::setIsHeading(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -IfcTable::list::ptr IfcTableRow::OfTable() const { return data_->getInverse(Type::IfcTable, 1)->as(); } +IfcTable::list::ptr IfcTableRow::OfTable() const { return data_->getInverse(IfcTable_type, 1)->as(); } const IfcParse::entity& IfcTableRow::declaration() const { return *IfcTableRow_type; } const IfcParse::entity& IfcTableRow::Class() { return *IfcTableRow_type; } @@ -13538,7 +13538,7 @@ IfcTextStyleWithBoxCharacteristics::IfcTextStyleWithBoxCharacteristics(boost::op // Function implementations for IfcTextureCoordinate -IfcAnnotationSurface::list::ptr IfcTextureCoordinate::AnnotatedSurface() const { return data_->getInverse(Type::IfcAnnotationSurface, 1)->as(); } +IfcAnnotationSurface::list::ptr IfcTextureCoordinate::AnnotatedSurface() const { return data_->getInverse(IfcAnnotationSurface_type, 1)->as(); } const IfcParse::entity& IfcTextureCoordinate::declaration() const { return *IfcTextureCoordinate_type; } const IfcParse::entity& IfcTextureCoordinate::Class() { return *IfcTextureCoordinate_type; } @@ -13618,7 +13618,7 @@ bool IfcTimeSeries::hasUnit() const { return !data_->getArgument(7)->isNull(); } IfcUnit* IfcTimeSeries::Unit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(7))); } void IfcTimeSeries::setUnit(IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -IfcTimeSeriesReferenceRelationship::list::ptr IfcTimeSeries::DocumentedBy() const { return data_->getInverse(Type::IfcTimeSeriesReferenceRelationship, 0)->as(); } +IfcTimeSeriesReferenceRelationship::list::ptr IfcTimeSeries::DocumentedBy() const { return data_->getInverse(IfcTimeSeriesReferenceRelationship_type, 0)->as(); } const IfcParse::entity& IfcTimeSeries::declaration() const { return *IfcTimeSeries_type; } const IfcParse::entity& IfcTimeSeries::Class() { return *IfcTimeSeries_type; } @@ -13777,7 +13777,7 @@ bool IfcTypeObject::hasHasPropertySets() const { return !data_->getArgument(5)-> IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr IfcTypeObject::HasPropertySets() const { IfcEntityList::ptr es = *data_->getArgument(5); return es->as(); } void IfcTypeObject::setHasPropertySets(IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(5,attr);} } -IfcRelDefinesByType::list::ptr IfcTypeObject::ObjectTypeOf() const { return data_->getInverse(Type::IfcRelDefinesByType, 5)->as(); } +IfcRelDefinesByType::list::ptr IfcTypeObject::ObjectTypeOf() const { return data_->getInverse(IfcRelDefinesByType_type, 5)->as(); } const IfcParse::entity& IfcTypeObject::declaration() const { return *IfcTypeObject_type; } const IfcParse::entity& IfcTypeObject::Class() { return *IfcTypeObject_type; } diff --git a/src/ifcparse/Ifc4.cpp b/src/ifcparse/Ifc4.cpp index a755c7371c..ada870381f 100644 --- a/src/ifcparse/Ifc4.cpp +++ b/src/ifcparse/Ifc4.cpp @@ -6762,7 +6762,7 @@ IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, IfcOwnerHistory* v2_ IfcActorSelect* IfcActor::TheActor() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void IfcActor::setTheActor(IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -IfcRelAssignsToActor::list::ptr IfcActor::IsActingUpon() const { return data_->getInverse(Type::IfcRelAssignsToActor, 6)->as(); } +IfcRelAssignsToActor::list::ptr IfcActor::IsActingUpon() const { return data_->getInverse(IfcRelAssignsToActor_type, 6)->as(); } const IfcParse::entity& IfcActor::declaration() const { return *IfcActor_type; } const IfcParse::entity& IfcActor::Class() { return *IfcActor_type; } @@ -6779,7 +6779,7 @@ bool IfcActorRole::hasDescription() const { return !data_->getArgument(2)->isNul std::string IfcActorRole::Description() const { return *data_->getArgument(2); } void IfcActorRole::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -IfcExternalReferenceRelationship::list::ptr IfcActorRole::HasExternalReference() const { return data_->getInverse(Type::IfcExternalReferenceRelationship, 3)->as(); } +IfcExternalReferenceRelationship::list::ptr IfcActorRole::HasExternalReference() const { return data_->getInverse(IfcExternalReferenceRelationship_type, 3)->as(); } const IfcParse::entity& IfcActorRole::declaration() const { return *IfcActorRole_type; } const IfcParse::entity& IfcActorRole::Class() { return *IfcActorRole_type; } @@ -6818,8 +6818,8 @@ bool IfcAddress::hasUserDefinedPurpose() const { return !data_->getArgument(2)-> std::string IfcAddress::UserDefinedPurpose() const { return *data_->getArgument(2); } void IfcAddress::setUserDefinedPurpose(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -IfcPerson::list::ptr IfcAddress::OfPerson() const { return data_->getInverse(Type::IfcPerson, 7)->as(); } -IfcOrganization::list::ptr IfcAddress::OfOrganization() const { return data_->getInverse(Type::IfcOrganization, 4)->as(); } +IfcPerson::list::ptr IfcAddress::OfPerson() const { return data_->getInverse(IfcPerson_type, 7)->as(); } +IfcOrganization::list::ptr IfcAddress::OfOrganization() const { return data_->getInverse(IfcOrganization_type, 4)->as(); } const IfcParse::entity& IfcAddress::declaration() const { return *IfcAddress_type; } const IfcParse::entity& IfcAddress::Class() { return *IfcAddress_type; } @@ -6938,7 +6938,7 @@ IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHis // Function implementations for IfcAnnotation -IfcRelContainedInSpatialStructure::list::ptr IfcAnnotation::ContainedInStructure() const { return data_->getInverse(Type::IfcRelContainedInSpatialStructure, 4)->as(); } +IfcRelContainedInSpatialStructure::list::ptr IfcAnnotation::ContainedInStructure() const { return data_->getInverse(IfcRelContainedInSpatialStructure_type, 4)->as(); } const IfcParse::entity& IfcAnnotation::declaration() const { return *IfcAnnotation_type; } const IfcParse::entity& IfcAnnotation::Class() { return *IfcAnnotation_type; } @@ -7006,7 +7006,7 @@ bool IfcAppliedValue::hasComponents() const { return !data_->getArgument(9)->isN IfcTemplatedEntityList< IfcAppliedValue >::ptr IfcAppliedValue::Components() const { IfcEntityList::ptr es = *data_->getArgument(9); return es->as(); } void IfcAppliedValue::setComponents(IfcTemplatedEntityList< IfcAppliedValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(9,attr);} } -IfcExternalReferenceRelationship::list::ptr IfcAppliedValue::HasExternalReference() const { return data_->getInverse(Type::IfcExternalReferenceRelationship, 3)->as(); } +IfcExternalReferenceRelationship::list::ptr IfcAppliedValue::HasExternalReference() const { return data_->getInverse(IfcExternalReferenceRelationship_type, 3)->as(); } const IfcParse::entity& IfcAppliedValue::declaration() const { return *IfcAppliedValue_type; } const IfcParse::entity& IfcAppliedValue::Class() { return *IfcAppliedValue_type; } @@ -7042,11 +7042,11 @@ bool IfcApproval::hasGivingApproval() const { return !data_->getArgument(8)->isN IfcActorSelect* IfcApproval::GivingApproval() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(8))); } void IfcApproval::setGivingApproval(IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -IfcExternalReferenceRelationship::list::ptr IfcApproval::HasExternalReferences() const { return data_->getInverse(Type::IfcExternalReferenceRelationship, 3)->as(); } -IfcRelAssociatesApproval::list::ptr IfcApproval::ApprovedObjects() const { return data_->getInverse(Type::IfcRelAssociatesApproval, 5)->as(); } -IfcResourceApprovalRelationship::list::ptr IfcApproval::ApprovedResources() const { return data_->getInverse(Type::IfcResourceApprovalRelationship, 3)->as(); } -IfcApprovalRelationship::list::ptr IfcApproval::IsRelatedWith() const { return data_->getInverse(Type::IfcApprovalRelationship, 3)->as(); } -IfcApprovalRelationship::list::ptr IfcApproval::Relates() const { return data_->getInverse(Type::IfcApprovalRelationship, 2)->as(); } +IfcExternalReferenceRelationship::list::ptr IfcApproval::HasExternalReferences() const { return data_->getInverse(IfcExternalReferenceRelationship_type, 3)->as(); } +IfcRelAssociatesApproval::list::ptr IfcApproval::ApprovedObjects() const { return data_->getInverse(IfcRelAssociatesApproval_type, 5)->as(); } +IfcResourceApprovalRelationship::list::ptr IfcApproval::ApprovedResources() const { return data_->getInverse(IfcResourceApprovalRelationship_type, 3)->as(); } +IfcApprovalRelationship::list::ptr IfcApproval::IsRelatedWith() const { return data_->getInverse(IfcApprovalRelationship_type, 3)->as(); } +IfcApprovalRelationship::list::ptr IfcApproval::Relates() const { return data_->getInverse(IfcApprovalRelationship_type, 2)->as(); } const IfcParse::entity& IfcApproval::declaration() const { return *IfcApproval_type; } const IfcParse::entity& IfcApproval::Class() { return *IfcApproval_type; } @@ -7982,8 +7982,8 @@ bool IfcClassification::hasReferenceTokens() const { return !data_->getArgument( std::vector< std::string > /*[1:?]*/ IfcClassification::ReferenceTokens() const { return *data_->getArgument(6); } void IfcClassification::setReferenceTokens(std::vector< std::string > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -IfcRelAssociatesClassification::list::ptr IfcClassification::ClassificationForObjects() const { return data_->getInverse(Type::IfcRelAssociatesClassification, 5)->as(); } -IfcClassificationReference::list::ptr IfcClassification::HasReferences() const { return data_->getInverse(Type::IfcClassificationReference, 3)->as(); } +IfcRelAssociatesClassification::list::ptr IfcClassification::ClassificationForObjects() const { return data_->getInverse(IfcRelAssociatesClassification_type, 5)->as(); } +IfcClassificationReference::list::ptr IfcClassification::HasReferences() const { return data_->getInverse(IfcClassificationReference_type, 3)->as(); } const IfcParse::entity& IfcClassification::declaration() const { return *IfcClassification_type; } const IfcParse::entity& IfcClassification::Class() { return *IfcClassification_type; } @@ -8001,8 +8001,8 @@ bool IfcClassificationReference::hasSort() const { return !data_->getArgument(5) std::string IfcClassificationReference::Sort() const { return *data_->getArgument(5); } void IfcClassificationReference::setSort(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -IfcRelAssociatesClassification::list::ptr IfcClassificationReference::ClassificationRefForObjects() const { return data_->getInverse(Type::IfcRelAssociatesClassification, 5)->as(); } -IfcClassificationReference::list::ptr IfcClassificationReference::HasReferences() const { return data_->getInverse(Type::IfcClassificationReference, 3)->as(); } +IfcRelAssociatesClassification::list::ptr IfcClassificationReference::ClassificationRefForObjects() const { return data_->getInverse(IfcRelAssociatesClassification_type, 5)->as(); } +IfcClassificationReference::list::ptr IfcClassificationReference::HasReferences() const { return data_->getInverse(IfcClassificationReference_type, 3)->as(); } const IfcParse::entity& IfcClassificationReference::declaration() const { return *IfcClassificationReference_type; } const IfcParse::entity& IfcClassificationReference::Class() { return *IfcClassificationReference_type; } @@ -8180,7 +8180,7 @@ void IfcCompositeCurveSegment::setSameSense(bool v) { {IfcWrite::IfcWriteArgumen IfcCurve* IfcCompositeCurveSegment::ParentCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(2))); } void IfcCompositeCurveSegment::setParentCurve(IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -IfcCompositeCurve::list::ptr IfcCompositeCurveSegment::UsingCurves() const { return data_->getInverse(Type::IfcCompositeCurve, 0)->as(); } +IfcCompositeCurve::list::ptr IfcCompositeCurveSegment::UsingCurves() const { return data_->getInverse(IfcCompositeCurve_type, 0)->as(); } const IfcParse::entity& IfcCompositeCurveSegment::declaration() const { return *IfcCompositeCurveSegment_type; } const IfcParse::entity& IfcCompositeCurveSegment::Class() { return *IfcCompositeCurveSegment_type; } @@ -8360,8 +8360,8 @@ bool IfcConstraint::hasUserDefinedGrade() const { return !data_->getArgument(6)- std::string IfcConstraint::UserDefinedGrade() const { return *data_->getArgument(6); } void IfcConstraint::setUserDefinedGrade(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -IfcExternalReferenceRelationship::list::ptr IfcConstraint::HasExternalReferences() const { return data_->getInverse(Type::IfcExternalReferenceRelationship, 3)->as(); } -IfcResourceConstraintRelationship::list::ptr IfcConstraint::PropertiesForConstraint() const { return data_->getInverse(Type::IfcResourceConstraintRelationship, 2)->as(); } +IfcExternalReferenceRelationship::list::ptr IfcConstraint::HasExternalReferences() const { return data_->getInverse(IfcExternalReferenceRelationship_type, 3)->as(); } +IfcResourceConstraintRelationship::list::ptr IfcConstraint::PropertiesForConstraint() const { return data_->getInverse(IfcResourceConstraintRelationship_type, 2)->as(); } const IfcParse::entity& IfcConstraint::declaration() const { return *IfcConstraint_type; } const IfcParse::entity& IfcConstraint::Class() { return *IfcConstraint_type; } @@ -8479,8 +8479,8 @@ bool IfcContext::hasUnitsInContext() const { return !data_->getArgument(8)->isNu IfcUnitAssignment* IfcContext::UnitsInContext() const { return (IfcUnitAssignment*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(8))); } void IfcContext::setUnitsInContext(IfcUnitAssignment* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -IfcRelDefinesByProperties::list::ptr IfcContext::IsDefinedBy() const { return data_->getInverse(Type::IfcRelDefinesByProperties, 4)->as(); } -IfcRelDeclares::list::ptr IfcContext::Declares() const { return data_->getInverse(Type::IfcRelDeclares, 4)->as(); } +IfcRelDefinesByProperties::list::ptr IfcContext::IsDefinedBy() const { return data_->getInverse(IfcRelDefinesByProperties_type, 4)->as(); } +IfcRelDeclares::list::ptr IfcContext::Declares() const { return data_->getInverse(IfcRelDeclares_type, 4)->as(); } const IfcParse::entity& IfcContext::declaration() const { return *IfcContext_type; } const IfcParse::entity& IfcContext::Class() { return *IfcContext_type; } @@ -8491,7 +8491,7 @@ IfcContext::IfcContext(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory std::string IfcContextDependentUnit::Name() const { return *data_->getArgument(2); } void IfcContextDependentUnit::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -IfcExternalReferenceRelationship::list::ptr IfcContextDependentUnit::HasExternalReference() const { return data_->getInverse(Type::IfcExternalReferenceRelationship, 3)->as(); } +IfcExternalReferenceRelationship::list::ptr IfcContextDependentUnit::HasExternalReference() const { return data_->getInverse(IfcExternalReferenceRelationship_type, 3)->as(); } const IfcParse::entity& IfcContextDependentUnit::declaration() const { return *IfcContextDependentUnit_type; } const IfcParse::entity& IfcContextDependentUnit::Class() { return *IfcContextDependentUnit_type; } @@ -8503,7 +8503,7 @@ bool IfcControl::hasIdentification() const { return !data_->getArgument(5)->isNu std::string IfcControl::Identification() const { return *data_->getArgument(5); } void IfcControl::setIdentification(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -IfcRelAssignsToControl::list::ptr IfcControl::Controls() const { return data_->getInverse(Type::IfcRelAssignsToControl, 6)->as(); } +IfcRelAssignsToControl::list::ptr IfcControl::Controls() const { return data_->getInverse(IfcRelAssignsToControl_type, 6)->as(); } const IfcParse::entity& IfcControl::declaration() const { return *IfcControl_type; } const IfcParse::entity& IfcControl::Class() { return *IfcControl_type; } @@ -8537,7 +8537,7 @@ void IfcConversionBasedUnit::setName(std::string v) { {IfcWrite::IfcWriteArgumen IfcMeasureWithUnit* IfcConversionBasedUnit::ConversionFactor() const { return (IfcMeasureWithUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(3))); } void IfcConversionBasedUnit::setConversionFactor(IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -IfcExternalReferenceRelationship::list::ptr IfcConversionBasedUnit::HasExternalReference() const { return data_->getInverse(Type::IfcExternalReferenceRelationship, 3)->as(); } +IfcExternalReferenceRelationship::list::ptr IfcConversionBasedUnit::HasExternalReference() const { return data_->getInverse(IfcExternalReferenceRelationship_type, 3)->as(); } const IfcParse::entity& IfcConversionBasedUnit::declaration() const { return *IfcConversionBasedUnit_type; } const IfcParse::entity& IfcConversionBasedUnit::Class() { return *IfcConversionBasedUnit_type; } @@ -8621,7 +8621,7 @@ bool IfcCoordinateReferenceSystem::hasVerticalDatum() const { return !data_->get std::string IfcCoordinateReferenceSystem::VerticalDatum() const { return *data_->getArgument(3); } void IfcCoordinateReferenceSystem::setVerticalDatum(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -IfcCoordinateOperation::list::ptr IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return data_->getInverse(Type::IfcCoordinateOperation, 0)->as(); } +IfcCoordinateOperation::list::ptr IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return data_->getInverse(IfcCoordinateOperation_type, 0)->as(); } const IfcParse::entity& IfcCoordinateReferenceSystem::declaration() const { return *IfcCoordinateReferenceSystem_type; } const IfcParse::entity& IfcCoordinateReferenceSystem::Class() { return *IfcCoordinateReferenceSystem_type; } @@ -8678,8 +8678,8 @@ bool IfcCovering::hasPredefinedType() const { return !data_->getArgument(8)->isN IfcCoveringTypeEnum::IfcCoveringTypeEnum IfcCovering::PredefinedType() const { return IfcCoveringTypeEnum::FromString(*data_->getArgument(8)); } void IfcCovering::setPredefinedType(IfcCoveringTypeEnum::IfcCoveringTypeEnum v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,IfcCoveringTypeEnum::ToString(v)));data_->setArgument(8,attr);} } -IfcRelCoversSpaces::list::ptr IfcCovering::CoversSpaces() const { return data_->getInverse(Type::IfcRelCoversSpaces, 5)->as(); } -IfcRelCoversBldgElements::list::ptr IfcCovering::CoversElements() const { return data_->getInverse(Type::IfcRelCoversBldgElements, 5)->as(); } +IfcRelCoversSpaces::list::ptr IfcCovering::CoversSpaces() const { return data_->getInverse(IfcRelCoversSpaces_type, 5)->as(); } +IfcRelCoversBldgElements::list::ptr IfcCovering::CoversElements() const { return data_->getInverse(IfcRelCoversBldgElements_type, 5)->as(); } const IfcParse::entity& IfcCovering::declaration() const { return *IfcCovering_type; } const IfcParse::entity& IfcCovering::Class() { return *IfcCovering_type; } @@ -9031,7 +9031,7 @@ IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_GlobalId, IfcOwner // Function implementations for IfcDistributionControlElement -IfcRelFlowControlElements::list::ptr IfcDistributionControlElement::AssignedToFlowElement() const { return data_->getInverse(Type::IfcRelFlowControlElements, 4)->as(); } +IfcRelFlowControlElements::list::ptr IfcDistributionControlElement::AssignedToFlowElement() const { return data_->getInverse(IfcRelFlowControlElements_type, 4)->as(); } const IfcParse::entity& IfcDistributionControlElement::declaration() const { return *IfcDistributionControlElement_type; } const IfcParse::entity& IfcDistributionControlElement::Class() { return *IfcDistributionControlElement_type; } @@ -9048,7 +9048,7 @@ IfcDistributionControlElementType::IfcDistributionControlElementType(std::string // Function implementations for IfcDistributionElement -IfcRelConnectsPortToElement::list::ptr IfcDistributionElement::HasPorts() const { return data_->getInverse(Type::IfcRelConnectsPortToElement, 5)->as(); } +IfcRelConnectsPortToElement::list::ptr IfcDistributionElement::HasPorts() const { return data_->getInverse(IfcRelConnectsPortToElement_type, 5)->as(); } const IfcParse::entity& IfcDistributionElement::declaration() const { return *IfcDistributionElement_type; } const IfcParse::entity& IfcDistributionElement::Class() { return *IfcDistributionElement_type; } @@ -9065,7 +9065,7 @@ IfcDistributionElementType::IfcDistributionElementType(std::string v1_GlobalId, // Function implementations for IfcDistributionFlowElement -IfcRelFlowControlElements::list::ptr IfcDistributionFlowElement::HasControlElements() const { return data_->getInverse(Type::IfcRelFlowControlElements, 5)->as(); } +IfcRelFlowControlElements::list::ptr IfcDistributionFlowElement::HasControlElements() const { return data_->getInverse(IfcRelFlowControlElements_type, 5)->as(); } const IfcParse::entity& IfcDistributionFlowElement::declaration() const { return *IfcDistributionFlowElement_type; } const IfcParse::entity& IfcDistributionFlowElement::Class() { return *IfcDistributionFlowElement_type; } @@ -9162,10 +9162,10 @@ bool IfcDocumentInformation::hasStatus() const { return !data_->getArgument(16)- IfcDocumentStatusEnum::IfcDocumentStatusEnum IfcDocumentInformation::Status() const { return IfcDocumentStatusEnum::FromString(*data_->getArgument(16)); } void IfcDocumentInformation::setStatus(IfcDocumentStatusEnum::IfcDocumentStatusEnum v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,IfcDocumentStatusEnum::ToString(v)));data_->setArgument(16,attr);} } -IfcRelAssociatesDocument::list::ptr IfcDocumentInformation::DocumentInfoForObjects() const { return data_->getInverse(Type::IfcRelAssociatesDocument, 5)->as(); } -IfcDocumentReference::list::ptr IfcDocumentInformation::HasDocumentReferences() const { return data_->getInverse(Type::IfcDocumentReference, 4)->as(); } -IfcDocumentInformationRelationship::list::ptr IfcDocumentInformation::IsPointedTo() const { return data_->getInverse(Type::IfcDocumentInformationRelationship, 3)->as(); } -IfcDocumentInformationRelationship::list::ptr IfcDocumentInformation::IsPointer() const { return data_->getInverse(Type::IfcDocumentInformationRelationship, 2)->as(); } +IfcRelAssociatesDocument::list::ptr IfcDocumentInformation::DocumentInfoForObjects() const { return data_->getInverse(IfcRelAssociatesDocument_type, 5)->as(); } +IfcDocumentReference::list::ptr IfcDocumentInformation::HasDocumentReferences() const { return data_->getInverse(IfcDocumentReference_type, 4)->as(); } +IfcDocumentInformationRelationship::list::ptr IfcDocumentInformation::IsPointedTo() const { return data_->getInverse(IfcDocumentInformationRelationship_type, 3)->as(); } +IfcDocumentInformationRelationship::list::ptr IfcDocumentInformation::IsPointer() const { return data_->getInverse(IfcDocumentInformationRelationship_type, 2)->as(); } const IfcParse::entity& IfcDocumentInformation::declaration() const { return *IfcDocumentInformation_type; } const IfcParse::entity& IfcDocumentInformation::Class() { return *IfcDocumentInformation_type; } @@ -9195,7 +9195,7 @@ bool IfcDocumentReference::hasReferencedDocument() const { return !data_->getArg IfcDocumentInformation* IfcDocumentReference::ReferencedDocument() const { return (IfcDocumentInformation*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(4))); } void IfcDocumentReference::setReferencedDocument(IfcDocumentInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -IfcRelAssociatesDocument::list::ptr IfcDocumentReference::DocumentRefForObjects() const { return data_->getInverse(Type::IfcRelAssociatesDocument, 5)->as(); } +IfcRelAssociatesDocument::list::ptr IfcDocumentReference::DocumentRefForObjects() const { return data_->getInverse(IfcRelAssociatesDocument_type, 5)->as(); } const IfcParse::entity& IfcDocumentReference::declaration() const { return *IfcDocumentReference_type; } const IfcParse::entity& IfcDocumentReference::Class() { return *IfcDocumentReference_type; } @@ -9579,18 +9579,18 @@ bool IfcElement::hasTag() const { return !data_->getArgument(7)->isNull(); } std::string IfcElement::Tag() const { return *data_->getArgument(7); } void IfcElement::setTag(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -IfcRelFillsElement::list::ptr IfcElement::FillsVoids() const { return data_->getInverse(Type::IfcRelFillsElement, 5)->as(); } -IfcRelConnectsElements::list::ptr IfcElement::ConnectedTo() const { return data_->getInverse(Type::IfcRelConnectsElements, 5)->as(); } -IfcRelInterferesElements::list::ptr IfcElement::IsInterferedByElements() const { return data_->getInverse(Type::IfcRelInterferesElements, 5)->as(); } -IfcRelInterferesElements::list::ptr IfcElement::InterferesElements() const { return data_->getInverse(Type::IfcRelInterferesElements, 4)->as(); } -IfcRelProjectsElement::list::ptr IfcElement::HasProjections() const { return data_->getInverse(Type::IfcRelProjectsElement, 4)->as(); } -IfcRelReferencedInSpatialStructure::list::ptr IfcElement::ReferencedInStructures() const { return data_->getInverse(Type::IfcRelReferencedInSpatialStructure, 4)->as(); } -IfcRelVoidsElement::list::ptr IfcElement::HasOpenings() const { return data_->getInverse(Type::IfcRelVoidsElement, 4)->as(); } -IfcRelConnectsWithRealizingElements::list::ptr IfcElement::IsConnectionRealization() const { return data_->getInverse(Type::IfcRelConnectsWithRealizingElements, 7)->as(); } -IfcRelSpaceBoundary::list::ptr IfcElement::ProvidesBoundaries() const { return data_->getInverse(Type::IfcRelSpaceBoundary, 5)->as(); } -IfcRelConnectsElements::list::ptr IfcElement::ConnectedFrom() const { return data_->getInverse(Type::IfcRelConnectsElements, 6)->as(); } -IfcRelContainedInSpatialStructure::list::ptr IfcElement::ContainedInStructure() const { return data_->getInverse(Type::IfcRelContainedInSpatialStructure, 4)->as(); } -IfcRelCoversBldgElements::list::ptr IfcElement::HasCoverings() const { return data_->getInverse(Type::IfcRelCoversBldgElements, 4)->as(); } +IfcRelFillsElement::list::ptr IfcElement::FillsVoids() const { return data_->getInverse(IfcRelFillsElement_type, 5)->as(); } +IfcRelConnectsElements::list::ptr IfcElement::ConnectedTo() const { return data_->getInverse(IfcRelConnectsElements_type, 5)->as(); } +IfcRelInterferesElements::list::ptr IfcElement::IsInterferedByElements() const { return data_->getInverse(IfcRelInterferesElements_type, 5)->as(); } +IfcRelInterferesElements::list::ptr IfcElement::InterferesElements() const { return data_->getInverse(IfcRelInterferesElements_type, 4)->as(); } +IfcRelProjectsElement::list::ptr IfcElement::HasProjections() const { return data_->getInverse(IfcRelProjectsElement_type, 4)->as(); } +IfcRelReferencedInSpatialStructure::list::ptr IfcElement::ReferencedInStructures() const { return data_->getInverse(IfcRelReferencedInSpatialStructure_type, 4)->as(); } +IfcRelVoidsElement::list::ptr IfcElement::HasOpenings() const { return data_->getInverse(IfcRelVoidsElement_type, 4)->as(); } +IfcRelConnectsWithRealizingElements::list::ptr IfcElement::IsConnectionRealization() const { return data_->getInverse(IfcRelConnectsWithRealizingElements_type, 7)->as(); } +IfcRelSpaceBoundary::list::ptr IfcElement::ProvidesBoundaries() const { return data_->getInverse(IfcRelSpaceBoundary_type, 5)->as(); } +IfcRelConnectsElements::list::ptr IfcElement::ConnectedFrom() const { return data_->getInverse(IfcRelConnectsElements_type, 6)->as(); } +IfcRelContainedInSpatialStructure::list::ptr IfcElement::ContainedInStructure() const { return data_->getInverse(IfcRelContainedInSpatialStructure_type, 4)->as(); } +IfcRelCoversBldgElements::list::ptr IfcElement::HasCoverings() const { return data_->getInverse(IfcRelCoversBldgElements_type, 4)->as(); } const IfcParse::entity& IfcElement::declaration() const { return *IfcElement_type; } const IfcParse::entity& IfcElement::Class() { return *IfcElement_type; } @@ -9864,7 +9864,7 @@ bool IfcExternalReference::hasName() const { return !data_->getArgument(2)->isNu std::string IfcExternalReference::Name() const { return *data_->getArgument(2); } void IfcExternalReference::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -IfcExternalReferenceRelationship::list::ptr IfcExternalReference::ExternalReferenceForResources() const { return data_->getInverse(Type::IfcExternalReferenceRelationship, 2)->as(); } +IfcExternalReferenceRelationship::list::ptr IfcExternalReference::ExternalReferenceForResources() const { return data_->getInverse(IfcExternalReferenceRelationship_type, 2)->as(); } const IfcParse::entity& IfcExternalReference::declaration() const { return *IfcExternalReference_type; } const IfcParse::entity& IfcExternalReference::Class() { return *IfcExternalReference_type; } @@ -9888,7 +9888,7 @@ bool IfcExternalSpatialElement::hasPredefinedType() const { return !data_->getAr IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum IfcExternalSpatialElement::PredefinedType() const { return IfcExternalSpatialElementTypeEnum::FromString(*data_->getArgument(8)); } void IfcExternalSpatialElement::setPredefinedType(IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,IfcExternalSpatialElementTypeEnum::ToString(v)));data_->setArgument(8,attr);} } -IfcRelSpaceBoundary::list::ptr IfcExternalSpatialElement::BoundedBy() const { return data_->getInverse(Type::IfcRelSpaceBoundary, 4)->as(); } +IfcRelSpaceBoundary::list::ptr IfcExternalSpatialElement::BoundedBy() const { return data_->getInverse(IfcRelSpaceBoundary_type, 4)->as(); } const IfcParse::entity& IfcExternalSpatialElement::declaration() const { return *IfcExternalSpatialElement_type; } const IfcParse::entity& IfcExternalSpatialElement::Class() { return *IfcExternalSpatialElement_type; } @@ -9953,7 +9953,7 @@ IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(IfcProfileDef* v1_Swept IfcTemplatedEntityList< IfcFaceBound >::ptr IfcFace::Bounds() const { IfcEntityList::ptr es = *data_->getArgument(0); return es->as(); } void IfcFace::setBounds(IfcTemplatedEntityList< IfcFaceBound >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(0,attr);} } -IfcTextureMap::list::ptr IfcFace::HasTextureMaps() const { return data_->getInverse(Type::IfcTextureMap, 2)->as(); } +IfcTextureMap::list::ptr IfcFace::HasTextureMaps() const { return data_->getInverse(IfcTextureMap_type, 2)->as(); } const IfcParse::entity& IfcFace::declaration() const { return *IfcFace_type; } const IfcParse::entity& IfcFace::Class() { return *IfcFace_type; } @@ -10098,7 +10098,7 @@ IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, IfcOwnerHistory* v // Function implementations for IfcFeatureElementAddition -IfcRelProjectsElement::list::ptr IfcFeatureElementAddition::ProjectsElements() const { return data_->getInverse(Type::IfcRelProjectsElement, 5)->as(); } +IfcRelProjectsElement::list::ptr IfcFeatureElementAddition::ProjectsElements() const { return data_->getInverse(IfcRelProjectsElement_type, 5)->as(); } const IfcParse::entity& IfcFeatureElementAddition::declaration() const { return *IfcFeatureElementAddition_type; } const IfcParse::entity& IfcFeatureElementAddition::Class() { return *IfcFeatureElementAddition_type; } @@ -10107,7 +10107,7 @@ IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_GlobalId, If // Function implementations for IfcFeatureElementSubtraction -IfcRelVoidsElement::list::ptr IfcFeatureElementSubtraction::VoidsElements() const { return data_->getInverse(Type::IfcRelVoidsElement, 5)->as(); } +IfcRelVoidsElement::list::ptr IfcFeatureElementSubtraction::VoidsElements() const { return data_->getInverse(IfcRelVoidsElement_type, 5)->as(); } const IfcParse::entity& IfcFeatureElementSubtraction::declaration() const { return *IfcFeatureElementSubtraction_type; } const IfcParse::entity& IfcFeatureElementSubtraction::Class() { return *IfcFeatureElementSubtraction_type; } @@ -10477,8 +10477,8 @@ bool IfcGeometricRepresentationContext::hasTrueNorth() const { return !data_->ge IfcDirection* IfcGeometricRepresentationContext::TrueNorth() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void IfcGeometricRepresentationContext::setTrueNorth(IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -IfcGeometricRepresentationSubContext::list::ptr IfcGeometricRepresentationContext::HasSubContexts() const { return data_->getInverse(Type::IfcGeometricRepresentationSubContext, 6)->as(); } -IfcCoordinateOperation::list::ptr IfcGeometricRepresentationContext::HasCoordinateOperation() const { return data_->getInverse(Type::IfcCoordinateOperation, 0)->as(); } +IfcGeometricRepresentationSubContext::list::ptr IfcGeometricRepresentationContext::HasSubContexts() const { return data_->getInverse(IfcGeometricRepresentationSubContext_type, 6)->as(); } +IfcCoordinateOperation::list::ptr IfcGeometricRepresentationContext::HasCoordinateOperation() const { return data_->getInverse(IfcCoordinateOperation_type, 0)->as(); } const IfcParse::entity& IfcGeometricRepresentationContext::declaration() const { return *IfcGeometricRepresentationContext_type; } const IfcParse::entity& IfcGeometricRepresentationContext::Class() { return *IfcGeometricRepresentationContext_type; } @@ -10533,7 +10533,7 @@ bool IfcGrid::hasPredefinedType() const { return !data_->getArgument(10)->isNull IfcGridTypeEnum::IfcGridTypeEnum IfcGrid::PredefinedType() const { return IfcGridTypeEnum::FromString(*data_->getArgument(10)); } void IfcGrid::setPredefinedType(IfcGridTypeEnum::IfcGridTypeEnum v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,IfcGridTypeEnum::ToString(v)));data_->setArgument(10,attr);} } -IfcRelContainedInSpatialStructure::list::ptr IfcGrid::ContainedInStructure() const { return data_->getInverse(Type::IfcRelContainedInSpatialStructure, 4)->as(); } +IfcRelContainedInSpatialStructure::list::ptr IfcGrid::ContainedInStructure() const { return data_->getInverse(IfcRelContainedInSpatialStructure_type, 4)->as(); } const IfcParse::entity& IfcGrid::declaration() const { return *IfcGrid_type; } const IfcParse::entity& IfcGrid::Class() { return *IfcGrid_type; } @@ -10549,10 +10549,10 @@ void IfcGridAxis::setAxisCurve(IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr bool IfcGridAxis::SameSense() const { return *data_->getArgument(2); } void IfcGridAxis::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -IfcGrid::list::ptr IfcGridAxis::PartOfW() const { return data_->getInverse(Type::IfcGrid, 9)->as(); } -IfcGrid::list::ptr IfcGridAxis::PartOfV() const { return data_->getInverse(Type::IfcGrid, 8)->as(); } -IfcGrid::list::ptr IfcGridAxis::PartOfU() const { return data_->getInverse(Type::IfcGrid, 7)->as(); } -IfcVirtualGridIntersection::list::ptr IfcGridAxis::HasIntersections() const { return data_->getInverse(Type::IfcVirtualGridIntersection, 0)->as(); } +IfcGrid::list::ptr IfcGridAxis::PartOfW() const { return data_->getInverse(IfcGrid_type, 9)->as(); } +IfcGrid::list::ptr IfcGridAxis::PartOfV() const { return data_->getInverse(IfcGrid_type, 8)->as(); } +IfcGrid::list::ptr IfcGridAxis::PartOfU() const { return data_->getInverse(IfcGrid_type, 7)->as(); } +IfcVirtualGridIntersection::list::ptr IfcGridAxis::HasIntersections() const { return data_->getInverse(IfcVirtualGridIntersection_type, 0)->as(); } const IfcParse::entity& IfcGridAxis::declaration() const { return *IfcGridAxis_type; } const IfcParse::entity& IfcGridAxis::Class() { return *IfcGridAxis_type; } @@ -10574,7 +10574,7 @@ IfcGridPlacement::IfcGridPlacement(IfcVirtualGridIntersection* v1_PlacementLocat // Function implementations for IfcGroup -IfcRelAssignsToGroup::list::ptr IfcGroup::IsGroupedBy() const { return data_->getInverse(Type::IfcRelAssignsToGroup, 6)->as(); } +IfcRelAssignsToGroup::list::ptr IfcGroup::IsGroupedBy() const { return data_->getInverse(IfcRelAssignsToGroup_type, 6)->as(); } const IfcParse::entity& IfcGroup::declaration() const { return *IfcGroup_type; } const IfcParse::entity& IfcGroup::Class() { return *IfcGroup_type; } @@ -10913,8 +10913,8 @@ bool IfcLibraryInformation::hasDescription() const { return !data_->getArgument( std::string IfcLibraryInformation::Description() const { return *data_->getArgument(5); } void IfcLibraryInformation::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -IfcRelAssociatesLibrary::list::ptr IfcLibraryInformation::LibraryInfoForObjects() const { return data_->getInverse(Type::IfcRelAssociatesLibrary, 5)->as(); } -IfcLibraryReference::list::ptr IfcLibraryInformation::HasLibraryReferences() const { return data_->getInverse(Type::IfcLibraryReference, 5)->as(); } +IfcRelAssociatesLibrary::list::ptr IfcLibraryInformation::LibraryInfoForObjects() const { return data_->getInverse(IfcRelAssociatesLibrary_type, 5)->as(); } +IfcLibraryReference::list::ptr IfcLibraryInformation::HasLibraryReferences() const { return data_->getInverse(IfcLibraryReference_type, 5)->as(); } const IfcParse::entity& IfcLibraryInformation::declaration() const { return *IfcLibraryInformation_type; } const IfcParse::entity& IfcLibraryInformation::Class() { return *IfcLibraryInformation_type; } @@ -10932,7 +10932,7 @@ bool IfcLibraryReference::hasReferencedLibrary() const { return !data_->getArgum IfcLibraryInformation* IfcLibraryReference::ReferencedLibrary() const { return (IfcLibraryInformation*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(5))); } void IfcLibraryReference::setReferencedLibrary(IfcLibraryInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -IfcRelAssociatesLibrary::list::ptr IfcLibraryReference::LibraryRefForObjects() const { return data_->getInverse(Type::IfcRelAssociatesLibrary, 5)->as(); } +IfcRelAssociatesLibrary::list::ptr IfcLibraryReference::LibraryRefForObjects() const { return data_->getInverse(IfcRelAssociatesLibrary_type, 5)->as(); } const IfcParse::entity& IfcLibraryReference::declaration() const { return *IfcLibraryReference_type; } const IfcParse::entity& IfcLibraryReference::Class() { return *IfcLibraryReference_type; } @@ -11167,9 +11167,9 @@ bool IfcMaterial::hasCategory() const { return !data_->getArgument(2)->isNull(); std::string IfcMaterial::Category() const { return *data_->getArgument(2); } void IfcMaterial::setCategory(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -IfcMaterialDefinitionRepresentation::list::ptr IfcMaterial::HasRepresentation() const { return data_->getInverse(Type::IfcMaterialDefinitionRepresentation, 3)->as(); } -IfcMaterialRelationship::list::ptr IfcMaterial::IsRelatedWith() const { return data_->getInverse(Type::IfcMaterialRelationship, 3)->as(); } -IfcMaterialRelationship::list::ptr IfcMaterial::RelatesTo() const { return data_->getInverse(Type::IfcMaterialRelationship, 2)->as(); } +IfcMaterialDefinitionRepresentation::list::ptr IfcMaterial::HasRepresentation() const { return data_->getInverse(IfcMaterialDefinitionRepresentation_type, 3)->as(); } +IfcMaterialRelationship::list::ptr IfcMaterial::IsRelatedWith() const { return data_->getInverse(IfcMaterialRelationship_type, 3)->as(); } +IfcMaterialRelationship::list::ptr IfcMaterial::RelatesTo() const { return data_->getInverse(IfcMaterialRelationship_type, 2)->as(); } const IfcParse::entity& IfcMaterial::declaration() const { return *IfcMaterial_type; } const IfcParse::entity& IfcMaterial::Class() { return *IfcMaterial_type; } @@ -11204,7 +11204,7 @@ bool IfcMaterialConstituent::hasCategory() const { return !data_->getArgument(4) std::string IfcMaterialConstituent::Category() const { return *data_->getArgument(4); } void IfcMaterialConstituent::setCategory(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -IfcMaterialConstituentSet::list::ptr IfcMaterialConstituent::ToMaterialConstituentSet() const { return data_->getInverse(Type::IfcMaterialConstituentSet, 2)->as(); } +IfcMaterialConstituentSet::list::ptr IfcMaterialConstituent::ToMaterialConstituentSet() const { return data_->getInverse(IfcMaterialConstituentSet_type, 2)->as(); } const IfcParse::entity& IfcMaterialConstituent::declaration() const { return *IfcMaterialConstituent_type; } const IfcParse::entity& IfcMaterialConstituent::Class() { return *IfcMaterialConstituent_type; } @@ -11230,9 +11230,9 @@ IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional< std::strin // Function implementations for IfcMaterialDefinition -IfcRelAssociatesMaterial::list::ptr IfcMaterialDefinition::AssociatedTo() const { return data_->getInverse(Type::IfcRelAssociatesMaterial, 5)->as(); } -IfcExternalReferenceRelationship::list::ptr IfcMaterialDefinition::HasExternalReferences() const { return data_->getInverse(Type::IfcExternalReferenceRelationship, 3)->as(); } -IfcMaterialProperties::list::ptr IfcMaterialDefinition::HasProperties() const { return data_->getInverse(Type::IfcMaterialProperties, 3)->as(); } +IfcRelAssociatesMaterial::list::ptr IfcMaterialDefinition::AssociatedTo() const { return data_->getInverse(IfcRelAssociatesMaterial_type, 5)->as(); } +IfcExternalReferenceRelationship::list::ptr IfcMaterialDefinition::HasExternalReferences() const { return data_->getInverse(IfcExternalReferenceRelationship_type, 3)->as(); } +IfcMaterialProperties::list::ptr IfcMaterialDefinition::HasProperties() const { return data_->getInverse(IfcMaterialProperties_type, 3)->as(); } const IfcParse::entity& IfcMaterialDefinition::declaration() const { return *IfcMaterialDefinition_type; } const IfcParse::entity& IfcMaterialDefinition::Class() { return *IfcMaterialDefinition_type; } @@ -11271,7 +11271,7 @@ bool IfcMaterialLayer::hasPriority() const { return !data_->getArgument(6)->isNu int IfcMaterialLayer::Priority() const { return *data_->getArgument(6); } void IfcMaterialLayer::setPriority(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -IfcMaterialLayerSet::list::ptr IfcMaterialLayer::ToMaterialLayerSet() const { return data_->getInverse(Type::IfcMaterialLayerSet, 0)->as(); } +IfcMaterialLayerSet::list::ptr IfcMaterialLayer::ToMaterialLayerSet() const { return data_->getInverse(IfcMaterialLayerSet_type, 0)->as(); } const IfcParse::entity& IfcMaterialLayer::declaration() const { return *IfcMaterialLayer_type; } const IfcParse::entity& IfcMaterialLayer::Class() { return *IfcMaterialLayer_type; } @@ -11354,7 +11354,7 @@ bool IfcMaterialProfile::hasCategory() const { return !data_->getArgument(5)->is std::string IfcMaterialProfile::Category() const { return *data_->getArgument(5); } void IfcMaterialProfile::setCategory(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -IfcMaterialProfileSet::list::ptr IfcMaterialProfile::ToMaterialProfileSet() const { return data_->getInverse(Type::IfcMaterialProfileSet, 2)->as(); } +IfcMaterialProfileSet::list::ptr IfcMaterialProfile::ToMaterialProfileSet() const { return data_->getInverse(IfcMaterialProfileSet_type, 2)->as(); } const IfcParse::entity& IfcMaterialProfile::declaration() const { return *IfcMaterialProfile_type; } const IfcParse::entity& IfcMaterialProfile::Class() { return *IfcMaterialProfile_type; } @@ -11446,7 +11446,7 @@ IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< std::string > // Function implementations for IfcMaterialUsageDefinition -IfcRelAssociatesMaterial::list::ptr IfcMaterialUsageDefinition::AssociatedTo() const { return data_->getInverse(Type::IfcRelAssociatesMaterial, 5)->as(); } +IfcRelAssociatesMaterial::list::ptr IfcMaterialUsageDefinition::AssociatedTo() const { return data_->getInverse(IfcRelAssociatesMaterial_type, 5)->as(); } const IfcParse::entity& IfcMaterialUsageDefinition::declaration() const { return *IfcMaterialUsageDefinition_type; } const IfcParse::entity& IfcMaterialUsageDefinition::Class() { return *IfcMaterialUsageDefinition_type; } @@ -11623,10 +11623,10 @@ bool IfcObject::hasObjectType() const { return !data_->getArgument(4)->isNull(); std::string IfcObject::ObjectType() const { return *data_->getArgument(4); } void IfcObject::setObjectType(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -IfcRelDefinesByObject::list::ptr IfcObject::IsDeclaredBy() const { return data_->getInverse(Type::IfcRelDefinesByObject, 4)->as(); } -IfcRelDefinesByObject::list::ptr IfcObject::Declares() const { return data_->getInverse(Type::IfcRelDefinesByObject, 5)->as(); } -IfcRelDefinesByType::list::ptr IfcObject::IsTypedBy() const { return data_->getInverse(Type::IfcRelDefinesByType, 4)->as(); } -IfcRelDefinesByProperties::list::ptr IfcObject::IsDefinedBy() const { return data_->getInverse(Type::IfcRelDefinesByProperties, 4)->as(); } +IfcRelDefinesByObject::list::ptr IfcObject::IsDeclaredBy() const { return data_->getInverse(IfcRelDefinesByObject_type, 4)->as(); } +IfcRelDefinesByObject::list::ptr IfcObject::Declares() const { return data_->getInverse(IfcRelDefinesByObject_type, 5)->as(); } +IfcRelDefinesByType::list::ptr IfcObject::IsTypedBy() const { return data_->getInverse(IfcRelDefinesByType_type, 4)->as(); } +IfcRelDefinesByProperties::list::ptr IfcObject::IsDefinedBy() const { return data_->getInverse(IfcRelDefinesByProperties_type, 4)->as(); } const IfcParse::entity& IfcObject::declaration() const { return *IfcObject_type; } const IfcParse::entity& IfcObject::Class() { return *IfcObject_type; } @@ -11635,13 +11635,13 @@ IfcObject::IfcObject(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, // Function implementations for IfcObjectDefinition -IfcRelAssigns::list::ptr IfcObjectDefinition::HasAssignments() const { return data_->getInverse(Type::IfcRelAssigns, 4)->as(); } -IfcRelNests::list::ptr IfcObjectDefinition::Nests() const { return data_->getInverse(Type::IfcRelNests, 5)->as(); } -IfcRelNests::list::ptr IfcObjectDefinition::IsNestedBy() const { return data_->getInverse(Type::IfcRelNests, 4)->as(); } -IfcRelDeclares::list::ptr IfcObjectDefinition::HasContext() const { return data_->getInverse(Type::IfcRelDeclares, 5)->as(); } -IfcRelAggregates::list::ptr IfcObjectDefinition::IsDecomposedBy() const { return data_->getInverse(Type::IfcRelAggregates, 4)->as(); } -IfcRelAggregates::list::ptr IfcObjectDefinition::Decomposes() const { return data_->getInverse(Type::IfcRelAggregates, 5)->as(); } -IfcRelAssociates::list::ptr IfcObjectDefinition::HasAssociations() const { return data_->getInverse(Type::IfcRelAssociates, 4)->as(); } +IfcRelAssigns::list::ptr IfcObjectDefinition::HasAssignments() const { return data_->getInverse(IfcRelAssigns_type, 4)->as(); } +IfcRelNests::list::ptr IfcObjectDefinition::Nests() const { return data_->getInverse(IfcRelNests_type, 5)->as(); } +IfcRelNests::list::ptr IfcObjectDefinition::IsNestedBy() const { return data_->getInverse(IfcRelNests_type, 4)->as(); } +IfcRelDeclares::list::ptr IfcObjectDefinition::HasContext() const { return data_->getInverse(IfcRelDeclares_type, 5)->as(); } +IfcRelAggregates::list::ptr IfcObjectDefinition::IsDecomposedBy() const { return data_->getInverse(IfcRelAggregates_type, 4)->as(); } +IfcRelAggregates::list::ptr IfcObjectDefinition::Decomposes() const { return data_->getInverse(IfcRelAggregates_type, 5)->as(); } +IfcRelAssociates::list::ptr IfcObjectDefinition::HasAssociations() const { return data_->getInverse(IfcRelAssociates_type, 4)->as(); } const IfcParse::entity& IfcObjectDefinition::declaration() const { return *IfcObjectDefinition_type; } const IfcParse::entity& IfcObjectDefinition::Class() { return *IfcObjectDefinition_type; } @@ -11650,8 +11650,8 @@ IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, IfcOwnerHistor // Function implementations for IfcObjectPlacement -IfcProduct::list::ptr IfcObjectPlacement::PlacesObject() const { return data_->getInverse(Type::IfcProduct, 5)->as(); } -IfcLocalPlacement::list::ptr IfcObjectPlacement::ReferencedByPlacements() const { return data_->getInverse(Type::IfcLocalPlacement, 0)->as(); } +IfcProduct::list::ptr IfcObjectPlacement::PlacesObject() const { return data_->getInverse(IfcProduct_type, 5)->as(); } +IfcLocalPlacement::list::ptr IfcObjectPlacement::ReferencedByPlacements() const { return data_->getInverse(IfcLocalPlacement_type, 0)->as(); } const IfcParse::entity& IfcObjectPlacement::declaration() const { return *IfcObjectPlacement_type; } const IfcParse::entity& IfcObjectPlacement::Class() { return *IfcObjectPlacement_type; } @@ -11731,7 +11731,7 @@ bool IfcOpeningElement::hasPredefinedType() const { return !data_->getArgument(8 IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum IfcOpeningElement::PredefinedType() const { return IfcOpeningElementTypeEnum::FromString(*data_->getArgument(8)); } void IfcOpeningElement::setPredefinedType(IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,IfcOpeningElementTypeEnum::ToString(v)));data_->setArgument(8,attr);} } -IfcRelFillsElement::list::ptr IfcOpeningElement::HasFillings() const { return data_->getInverse(Type::IfcRelFillsElement, 4)->as(); } +IfcRelFillsElement::list::ptr IfcOpeningElement::HasFillings() const { return data_->getInverse(IfcRelFillsElement_type, 4)->as(); } const IfcParse::entity& IfcOpeningElement::declaration() const { return *IfcOpeningElement_type; } const IfcParse::entity& IfcOpeningElement::Class() { return *IfcOpeningElement_type; } @@ -11762,9 +11762,9 @@ bool IfcOrganization::hasAddresses() const { return !data_->getArgument(4)->isNu IfcTemplatedEntityList< IfcAddress >::ptr IfcOrganization::Addresses() const { IfcEntityList::ptr es = *data_->getArgument(4); return es->as(); } void IfcOrganization::setAddresses(IfcTemplatedEntityList< IfcAddress >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(4,attr);} } -IfcOrganizationRelationship::list::ptr IfcOrganization::IsRelatedBy() const { return data_->getInverse(Type::IfcOrganizationRelationship, 3)->as(); } -IfcOrganizationRelationship::list::ptr IfcOrganization::Relates() const { return data_->getInverse(Type::IfcOrganizationRelationship, 2)->as(); } -IfcPersonAndOrganization::list::ptr IfcOrganization::Engages() const { return data_->getInverse(Type::IfcPersonAndOrganization, 1)->as(); } +IfcOrganizationRelationship::list::ptr IfcOrganization::IsRelatedBy() const { return data_->getInverse(IfcOrganizationRelationship_type, 3)->as(); } +IfcOrganizationRelationship::list::ptr IfcOrganization::Relates() const { return data_->getInverse(IfcOrganizationRelationship_type, 2)->as(); } +IfcPersonAndOrganization::list::ptr IfcOrganization::Engages() const { return data_->getInverse(IfcPersonAndOrganization_type, 1)->as(); } const IfcParse::entity& IfcOrganization::declaration() const { return *IfcOrganization_type; } const IfcParse::entity& IfcOrganization::Class() { return *IfcOrganization_type; } @@ -11963,7 +11963,7 @@ bool IfcPerson::hasAddresses() const { return !data_->getArgument(7)->isNull(); IfcTemplatedEntityList< IfcAddress >::ptr IfcPerson::Addresses() const { IfcEntityList::ptr es = *data_->getArgument(7); return es->as(); } void IfcPerson::setAddresses(IfcTemplatedEntityList< IfcAddress >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(7,attr);} } -IfcPersonAndOrganization::list::ptr IfcPerson::EngagedIn() const { return data_->getInverse(Type::IfcPersonAndOrganization, 0)->as(); } +IfcPersonAndOrganization::list::ptr IfcPerson::EngagedIn() const { return data_->getInverse(IfcPersonAndOrganization_type, 0)->as(); } const IfcParse::entity& IfcPerson::declaration() const { return *IfcPerson_type; } const IfcParse::entity& IfcPerson::Class() { return *IfcPerson_type; } @@ -12010,8 +12010,8 @@ bool IfcPhysicalQuantity::hasDescription() const { return !data_->getArgument(1) std::string IfcPhysicalQuantity::Description() const { return *data_->getArgument(1); } void IfcPhysicalQuantity::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -IfcExternalReferenceRelationship::list::ptr IfcPhysicalQuantity::HasExternalReferences() const { return data_->getInverse(Type::IfcExternalReferenceRelationship, 3)->as(); } -IfcPhysicalComplexQuantity::list::ptr IfcPhysicalQuantity::PartOfComplex() const { return data_->getInverse(Type::IfcPhysicalComplexQuantity, 2)->as(); } +IfcExternalReferenceRelationship::list::ptr IfcPhysicalQuantity::HasExternalReferences() const { return data_->getInverse(IfcExternalReferenceRelationship_type, 3)->as(); } +IfcPhysicalComplexQuantity::list::ptr IfcPhysicalQuantity::PartOfComplex() const { return data_->getInverse(IfcPhysicalComplexQuantity_type, 2)->as(); } const IfcParse::entity& IfcPhysicalQuantity::declaration() const { return *IfcPhysicalQuantity_type; } const IfcParse::entity& IfcPhysicalQuantity::Class() { return *IfcPhysicalQuantity_type; } @@ -12248,9 +12248,9 @@ IfcPolyline::IfcPolyline(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v1_Poi // Function implementations for IfcPort -IfcRelConnectsPortToElement::list::ptr IfcPort::ContainedIn() const { return data_->getInverse(Type::IfcRelConnectsPortToElement, 4)->as(); } -IfcRelConnectsPorts::list::ptr IfcPort::ConnectedFrom() const { return data_->getInverse(Type::IfcRelConnectsPorts, 5)->as(); } -IfcRelConnectsPorts::list::ptr IfcPort::ConnectedTo() const { return data_->getInverse(Type::IfcRelConnectsPorts, 4)->as(); } +IfcRelConnectsPortToElement::list::ptr IfcPort::ContainedIn() const { return data_->getInverse(IfcRelConnectsPortToElement_type, 4)->as(); } +IfcRelConnectsPorts::list::ptr IfcPort::ConnectedFrom() const { return data_->getInverse(IfcRelConnectsPorts_type, 5)->as(); } +IfcRelConnectsPorts::list::ptr IfcPort::ConnectedTo() const { return data_->getInverse(IfcRelConnectsPorts_type, 4)->as(); } const IfcParse::entity& IfcPort::declaration() const { return *IfcPort_type; } const IfcParse::entity& IfcPort::Class() { return *IfcPort_type; } @@ -12428,9 +12428,9 @@ bool IfcProcess::hasLongDescription() const { return !data_->getArgument(6)->isN std::string IfcProcess::LongDescription() const { return *data_->getArgument(6); } void IfcProcess::setLongDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -IfcRelSequence::list::ptr IfcProcess::IsPredecessorTo() const { return data_->getInverse(Type::IfcRelSequence, 4)->as(); } -IfcRelSequence::list::ptr IfcProcess::IsSuccessorFrom() const { return data_->getInverse(Type::IfcRelSequence, 5)->as(); } -IfcRelAssignsToProcess::list::ptr IfcProcess::OperatesOn() const { return data_->getInverse(Type::IfcRelAssignsToProcess, 6)->as(); } +IfcRelSequence::list::ptr IfcProcess::IsPredecessorTo() const { return data_->getInverse(IfcRelSequence_type, 4)->as(); } +IfcRelSequence::list::ptr IfcProcess::IsSuccessorFrom() const { return data_->getInverse(IfcRelSequence_type, 5)->as(); } +IfcRelAssignsToProcess::list::ptr IfcProcess::OperatesOn() const { return data_->getInverse(IfcRelAssignsToProcess_type, 6)->as(); } const IfcParse::entity& IfcProcess::declaration() const { return *IfcProcess_type; } const IfcParse::entity& IfcProcess::Class() { return *IfcProcess_type; } @@ -12445,7 +12445,7 @@ bool IfcProduct::hasRepresentation() const { return !data_->getArgument(6)->isNu IfcProductRepresentation* IfcProduct::Representation() const { return (IfcProductRepresentation*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(6))); } void IfcProduct::setRepresentation(IfcProductRepresentation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -IfcRelAssignsToProduct::list::ptr IfcProduct::ReferencedBy() const { return data_->getInverse(Type::IfcRelAssignsToProduct, 6)->as(); } +IfcRelAssignsToProduct::list::ptr IfcProduct::ReferencedBy() const { return data_->getInverse(IfcRelAssignsToProduct_type, 6)->as(); } const IfcParse::entity& IfcProduct::declaration() const { return *IfcProduct_type; } const IfcParse::entity& IfcProduct::Class() { return *IfcProduct_type; } @@ -12454,8 +12454,8 @@ IfcProduct::IfcProduct(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory // Function implementations for IfcProductDefinitionShape -IfcProduct::list::ptr IfcProductDefinitionShape::ShapeOfProduct() const { return data_->getInverse(Type::IfcProduct, 6)->as(); } -IfcShapeAspect::list::ptr IfcProductDefinitionShape::HasShapeAspects() const { return data_->getInverse(Type::IfcShapeAspect, 4)->as(); } +IfcProduct::list::ptr IfcProductDefinitionShape::ShapeOfProduct() const { return data_->getInverse(IfcProduct_type, 6)->as(); } +IfcShapeAspect::list::ptr IfcProductDefinitionShape::HasShapeAspects() const { return data_->getInverse(IfcShapeAspect_type, 4)->as(); } const IfcParse::entity& IfcProductDefinitionShape::declaration() const { return *IfcProductDefinitionShape_type; } const IfcParse::entity& IfcProductDefinitionShape::Class() { return *IfcProductDefinitionShape_type; } @@ -12485,8 +12485,8 @@ bool IfcProfileDef::hasProfileName() const { return !data_->getArgument(1)->isNu std::string IfcProfileDef::ProfileName() const { return *data_->getArgument(1); } void IfcProfileDef::setProfileName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -IfcExternalReferenceRelationship::list::ptr IfcProfileDef::HasExternalReference() const { return data_->getInverse(Type::IfcExternalReferenceRelationship, 3)->as(); } -IfcProfileProperties::list::ptr IfcProfileDef::HasProperties() const { return data_->getInverse(Type::IfcProfileProperties, 3)->as(); } +IfcExternalReferenceRelationship::list::ptr IfcProfileDef::HasExternalReference() const { return data_->getInverse(IfcExternalReferenceRelationship_type, 3)->as(); } +IfcProfileProperties::list::ptr IfcProfileDef::HasProperties() const { return data_->getInverse(IfcProfileProperties_type, 3)->as(); } const IfcParse::entity& IfcProfileDef::declaration() const { return *IfcProfileDef_type; } const IfcParse::entity& IfcProfileDef::Class() { return *IfcProfileDef_type; } @@ -12571,12 +12571,12 @@ bool IfcProperty::hasDescription() const { return !data_->getArgument(1)->isNull std::string IfcProperty::Description() const { return *data_->getArgument(1); } void IfcProperty::setDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -IfcPropertySet::list::ptr IfcProperty::PartOfPset() const { return data_->getInverse(Type::IfcPropertySet, 4)->as(); } -IfcPropertyDependencyRelationship::list::ptr IfcProperty::PropertyForDependance() const { return data_->getInverse(Type::IfcPropertyDependencyRelationship, 2)->as(); } -IfcPropertyDependencyRelationship::list::ptr IfcProperty::PropertyDependsOn() const { return data_->getInverse(Type::IfcPropertyDependencyRelationship, 3)->as(); } -IfcComplexProperty::list::ptr IfcProperty::PartOfComplex() const { return data_->getInverse(Type::IfcComplexProperty, 3)->as(); } -IfcResourceConstraintRelationship::list::ptr IfcProperty::HasConstraints() const { return data_->getInverse(Type::IfcResourceConstraintRelationship, 3)->as(); } -IfcResourceApprovalRelationship::list::ptr IfcProperty::HasApprovals() const { return data_->getInverse(Type::IfcResourceApprovalRelationship, 2)->as(); } +IfcPropertySet::list::ptr IfcProperty::PartOfPset() const { return data_->getInverse(IfcPropertySet_type, 4)->as(); } +IfcPropertyDependencyRelationship::list::ptr IfcProperty::PropertyForDependance() const { return data_->getInverse(IfcPropertyDependencyRelationship_type, 2)->as(); } +IfcPropertyDependencyRelationship::list::ptr IfcProperty::PropertyDependsOn() const { return data_->getInverse(IfcPropertyDependencyRelationship_type, 3)->as(); } +IfcComplexProperty::list::ptr IfcProperty::PartOfComplex() const { return data_->getInverse(IfcComplexProperty_type, 3)->as(); } +IfcResourceConstraintRelationship::list::ptr IfcProperty::HasConstraints() const { return data_->getInverse(IfcResourceConstraintRelationship_type, 3)->as(); } +IfcResourceApprovalRelationship::list::ptr IfcProperty::HasApprovals() const { return data_->getInverse(IfcResourceApprovalRelationship_type, 2)->as(); } const IfcParse::entity& IfcProperty::declaration() const { return *IfcProperty_type; } const IfcParse::entity& IfcProperty::Class() { return *IfcProperty_type; } @@ -12585,7 +12585,7 @@ IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std::string > v2_ // Function implementations for IfcPropertyAbstraction -IfcExternalReferenceRelationship::list::ptr IfcPropertyAbstraction::HasExternalReferences() const { return data_->getInverse(Type::IfcExternalReferenceRelationship, 3)->as(); } +IfcExternalReferenceRelationship::list::ptr IfcPropertyAbstraction::HasExternalReferences() const { return data_->getInverse(IfcExternalReferenceRelationship_type, 3)->as(); } const IfcParse::entity& IfcPropertyAbstraction::declaration() const { return *IfcPropertyAbstraction_type; } const IfcParse::entity& IfcPropertyAbstraction::Class() { return *IfcPropertyAbstraction_type; } @@ -12614,8 +12614,8 @@ IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name, boost::opt // Function implementations for IfcPropertyDefinition -IfcRelDeclares::list::ptr IfcPropertyDefinition::HasContext() const { return data_->getInverse(Type::IfcRelDeclares, 5)->as(); } -IfcRelAssociates::list::ptr IfcPropertyDefinition::HasAssociations() const { return data_->getInverse(Type::IfcRelAssociates, 4)->as(); } +IfcRelDeclares::list::ptr IfcPropertyDefinition::HasContext() const { return data_->getInverse(IfcRelDeclares_type, 5)->as(); } +IfcRelAssociates::list::ptr IfcPropertyDefinition::HasAssociations() const { return data_->getInverse(IfcRelAssociates_type, 4)->as(); } const IfcParse::entity& IfcPropertyDefinition::declaration() const { return *IfcPropertyDefinition_type; } const IfcParse::entity& IfcPropertyDefinition::Class() { return *IfcPropertyDefinition_type; } @@ -12706,9 +12706,9 @@ IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, IfcOwnerHistory* v2_Owne // Function implementations for IfcPropertySetDefinition -IfcTypeObject::list::ptr IfcPropertySetDefinition::DefinesType() const { return data_->getInverse(Type::IfcTypeObject, 5)->as(); } -IfcRelDefinesByTemplate::list::ptr IfcPropertySetDefinition::IsDefinedBy() const { return data_->getInverse(Type::IfcRelDefinesByTemplate, 4)->as(); } -IfcRelDefinesByProperties::list::ptr IfcPropertySetDefinition::DefinesOccurrence() const { return data_->getInverse(Type::IfcRelDefinesByProperties, 5)->as(); } +IfcTypeObject::list::ptr IfcPropertySetDefinition::DefinesType() const { return data_->getInverse(IfcTypeObject_type, 5)->as(); } +IfcRelDefinesByTemplate::list::ptr IfcPropertySetDefinition::IsDefinedBy() const { return data_->getInverse(IfcRelDefinesByTemplate_type, 4)->as(); } +IfcRelDefinesByProperties::list::ptr IfcPropertySetDefinition::DefinesOccurrence() const { return data_->getInverse(IfcRelDefinesByProperties_type, 5)->as(); } const IfcParse::entity& IfcPropertySetDefinition::declaration() const { return *IfcPropertySetDefinition_type; } const IfcParse::entity& IfcPropertySetDefinition::Class() { return *IfcPropertySetDefinition_type; } @@ -12725,7 +12725,7 @@ void IfcPropertySetTemplate::setApplicableEntity(std::string v) { {IfcWrite::Ifc IfcTemplatedEntityList< IfcPropertyTemplate >::ptr IfcPropertySetTemplate::HasPropertyTemplates() const { IfcEntityList::ptr es = *data_->getArgument(6); return es->as(); } void IfcPropertySetTemplate::setHasPropertyTemplates(IfcTemplatedEntityList< IfcPropertyTemplate >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(6,attr);} } -IfcRelDefinesByTemplate::list::ptr IfcPropertySetTemplate::Defines() const { return data_->getInverse(Type::IfcRelDefinesByTemplate, 5)->as(); } +IfcRelDefinesByTemplate::list::ptr IfcPropertySetTemplate::Defines() const { return data_->getInverse(IfcRelDefinesByTemplate_type, 5)->as(); } const IfcParse::entity& IfcPropertySetTemplate::declaration() const { return *IfcPropertySetTemplate_type; } const IfcParse::entity& IfcPropertySetTemplate::Class() { return *IfcPropertySetTemplate_type; } @@ -12774,8 +12774,8 @@ IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optiona // Function implementations for IfcPropertyTemplate -IfcComplexPropertyTemplate::list::ptr IfcPropertyTemplate::PartOfComplexTemplate() const { return data_->getInverse(Type::IfcComplexPropertyTemplate, 6)->as(); } -IfcPropertySetTemplate::list::ptr IfcPropertyTemplate::PartOfPsetTemplate() const { return data_->getInverse(Type::IfcPropertySetTemplate, 6)->as(); } +IfcComplexPropertyTemplate::list::ptr IfcPropertyTemplate::PartOfComplexTemplate() const { return data_->getInverse(IfcComplexPropertyTemplate_type, 6)->as(); } +IfcPropertySetTemplate::list::ptr IfcPropertyTemplate::PartOfPsetTemplate() const { return data_->getInverse(IfcPropertySetTemplate_type, 6)->as(); } const IfcParse::entity& IfcPropertyTemplate::declaration() const { return *IfcPropertyTemplate_type; } const IfcParse::entity& IfcPropertyTemplate::Class() { return *IfcPropertyTemplate_type; } @@ -13895,7 +13895,7 @@ bool IfcRelSpaceBoundary1stLevel::hasParentBoundary() const { return !data_->get IfcRelSpaceBoundary1stLevel* IfcRelSpaceBoundary1stLevel::ParentBoundary() const { return (IfcRelSpaceBoundary1stLevel*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(9))); } void IfcRelSpaceBoundary1stLevel::setParentBoundary(IfcRelSpaceBoundary1stLevel* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -IfcRelSpaceBoundary1stLevel::list::ptr IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return data_->getInverse(Type::IfcRelSpaceBoundary1stLevel, 9)->as(); } +IfcRelSpaceBoundary1stLevel::list::ptr IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return data_->getInverse(IfcRelSpaceBoundary1stLevel_type, 9)->as(); } const IfcParse::entity& IfcRelSpaceBoundary1stLevel::declaration() const { return *IfcRelSpaceBoundary1stLevel_type; } const IfcParse::entity& IfcRelSpaceBoundary1stLevel::Class() { return *IfcRelSpaceBoundary1stLevel_type; } @@ -13907,7 +13907,7 @@ bool IfcRelSpaceBoundary2ndLevel::hasCorrespondingBoundary() const { return !dat IfcRelSpaceBoundary2ndLevel* IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { return (IfcRelSpaceBoundary2ndLevel*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(10))); } void IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(IfcRelSpaceBoundary2ndLevel* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -IfcRelSpaceBoundary2ndLevel::list::ptr IfcRelSpaceBoundary2ndLevel::Corresponds() const { return data_->getInverse(Type::IfcRelSpaceBoundary2ndLevel, 10)->as(); } +IfcRelSpaceBoundary2ndLevel::list::ptr IfcRelSpaceBoundary2ndLevel::Corresponds() const { return data_->getInverse(IfcRelSpaceBoundary2ndLevel_type, 10)->as(); } const IfcParse::entity& IfcRelSpaceBoundary2ndLevel::declaration() const { return *IfcRelSpaceBoundary2ndLevel_type; } const IfcParse::entity& IfcRelSpaceBoundary2ndLevel::Class() { return *IfcRelSpaceBoundary2ndLevel_type; } @@ -13956,9 +13956,9 @@ void IfcRepresentation::setRepresentationType(std::string v) { {IfcWrite::IfcWri IfcTemplatedEntityList< IfcRepresentationItem >::ptr IfcRepresentation::Items() const { IfcEntityList::ptr es = *data_->getArgument(3); return es->as(); } void IfcRepresentation::setItems(IfcTemplatedEntityList< IfcRepresentationItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(3,attr);} } -IfcRepresentationMap::list::ptr IfcRepresentation::RepresentationMap() const { return data_->getInverse(Type::IfcRepresentationMap, 1)->as(); } -IfcPresentationLayerAssignment::list::ptr IfcRepresentation::LayerAssignments() const { return data_->getInverse(Type::IfcPresentationLayerAssignment, 2)->as(); } -IfcProductRepresentation::list::ptr IfcRepresentation::OfProductRepresentation() const { return data_->getInverse(Type::IfcProductRepresentation, 2)->as(); } +IfcRepresentationMap::list::ptr IfcRepresentation::RepresentationMap() const { return data_->getInverse(IfcRepresentationMap_type, 1)->as(); } +IfcPresentationLayerAssignment::list::ptr IfcRepresentation::LayerAssignments() const { return data_->getInverse(IfcPresentationLayerAssignment_type, 2)->as(); } +IfcProductRepresentation::list::ptr IfcRepresentation::OfProductRepresentation() const { return data_->getInverse(IfcProductRepresentation_type, 2)->as(); } const IfcParse::entity& IfcRepresentation::declaration() const { return *IfcRepresentation_type; } const IfcParse::entity& IfcRepresentation::Class() { return *IfcRepresentation_type; } @@ -13973,7 +13973,7 @@ bool IfcRepresentationContext::hasContextType() const { return !data_->getArgume std::string IfcRepresentationContext::ContextType() const { return *data_->getArgument(1); } void IfcRepresentationContext::setContextType(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -IfcRepresentation::list::ptr IfcRepresentationContext::RepresentationsInContext() const { return data_->getInverse(Type::IfcRepresentation, 0)->as(); } +IfcRepresentation::list::ptr IfcRepresentationContext::RepresentationsInContext() const { return data_->getInverse(IfcRepresentation_type, 0)->as(); } const IfcParse::entity& IfcRepresentationContext::declaration() const { return *IfcRepresentationContext_type; } const IfcParse::entity& IfcRepresentationContext::Class() { return *IfcRepresentationContext_type; } @@ -13982,8 +13982,8 @@ IfcRepresentationContext::IfcRepresentationContext(boost::optional< std::string // Function implementations for IfcRepresentationItem -IfcPresentationLayerAssignment::list::ptr IfcRepresentationItem::LayerAssignment() const { return data_->getInverse(Type::IfcPresentationLayerAssignment, 2)->as(); } -IfcStyledItem::list::ptr IfcRepresentationItem::StyledByItem() const { return data_->getInverse(Type::IfcStyledItem, 0)->as(); } +IfcPresentationLayerAssignment::list::ptr IfcRepresentationItem::LayerAssignment() const { return data_->getInverse(IfcPresentationLayerAssignment_type, 2)->as(); } +IfcStyledItem::list::ptr IfcRepresentationItem::StyledByItem() const { return data_->getInverse(IfcStyledItem_type, 0)->as(); } const IfcParse::entity& IfcRepresentationItem::declaration() const { return *IfcRepresentationItem_type; } const IfcParse::entity& IfcRepresentationItem::Class() { return *IfcRepresentationItem_type; } @@ -13996,8 +13996,8 @@ void IfcRepresentationMap::setMappingOrigin(IfcAxis2Placement* v) { {IfcWrite::I IfcRepresentation* IfcRepresentationMap::MappedRepresentation() const { return (IfcRepresentation*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(1))); } void IfcRepresentationMap::setMappedRepresentation(IfcRepresentation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -IfcShapeAspect::list::ptr IfcRepresentationMap::HasShapeAspects() const { return data_->getInverse(Type::IfcShapeAspect, 4)->as(); } -IfcMappedItem::list::ptr IfcRepresentationMap::MapUsage() const { return data_->getInverse(Type::IfcMappedItem, 0)->as(); } +IfcShapeAspect::list::ptr IfcRepresentationMap::HasShapeAspects() const { return data_->getInverse(IfcShapeAspect_type, 4)->as(); } +IfcMappedItem::list::ptr IfcRepresentationMap::MapUsage() const { return data_->getInverse(IfcMappedItem_type, 0)->as(); } const IfcParse::entity& IfcRepresentationMap::declaration() const { return *IfcRepresentationMap_type; } const IfcParse::entity& IfcRepresentationMap::Class() { return *IfcRepresentationMap_type; } @@ -14012,7 +14012,7 @@ bool IfcResource::hasLongDescription() const { return !data_->getArgument(6)->is std::string IfcResource::LongDescription() const { return *data_->getArgument(6); } void IfcResource::setLongDescription(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -IfcRelAssignsToResource::list::ptr IfcResource::ResourceOf() const { return data_->getInverse(Type::IfcRelAssignsToResource, 6)->as(); } +IfcRelAssignsToResource::list::ptr IfcResource::ResourceOf() const { return data_->getInverse(IfcRelAssignsToResource_type, 6)->as(); } const IfcParse::entity& IfcResource::declaration() const { return *IfcResource_type; } const IfcParse::entity& IfcResource::Class() { return *IfcResource_type; } @@ -14372,7 +14372,7 @@ IfcShapeAspect::IfcShapeAspect(IfcTemplatedEntityList< IfcShapeModel >::ptr v1_S // Function implementations for IfcShapeModel -IfcShapeAspect::list::ptr IfcShapeModel::OfShapeAspect() const { return data_->getInverse(Type::IfcShapeAspect, 0)->as(); } +IfcShapeAspect::list::ptr IfcShapeModel::OfShapeAspect() const { return data_->getInverse(IfcShapeAspect_type, 0)->as(); } const IfcParse::entity& IfcShapeModel::declaration() const { return *IfcShapeModel_type; } const IfcParse::entity& IfcShapeModel::Class() { return *IfcShapeModel_type; } @@ -14551,8 +14551,8 @@ bool IfcSpace::hasElevationWithFlooring() const { return !data_->getArgument(10) double IfcSpace::ElevationWithFlooring() const { return *data_->getArgument(10); } void IfcSpace::setElevationWithFlooring(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -IfcRelCoversSpaces::list::ptr IfcSpace::HasCoverings() const { return data_->getInverse(Type::IfcRelCoversSpaces, 4)->as(); } -IfcRelSpaceBoundary::list::ptr IfcSpace::BoundedBy() const { return data_->getInverse(Type::IfcRelSpaceBoundary, 4)->as(); } +IfcRelCoversSpaces::list::ptr IfcSpace::HasCoverings() const { return data_->getInverse(IfcRelCoversSpaces_type, 4)->as(); } +IfcRelSpaceBoundary::list::ptr IfcSpace::BoundedBy() const { return data_->getInverse(IfcRelSpaceBoundary_type, 4)->as(); } const IfcParse::entity& IfcSpace::declaration() const { return *IfcSpace_type; } const IfcParse::entity& IfcSpace::Class() { return *IfcSpace_type; } @@ -14598,9 +14598,9 @@ bool IfcSpatialElement::hasLongName() const { return !data_->getArgument(7)->isN std::string IfcSpatialElement::LongName() const { return *data_->getArgument(7); } void IfcSpatialElement::setLongName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -IfcRelContainedInSpatialStructure::list::ptr IfcSpatialElement::ContainsElements() const { return data_->getInverse(Type::IfcRelContainedInSpatialStructure, 5)->as(); } -IfcRelServicesBuildings::list::ptr IfcSpatialElement::ServicedBySystems() const { return data_->getInverse(Type::IfcRelServicesBuildings, 5)->as(); } -IfcRelReferencedInSpatialStructure::list::ptr IfcSpatialElement::ReferencesElements() const { return data_->getInverse(Type::IfcRelReferencedInSpatialStructure, 5)->as(); } +IfcRelContainedInSpatialStructure::list::ptr IfcSpatialElement::ContainsElements() const { return data_->getInverse(IfcRelContainedInSpatialStructure_type, 5)->as(); } +IfcRelServicesBuildings::list::ptr IfcSpatialElement::ServicedBySystems() const { return data_->getInverse(IfcRelServicesBuildings_type, 5)->as(); } +IfcRelReferencedInSpatialStructure::list::ptr IfcSpatialElement::ReferencesElements() const { return data_->getInverse(IfcRelReferencedInSpatialStructure_type, 5)->as(); } const IfcParse::entity& IfcSpatialElement::declaration() const { return *IfcSpatialElement_type; } const IfcParse::entity& IfcSpatialElement::Class() { return *IfcSpatialElement_type; } @@ -14763,7 +14763,7 @@ void IfcStructuralActivity::setAppliedLoad(IfcStructuralLoad* v) { {IfcWrite::If IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum IfcStructuralActivity::GlobalOrLocal() const { return IfcGlobalOrLocalEnum::FromString(*data_->getArgument(8)); } void IfcStructuralActivity::setGlobalOrLocal(IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,IfcGlobalOrLocalEnum::ToString(v)));data_->setArgument(8,attr);} } -IfcRelConnectsStructuralActivity::list::ptr IfcStructuralActivity::AssignedToStructuralItem() const { return data_->getInverse(Type::IfcRelConnectsStructuralActivity, 5)->as(); } +IfcRelConnectsStructuralActivity::list::ptr IfcStructuralActivity::AssignedToStructuralItem() const { return data_->getInverse(IfcRelConnectsStructuralActivity_type, 5)->as(); } const IfcParse::entity& IfcStructuralActivity::declaration() const { return *IfcStructuralActivity_type; } const IfcParse::entity& IfcStructuralActivity::Class() { return *IfcStructuralActivity_type; } @@ -14797,7 +14797,7 @@ bool IfcStructuralConnection::hasAppliedCondition() const { return !data_->getAr IfcBoundaryCondition* IfcStructuralConnection::AppliedCondition() const { return (IfcBoundaryCondition*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(7))); } void IfcStructuralConnection::setAppliedCondition(IfcBoundaryCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -IfcRelConnectsStructuralMember::list::ptr IfcStructuralConnection::ConnectsStructuralMembers() const { return data_->getInverse(Type::IfcRelConnectsStructuralMember, 5)->as(); } +IfcRelConnectsStructuralMember::list::ptr IfcStructuralConnection::ConnectsStructuralMembers() const { return data_->getInverse(IfcRelConnectsStructuralMember_type, 5)->as(); } const IfcParse::entity& IfcStructuralConnection::declaration() const { return *IfcStructuralConnection_type; } const IfcParse::entity& IfcStructuralConnection::Class() { return *IfcStructuralConnection_type; } @@ -14870,7 +14870,7 @@ IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string v1_GlobalId, // Function implementations for IfcStructuralItem -IfcRelConnectsStructuralActivity::list::ptr IfcStructuralItem::AssignedStructuralActivity() const { return data_->getInverse(Type::IfcRelConnectsStructuralActivity, 4)->as(); } +IfcRelConnectsStructuralActivity::list::ptr IfcStructuralItem::AssignedStructuralActivity() const { return data_->getInverse(IfcRelConnectsStructuralActivity_type, 4)->as(); } const IfcParse::entity& IfcStructuralItem::declaration() const { return *IfcStructuralItem_type; } const IfcParse::entity& IfcStructuralItem::Class() { return *IfcStructuralItem_type; } @@ -14934,8 +14934,8 @@ bool IfcStructuralLoadGroup::hasPurpose() const { return !data_->getArgument(9)- std::string IfcStructuralLoadGroup::Purpose() const { return *data_->getArgument(9); } void IfcStructuralLoadGroup::setPurpose(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -IfcStructuralResultGroup::list::ptr IfcStructuralLoadGroup::SourceOfResultGroup() const { return data_->getInverse(Type::IfcStructuralResultGroup, 6)->as(); } -IfcStructuralAnalysisModel::list::ptr IfcStructuralLoadGroup::LoadGroupFor() const { return data_->getInverse(Type::IfcStructuralAnalysisModel, 7)->as(); } +IfcStructuralResultGroup::list::ptr IfcStructuralLoadGroup::SourceOfResultGroup() const { return data_->getInverse(IfcStructuralResultGroup_type, 6)->as(); } +IfcStructuralAnalysisModel::list::ptr IfcStructuralLoadGroup::LoadGroupFor() const { return data_->getInverse(IfcStructuralAnalysisModel_type, 7)->as(); } const IfcParse::entity& IfcStructuralLoadGroup::declaration() const { return *IfcStructuralLoadGroup_type; } const IfcParse::entity& IfcStructuralLoadGroup::Class() { return *IfcStructuralLoadGroup_type; } @@ -15094,7 +15094,7 @@ IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional< std: // Function implementations for IfcStructuralMember -IfcRelConnectsStructuralMember::list::ptr IfcStructuralMember::ConnectedBy() const { return data_->getInverse(Type::IfcRelConnectsStructuralMember, 4)->as(); } +IfcRelConnectsStructuralMember::list::ptr IfcStructuralMember::ConnectedBy() const { return data_->getInverse(IfcRelConnectsStructuralMember_type, 4)->as(); } const IfcParse::entity& IfcStructuralMember::declaration() const { return *IfcStructuralMember_type; } const IfcParse::entity& IfcStructuralMember::Class() { return *IfcStructuralMember_type; } @@ -15153,7 +15153,7 @@ void IfcStructuralResultGroup::setResultForLoadGroup(IfcStructuralLoadGroup* v) bool IfcStructuralResultGroup::IsLinear() const { return *data_->getArgument(7); } void IfcStructuralResultGroup::setIsLinear(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -IfcStructuralAnalysisModel::list::ptr IfcStructuralResultGroup::ResultGroupFor() const { return data_->getInverse(Type::IfcStructuralAnalysisModel, 8)->as(); } +IfcStructuralAnalysisModel::list::ptr IfcStructuralResultGroup::ResultGroupFor() const { return data_->getInverse(IfcStructuralAnalysisModel_type, 8)->as(); } const IfcParse::entity& IfcStructuralResultGroup::declaration() const { return *IfcStructuralResultGroup_type; } const IfcParse::entity& IfcStructuralResultGroup::Class() { return *IfcStructuralResultGroup_type; } @@ -15459,8 +15459,8 @@ bool IfcSurfaceTexture::hasParameter() const { return !data_->getArgument(4)->is std::vector< std::string > /*[1:?]*/ IfcSurfaceTexture::Parameter() const { return *data_->getArgument(4); } void IfcSurfaceTexture::setParameter(std::vector< std::string > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -IfcTextureCoordinate::list::ptr IfcSurfaceTexture::IsMappedBy() const { return data_->getInverse(Type::IfcTextureCoordinate, 0)->as(); } -IfcSurfaceStyleWithTextures::list::ptr IfcSurfaceTexture::UsedInStyles() const { return data_->getInverse(Type::IfcSurfaceStyleWithTextures, 0)->as(); } +IfcTextureCoordinate::list::ptr IfcSurfaceTexture::IsMappedBy() const { return data_->getInverse(IfcTextureCoordinate_type, 0)->as(); } +IfcSurfaceStyleWithTextures::list::ptr IfcSurfaceTexture::UsedInStyles() const { return data_->getInverse(IfcSurfaceStyleWithTextures_type, 0)->as(); } const IfcParse::entity& IfcSurfaceTexture::declaration() const { return *IfcSurfaceTexture_type; } const IfcParse::entity& IfcSurfaceTexture::Class() { return *IfcSurfaceTexture_type; } @@ -15548,7 +15548,7 @@ IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_GlobalId, IfcOwner // Function implementations for IfcSystem -IfcRelServicesBuildings::list::ptr IfcSystem::ServicesBuildings() const { return data_->getInverse(Type::IfcRelServicesBuildings, 4)->as(); } +IfcRelServicesBuildings::list::ptr IfcSystem::ServicesBuildings() const { return data_->getInverse(IfcRelServicesBuildings_type, 4)->as(); } const IfcParse::entity& IfcSystem::declaration() const { return *IfcSystem_type; } const IfcParse::entity& IfcSystem::Class() { return *IfcSystem_type; } @@ -15898,8 +15898,8 @@ bool IfcTessellatedFaceSet::hasClosed() const { return !data_->getArgument(2)->i bool IfcTessellatedFaceSet::Closed() const { return *data_->getArgument(2); } void IfcTessellatedFaceSet::setClosed(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -IfcIndexedColourMap::list::ptr IfcTessellatedFaceSet::HasColours() const { return data_->getInverse(Type::IfcIndexedColourMap, 0)->as(); } -IfcIndexedTextureMap::list::ptr IfcTessellatedFaceSet::HasTextures() const { return data_->getInverse(Type::IfcIndexedTextureMap, 1)->as(); } +IfcIndexedColourMap::list::ptr IfcTessellatedFaceSet::HasColours() const { return data_->getInverse(IfcIndexedColourMap_type, 0)->as(); } +IfcIndexedTextureMap::list::ptr IfcTessellatedFaceSet::HasTextures() const { return data_->getInverse(IfcIndexedTextureMap_type, 1)->as(); } const IfcParse::entity& IfcTessellatedFaceSet::declaration() const { return *IfcTessellatedFaceSet_type; } const IfcParse::entity& IfcTessellatedFaceSet::Class() { return *IfcTessellatedFaceSet_type; } @@ -16110,7 +16110,7 @@ bool IfcTimeSeries::hasUnit() const { return !data_->getArgument(7)->isNull(); } IfcUnit* IfcTimeSeries::Unit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*data_->getArgument(7))); } void IfcTimeSeries::setUnit(IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -IfcExternalReferenceRelationship::list::ptr IfcTimeSeries::HasExternalReference() const { return data_->getInverse(Type::IfcExternalReferenceRelationship, 3)->as(); } +IfcExternalReferenceRelationship::list::ptr IfcTimeSeries::HasExternalReference() const { return data_->getInverse(IfcExternalReferenceRelationship_type, 3)->as(); } const IfcParse::entity& IfcTimeSeries::declaration() const { return *IfcTimeSeries_type; } const IfcParse::entity& IfcTimeSeries::Class() { return *IfcTimeSeries_type; } @@ -16261,7 +16261,7 @@ bool IfcTypeObject::hasHasPropertySets() const { return !data_->getArgument(5)-> IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr IfcTypeObject::HasPropertySets() const { IfcEntityList::ptr es = *data_->getArgument(5); return es->as(); } void IfcTypeObject::setHasPropertySets(IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v->generalize());data_->setArgument(5,attr);} } -IfcRelDefinesByType::list::ptr IfcTypeObject::Types() const { return data_->getInverse(Type::IfcRelDefinesByType, 5)->as(); } +IfcRelDefinesByType::list::ptr IfcTypeObject::Types() const { return data_->getInverse(IfcRelDefinesByType_type, 5)->as(); } const IfcParse::entity& IfcTypeObject::declaration() const { return *IfcTypeObject_type; } const IfcParse::entity& IfcTypeObject::Class() { return *IfcTypeObject_type; } @@ -16279,7 +16279,7 @@ bool IfcTypeProcess::hasProcessType() const { return !data_->getArgument(8)->isN std::string IfcTypeProcess::ProcessType() const { return *data_->getArgument(8); } void IfcTypeProcess::setProcessType(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -IfcRelAssignsToProcess::list::ptr IfcTypeProcess::OperatesOn() const { return data_->getInverse(Type::IfcRelAssignsToProcess, 6)->as(); } +IfcRelAssignsToProcess::list::ptr IfcTypeProcess::OperatesOn() const { return data_->getInverse(IfcRelAssignsToProcess_type, 6)->as(); } const IfcParse::entity& IfcTypeProcess::declaration() const { return *IfcTypeProcess_type; } const IfcParse::entity& IfcTypeProcess::Class() { return *IfcTypeProcess_type; } @@ -16294,7 +16294,7 @@ bool IfcTypeProduct::hasTag() const { return !data_->getArgument(7)->isNull(); } std::string IfcTypeProduct::Tag() const { return *data_->getArgument(7); } void IfcTypeProduct::setTag(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -IfcRelAssignsToProduct::list::ptr IfcTypeProduct::ReferencedBy() const { return data_->getInverse(Type::IfcRelAssignsToProduct, 6)->as(); } +IfcRelAssignsToProduct::list::ptr IfcTypeProduct::ReferencedBy() const { return data_->getInverse(IfcRelAssignsToProduct_type, 6)->as(); } const IfcParse::entity& IfcTypeProduct::declaration() const { return *IfcTypeProduct_type; } const IfcParse::entity& IfcTypeProduct::Class() { return *IfcTypeProduct_type; } @@ -16312,7 +16312,7 @@ bool IfcTypeResource::hasResourceType() const { return !data_->getArgument(8)->i std::string IfcTypeResource::ResourceType() const { return *data_->getArgument(8); } void IfcTypeResource::setResourceType(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -IfcRelAssignsToResource::list::ptr IfcTypeResource::ResourceOf() const { return data_->getInverse(Type::IfcRelAssignsToResource, 6)->as(); } +IfcRelAssignsToResource::list::ptr IfcTypeResource::ResourceOf() const { return data_->getInverse(IfcRelAssignsToResource_type, 6)->as(); } const IfcParse::entity& IfcTypeResource::declaration() const { return *IfcTypeResource_type; } const IfcParse::entity& IfcTypeResource::Class() { return *IfcTypeResource_type; } diff --git a/src/ifcparse/IfcEntityInstanceData.h b/src/ifcparse/IfcEntityInstanceData.h index decd4ad0ff..d01fcd337e 100644 --- a/src/ifcparse/IfcEntityInstanceData.h +++ b/src/ifcparse/IfcEntityInstanceData.h @@ -75,7 +75,7 @@ public: ~IfcEntityInstanceData(); - boost::shared_ptr getInverse(IfcSchema::Type::Enum type, int attribute_index); + boost::shared_ptr getInverse(const IfcParse::declaration* type, int attribute_index); Argument* getArgument(unsigned int i) const; diff --git a/src/ifcparse/IfcEntityList.h b/src/ifcparse/IfcEntityList.h index 81163863e6..f27daeff88 100644 --- a/src/ifcparse/IfcEntityList.h +++ b/src/ifcparse/IfcEntityList.h @@ -49,7 +49,7 @@ public: return r; } void remove(IfcUtil::IfcBaseClass*); - IfcEntityList::ptr filtered(const std::set& entities); + IfcEntityList::ptr filtered(const std::set& entities); IfcEntityList::ptr unique(); }; diff --git a/src/ifcparse/IfcFile.h b/src/ifcparse/IfcFile.h index 524d06faf7..e6ec779f7d 100644 --- a/src/ifcparse/IfcFile.h +++ b/src/ifcparse/IfcFile.h @@ -37,7 +37,7 @@ class IFC_PARSE_API IfcFile { public: typedef std::map entities_by_type_t; typedef std::map entity_by_id_t; - typedef std::map entity_by_guid_t; + typedef std::map entity_by_guid_t; typedef std::map > entities_by_ref_t; typedef entity_by_id_t::const_iterator const_iterator; @@ -68,6 +68,7 @@ private: bool parsing_complete_, good_; const IfcParse::schema_definition* schema_; + const IfcParse::declaration* ifcroot_type_; entity_by_id_t byid; entities_by_type_t bytype; @@ -148,14 +149,14 @@ public: IfcUtil::IfcBaseClass* instance_by_id(int id); /// Returns the entity with the specified GlobalId - IfcSchema::IfcRoot* instance_by_guid(const std::string& guid); + IfcUtil::IfcBaseClass* instance_by_guid(const std::string& guid); /// Performs a depth-first traversal, returning all entity instance /// attributes as a flat list. NB: includes the root instance specified /// in the first function argument. IfcEntityList::ptr traverse(IfcUtil::IfcBaseClass* instance, int max_level=-1); - IfcEntityList::ptr getInverse(int instance_id, IfcSchema::Type::Enum type, int attribute_index); + IfcEntityList::ptr getInverse(int instance_id, const IfcParse::declaration* type, int attribute_index); unsigned int FreshId() { return ++MaxId; } diff --git a/src/ifcparse/IfcHierarchyHelper.cpp b/src/ifcparse/IfcHierarchyHelper.cpp index 769002a3c6..29aeaba9b0 100644 --- a/src/ifcparse/IfcHierarchyHelper.cpp +++ b/src/ifcparse/IfcHierarchyHelper.cpp @@ -124,7 +124,7 @@ IfcSchema::IfcProject* IfcHierarchyHelper::addProject(IfcSchema::IfcOwnerHistory void IfcHierarchyHelper::relatePlacements(IfcSchema::IfcProduct* parent, IfcSchema::IfcProduct* product) { IfcSchema::IfcObjectPlacement* place = product->hasObjectPlacement() ? product->ObjectPlacement() : 0; - if (place && place->declaration().is(IfcSchema::Type::IfcLocalPlacement)) { + if (place && place->declaration().is(IfcSchema::IfcLocalPlacement::Class())) { IfcSchema::IfcLocalPlacement* local_place = (IfcSchema::IfcLocalPlacement*) place; if (parent->hasObjectPlacement()) { local_place->setPlacementRelTo(parent->ObjectPlacement()); diff --git a/src/ifcparse/IfcHierarchyHelper.h b/src/ifcparse/IfcHierarchyHelper.h index 62b2521d2e..fcaa34c9ff 100644 --- a/src/ifcparse/IfcHierarchyHelper.h +++ b/src/ifcparse/IfcHierarchyHelper.h @@ -62,7 +62,7 @@ public: template T* getSingle() { - typename T::list::ptr ts = entitiesByType(); + typename T::list::ptr ts = instances_by_type(); if (ts->size() != 1) return 0; return *ts->begin(); } @@ -83,7 +83,7 @@ public: void addRelatedObject(IfcSchema::IfcObjectDefinition* relating_object, IfcSchema::IfcObjectDefinition* related_object, IfcSchema::IfcOwnerHistory* owner_hist = 0) { - typename T::list::ptr li = entitiesByType(); + typename T::list::ptr li = instances_by_type(); bool found = false; for (typename T::list::it i = li->begin(); i != li->end(); ++i) { T* rel = *i; diff --git a/src/ifcparse/IfcParse.cpp b/src/ifcparse/IfcParse.cpp index d356a5a0ef..ab22acced9 100644 --- a/src/ifcparse/IfcParse.cpp +++ b/src/ifcparse/IfcParse.cpp @@ -931,7 +931,7 @@ unsigned IfcEntityInstanceData::set_id(boost::optional i) { // // Returns the entities of Entity type that have this entity in their ArgumentList // -IfcEntityList::ptr IfcEntityInstanceData::getInverse(IfcSchema::Type::Enum type, int attribute_index) { +IfcEntityList::ptr IfcEntityInstanceData::getInverse(const IfcParse::declaration* type, int attribute_index) { return file->getInverse(id_, type, attribute_index); } @@ -1228,6 +1228,7 @@ IfcFile::IfcFile(IfcParse::IfcSpfStream* s) { IfcFile::IfcFile(const IfcParse::schema_definition* schema) : schema_(schema) + , ifcroot_type_(schema_->declaration_by_name("IfcRoot")) , good_(false) , parsing_complete_(false) , MaxId(0) @@ -1284,6 +1285,8 @@ void IfcFile::initialize_(IfcParse::IfcSpfStream* s) { Logger::Message(Logger::LOG_ERROR, "Unable to deduce schema version from header identifiers"); } + ifcroot_type_ = schema_->declaration_by_name("IfcRoot"); + boost::circular_buffer token_stream(3, Token()); IfcEntityInstanceData* data; @@ -1318,16 +1321,15 @@ void IfcFile::initialize_(IfcParse::IfcSpfStream* s) { Logger::Status(ss.str(), false); } - if (instance->declaration().is(IfcSchema::Type::IfcRoot)) { - IfcSchema::IfcRoot* ifc_root = (IfcSchema::IfcRoot*) instance; + if (instance->declaration().is(*ifcroot_type_)) { try { - const std::string guid = ifc_root->GlobalId(); + const std::string guid = *instance->data().getArgument(0); if ( byguid.find(guid) != byguid.end() ) { std::stringstream ss; ss << "Instance encountered with non-unique GlobalId " << guid; Logger::Message(Logger::LOG_WARNING,ss.str()); } - byguid[guid] = ifc_root; + byguid[guid] = instance; } catch (const IfcException& ex) { Logger::Message(Logger::LOG_ERROR,ex.what()); } @@ -1576,16 +1578,15 @@ IfcUtil::IfcBaseClass* IfcFile::addEntity(IfcUtil::IfcBaseClass* entity) { } // For subtypes of IfcRoot, the GUID mapping needs to be updated. - if (new_entity->declaration().is(IfcSchema::Type::IfcRoot)) { - IfcSchema::IfcRoot* ifc_root = (IfcSchema::IfcRoot*) new_entity; + if (new_entity->declaration().is(*ifcroot_type_)) { try { - const std::string guid = ifc_root->GlobalId(); + const std::string guid = *new_entity->data().getArgument(0); if ( byguid.find(guid) != byguid.end() ) { std::stringstream ss; ss << "Overwriting entity with guid " << guid; Logger::Message(Logger::LOG_WARNING,ss.str()); } - byguid[guid] = ifc_root; + byguid[guid] = new_entity; } catch (const IfcException& ex) { Logger::Message(Logger::LOG_ERROR,ex.what()); } @@ -1673,7 +1674,7 @@ void IfcFile::removeEntity(IfcUtil::IfcBaseClass* entity) { // individual IfcRepresentationItems can not be deleted if an IfcStyledItem is // related. Hence, the IfcRepresentationItem::StyledByItem relation could be // characterized as weak. - std::set weak_roots; + // std::set weak_roots; if (entity != file_entity) { throw IfcParse::IfcException("Instance not part of this file"); @@ -1755,8 +1756,8 @@ void IfcFile::removeEntity(IfcUtil::IfcBaseClass* entity) { } } - if (entity->declaration().is(IfcSchema::Type::IfcRoot)) { - const std::string global_id = ((IfcSchema::IfcRoot*) entity)->GlobalId(); + if (entity->declaration().is(*ifcroot_type_)) { + const std::string global_id = *entity->data().getArgument(0); byguid.erase(byguid.find(global_id)); } @@ -1829,7 +1830,7 @@ IfcUtil::IfcBaseClass* IfcFile::instance_by_id(int id) { return it->second; } -IfcSchema::IfcRoot* IfcFile::instance_by_guid(const std::string& guid) { +IfcUtil::IfcBaseClass* IfcFile::instance_by_guid(const std::string& guid) { entity_by_guid_t::const_iterator it = byguid.find(guid); if ( it == byguid.end() ) { throw IfcException("Entity not found"); @@ -1903,7 +1904,7 @@ std::string IfcFile::createTimestamp() const { return result; } -IfcEntityList::ptr IfcFile::getInverse(int instance_id, IfcSchema::Type::Enum type, int attribute_index) { +IfcEntityList::ptr IfcFile::getInverse(int instance_id, const IfcParse::declaration* type, int attribute_index) { IfcUtil::IfcBaseClass* instance = instance_by_id(instance_id); IfcEntityList::ptr l = IfcEntityList::ptr(new IfcEntityList); @@ -1911,7 +1912,7 @@ IfcEntityList::ptr IfcFile::getInverse(int instance_id, IfcSchema::Type::Enum ty if (!all) return l; for(IfcEntityList::it it = all->begin(); it != all->end(); ++it) { - bool valid = type == IfcSchema::Type::UNDEFINED || (*it)->declaration().is(type); + bool valid = type == 0 || (*it)->declaration().is(*type); if (valid && attribute_index >= 0) { Argument* arg = (*it)->data().getArgument(attribute_index); if (arg->type() == IfcUtil::Argument_ENTITY_INSTANCE) { diff --git a/src/ifcparse/IfcSchema.cpp b/src/ifcparse/IfcSchema.cpp index 2882894367..0de6424dd3 100644 --- a/src/ifcparse/IfcSchema.cpp +++ b/src/ifcparse/IfcSchema.cpp @@ -3,31 +3,44 @@ #include bool IfcParse::declaration::is(const std::string& name) const { - return is(IfcSchema::Type::FromString(name)); -} + if (name_ == name) return true; -bool IfcParse::declaration::is(IfcSchema::Type::Enum name) const { if (this->as_entity()) { return this->as_entity()->is(name); - } else { - return this->name() == IfcSchema::Type::ToString(name); + } else if (this->as_type_declaration()) { + const IfcParse::named_type* nt = this->as_type_declaration()->declared_type()->as_named_type(); + if (nt) return nt->is(name); } + + return false; +} + +bool IfcParse::declaration::is(const IfcParse::declaration& decl) const { + if (this == &decl) return true; + + if (this->as_entity()) { + return this->as_entity()->is(decl); + } else if (this->as_type_declaration()) { + const IfcParse::named_type* nt = this->as_type_declaration()->declared_type()->as_named_type(); + if (nt) return nt->is(decl); + } + + return false; } bool IfcParse::named_type::is(const std::string& name) const { return declared_type()->is(name); } -bool IfcParse::named_type::is(IfcSchema::Type::Enum name) const { - return declared_type()->is(name); +bool IfcParse::named_type::is(const IfcParse::declaration& decl) const { + return declared_type()->is(decl); } static std::map schemas; -IfcParse::schema_definition::schema_definition(const std::string& name, const std::vector& declarations, instance_factory* factory, bool built_in) +IfcParse::schema_definition::schema_definition(const std::string& name, const std::vector& declarations, instance_factory* factory) : name_(name) , declarations_(declarations) - , built_in_(built_in) , factory_(factory) { std::sort(declarations_.begin(), declarations_.end(), declaration_by_index_sort()); diff --git a/src/ifcparse/IfcSchema.h b/src/ifcparse/IfcSchema.h index ec88c95666..79bf32917f 100644 --- a/src/ifcparse/IfcSchema.h +++ b/src/ifcparse/IfcSchema.h @@ -62,7 +62,7 @@ namespace IfcParse { virtual const aggregation_type* as_aggregation_type() const { return static_cast(0); } virtual bool is(const std::string& /*name*/) const { return false; } - virtual bool is(IfcSchema::Type::Enum /*name*/) const { return false; } + virtual bool is(const IfcParse::declaration& /*decl*/) const { return false; } }; class named_type : public parameter_type { @@ -77,7 +77,7 @@ namespace IfcParse { virtual const named_type* as_named_type() const { return this; } virtual bool is(const std::string& name) const; - virtual bool is(IfcSchema::Type::Enum name) const; + virtual bool is(const IfcParse::declaration& decl) const; }; class simple_type : public parameter_type { @@ -136,7 +136,6 @@ namespace IfcParse { virtual const entity* as_entity() const { return static_cast(0); } bool is(const std::string& name) const; - bool is(int index) const; bool is(const IfcParse::declaration& decl) const; int index_in_schema() const { return index_in_schema_; } @@ -276,12 +275,6 @@ namespace IfcParse { else return false; } - bool is(int name) const { - if (name == index_in_schema_) return true; - else if (supertype_) return supertype_->is(name); - else return false; - } - bool is(const IfcParse::declaration& decl) const { if (this == &decl) return true; else if (supertype_) return supertype_->is(decl); @@ -404,13 +397,6 @@ namespace IfcParse { } }; - class declaration_by_enum_cmp : public std::binary_function { - public: - bool operator()(const declaration* decl, IfcSchema::Type::Enum name) { - return decl->type() < name; - } - }; - class declaration_by_index_sort : public std::binary_function { public: bool operator()(const declaration* a, const declaration* b) { diff --git a/src/ifcparse/IfcWrite.cpp b/src/ifcparse/IfcWrite.cpp index 03a37a3315..9be3bbd03c 100644 --- a/src/ifcparse/IfcWrite.cpp +++ b/src/ifcparse/IfcWrite.cpp @@ -139,7 +139,7 @@ public: } void operator()(const IfcUtil::IfcBaseClass* const& i) { const IfcEntityInstanceData& e = i->data(); - if ( IfcSchema::Type::IsSimple(e.type()) ) { + if (!e.type()->as_entity()) { data << e.toString(upper); } else { data << "#" << e.id();