diff --git a/src/ifcparse/Ifc2x3.cpp b/src/ifcparse/Ifc2x3.cpp index 59ee47cf89..c0e35dc2de 100644 --- a/src/ifcparse/Ifc2x3.cpp +++ b/src/ifcparse/Ifc2x3.cpp @@ -971,6 +971,52 @@ extern enumeration_type* IFC2X3_IfcWindowPanelPositionEnum_type; extern enumeration_type* IFC2X3_IfcWindowStyleConstructionEnum_type; extern enumeration_type* IFC2X3_IfcWindowStyleOperationEnum_type; extern enumeration_type* IFC2X3_IfcWorkControlTypeEnum_type; +extern select_type* IFC2X3_IfcActorSelect_type; +extern select_type* IFC2X3_IfcAppliedValueSelect_type; +extern select_type* IFC2X3_IfcAxis2Placement_type; +extern select_type* IFC2X3_IfcBooleanOperand_type; +extern select_type* IFC2X3_IfcCharacterStyleSelect_type; +extern select_type* IFC2X3_IfcClassificationNotationSelect_type; +extern select_type* IFC2X3_IfcColour_type; +extern select_type* IFC2X3_IfcColourOrFactor_type; +extern select_type* IFC2X3_IfcConditionCriterionSelect_type; +extern select_type* IFC2X3_IfcCsgSelect_type; +extern select_type* IFC2X3_IfcCurveFontOrScaledCurveFontSelect_type; +extern select_type* IFC2X3_IfcCurveOrEdgeCurve_type; +extern select_type* IFC2X3_IfcCurveStyleFontSelect_type; +extern select_type* IFC2X3_IfcDateTimeSelect_type; +extern select_type* IFC2X3_IfcDefinedSymbolSelect_type; +extern select_type* IFC2X3_IfcDerivedMeasureValue_type; +extern select_type* IFC2X3_IfcDocumentSelect_type; +extern select_type* IFC2X3_IfcDraughtingCalloutElement_type; +extern select_type* IFC2X3_IfcFillAreaStyleTileShapeSelect_type; +extern select_type* IFC2X3_IfcFillStyleSelect_type; +extern select_type* IFC2X3_IfcGeometricSetSelect_type; +extern select_type* IFC2X3_IfcHatchLineDistanceSelect_type; +extern select_type* IFC2X3_IfcLayeredItem_type; +extern select_type* IFC2X3_IfcLibrarySelect_type; +extern select_type* IFC2X3_IfcLightDistributionDataSourceSelect_type; +extern select_type* IFC2X3_IfcMaterialSelect_type; +extern select_type* IFC2X3_IfcMeasureValue_type; +extern select_type* IFC2X3_IfcMetricValueSelect_type; +extern select_type* IFC2X3_IfcObjectReferenceSelect_type; +extern select_type* IFC2X3_IfcOrientationSelect_type; +extern select_type* IFC2X3_IfcPointOrVertexPoint_type; +extern select_type* IFC2X3_IfcPresentationStyleSelect_type; +extern select_type* IFC2X3_IfcShell_type; +extern select_type* IFC2X3_IfcSimpleValue_type; +extern select_type* IFC2X3_IfcSizeSelect_type; +extern select_type* IFC2X3_IfcSpecularHighlightSelect_type; +extern select_type* IFC2X3_IfcStructuralActivityAssignmentSelect_type; +extern select_type* IFC2X3_IfcSurfaceOrFaceSurface_type; +extern select_type* IFC2X3_IfcSurfaceStyleElementSelect_type; +extern select_type* IFC2X3_IfcSymbolStyleSelect_type; +extern select_type* IFC2X3_IfcTextFontSelect_type; +extern select_type* IFC2X3_IfcTextStyleSelect_type; +extern select_type* IFC2X3_IfcTrimmingSelect_type; +extern select_type* IFC2X3_IfcUnit_type; +extern select_type* IFC2X3_IfcValue_type; +extern select_type* IFC2X3_IfcVectorOrDirection_type; const IfcParse::enumeration_type& Ifc2x3::IfcActionSourceTypeEnum::declaration() const { return *IFC2X3_IfcActionSourceTypeEnum_type; } @@ -8023,6 +8069,98 @@ Ifc2x3::IfcWorkControlTypeEnum::operator Ifc2x3::IfcWorkControlTypeEnum::Value() return FromString((std::string) *data_->getArgument(0)); } +const IfcParse::select_type& Ifc2x3::IfcActorSelect::Class() { return *IFC2X3_IfcActorSelect_type; } + +const IfcParse::select_type& Ifc2x3::IfcAppliedValueSelect::Class() { return *IFC2X3_IfcAppliedValueSelect_type; } + +const IfcParse::select_type& Ifc2x3::IfcAxis2Placement::Class() { return *IFC2X3_IfcAxis2Placement_type; } + +const IfcParse::select_type& Ifc2x3::IfcBooleanOperand::Class() { return *IFC2X3_IfcBooleanOperand_type; } + +const IfcParse::select_type& Ifc2x3::IfcCharacterStyleSelect::Class() { return *IFC2X3_IfcCharacterStyleSelect_type; } + +const IfcParse::select_type& Ifc2x3::IfcClassificationNotationSelect::Class() { return *IFC2X3_IfcClassificationNotationSelect_type; } + +const IfcParse::select_type& Ifc2x3::IfcColour::Class() { return *IFC2X3_IfcColour_type; } + +const IfcParse::select_type& Ifc2x3::IfcColourOrFactor::Class() { return *IFC2X3_IfcColourOrFactor_type; } + +const IfcParse::select_type& Ifc2x3::IfcConditionCriterionSelect::Class() { return *IFC2X3_IfcConditionCriterionSelect_type; } + +const IfcParse::select_type& Ifc2x3::IfcCsgSelect::Class() { return *IFC2X3_IfcCsgSelect_type; } + +const IfcParse::select_type& Ifc2x3::IfcCurveFontOrScaledCurveFontSelect::Class() { return *IFC2X3_IfcCurveFontOrScaledCurveFontSelect_type; } + +const IfcParse::select_type& Ifc2x3::IfcCurveOrEdgeCurve::Class() { return *IFC2X3_IfcCurveOrEdgeCurve_type; } + +const IfcParse::select_type& Ifc2x3::IfcCurveStyleFontSelect::Class() { return *IFC2X3_IfcCurveStyleFontSelect_type; } + +const IfcParse::select_type& Ifc2x3::IfcDateTimeSelect::Class() { return *IFC2X3_IfcDateTimeSelect_type; } + +const IfcParse::select_type& Ifc2x3::IfcDefinedSymbolSelect::Class() { return *IFC2X3_IfcDefinedSymbolSelect_type; } + +const IfcParse::select_type& Ifc2x3::IfcDerivedMeasureValue::Class() { return *IFC2X3_IfcDerivedMeasureValue_type; } + +const IfcParse::select_type& Ifc2x3::IfcDocumentSelect::Class() { return *IFC2X3_IfcDocumentSelect_type; } + +const IfcParse::select_type& Ifc2x3::IfcDraughtingCalloutElement::Class() { return *IFC2X3_IfcDraughtingCalloutElement_type; } + +const IfcParse::select_type& Ifc2x3::IfcFillAreaStyleTileShapeSelect::Class() { return *IFC2X3_IfcFillAreaStyleTileShapeSelect_type; } + +const IfcParse::select_type& Ifc2x3::IfcFillStyleSelect::Class() { return *IFC2X3_IfcFillStyleSelect_type; } + +const IfcParse::select_type& Ifc2x3::IfcGeometricSetSelect::Class() { return *IFC2X3_IfcGeometricSetSelect_type; } + +const IfcParse::select_type& Ifc2x3::IfcHatchLineDistanceSelect::Class() { return *IFC2X3_IfcHatchLineDistanceSelect_type; } + +const IfcParse::select_type& Ifc2x3::IfcLayeredItem::Class() { return *IFC2X3_IfcLayeredItem_type; } + +const IfcParse::select_type& Ifc2x3::IfcLibrarySelect::Class() { return *IFC2X3_IfcLibrarySelect_type; } + +const IfcParse::select_type& Ifc2x3::IfcLightDistributionDataSourceSelect::Class() { return *IFC2X3_IfcLightDistributionDataSourceSelect_type; } + +const IfcParse::select_type& Ifc2x3::IfcMaterialSelect::Class() { return *IFC2X3_IfcMaterialSelect_type; } + +const IfcParse::select_type& Ifc2x3::IfcMeasureValue::Class() { return *IFC2X3_IfcMeasureValue_type; } + +const IfcParse::select_type& Ifc2x3::IfcMetricValueSelect::Class() { return *IFC2X3_IfcMetricValueSelect_type; } + +const IfcParse::select_type& Ifc2x3::IfcObjectReferenceSelect::Class() { return *IFC2X3_IfcObjectReferenceSelect_type; } + +const IfcParse::select_type& Ifc2x3::IfcOrientationSelect::Class() { return *IFC2X3_IfcOrientationSelect_type; } + +const IfcParse::select_type& Ifc2x3::IfcPointOrVertexPoint::Class() { return *IFC2X3_IfcPointOrVertexPoint_type; } + +const IfcParse::select_type& Ifc2x3::IfcPresentationStyleSelect::Class() { return *IFC2X3_IfcPresentationStyleSelect_type; } + +const IfcParse::select_type& Ifc2x3::IfcShell::Class() { return *IFC2X3_IfcShell_type; } + +const IfcParse::select_type& Ifc2x3::IfcSimpleValue::Class() { return *IFC2X3_IfcSimpleValue_type; } + +const IfcParse::select_type& Ifc2x3::IfcSizeSelect::Class() { return *IFC2X3_IfcSizeSelect_type; } + +const IfcParse::select_type& Ifc2x3::IfcSpecularHighlightSelect::Class() { return *IFC2X3_IfcSpecularHighlightSelect_type; } + +const IfcParse::select_type& Ifc2x3::IfcStructuralActivityAssignmentSelect::Class() { return *IFC2X3_IfcStructuralActivityAssignmentSelect_type; } + +const IfcParse::select_type& Ifc2x3::IfcSurfaceOrFaceSurface::Class() { return *IFC2X3_IfcSurfaceOrFaceSurface_type; } + +const IfcParse::select_type& Ifc2x3::IfcSurfaceStyleElementSelect::Class() { return *IFC2X3_IfcSurfaceStyleElementSelect_type; } + +const IfcParse::select_type& Ifc2x3::IfcSymbolStyleSelect::Class() { return *IFC2X3_IfcSymbolStyleSelect_type; } + +const IfcParse::select_type& Ifc2x3::IfcTextFontSelect::Class() { return *IFC2X3_IfcTextFontSelect_type; } + +const IfcParse::select_type& Ifc2x3::IfcTextStyleSelect::Class() { return *IFC2X3_IfcTextStyleSelect_type; } + +const IfcParse::select_type& Ifc2x3::IfcTrimmingSelect::Class() { return *IFC2X3_IfcTrimmingSelect_type; } + +const IfcParse::select_type& Ifc2x3::IfcUnit::Class() { return *IFC2X3_IfcUnit_type; } + +const IfcParse::select_type& Ifc2x3::IfcValue::Class() { return *IFC2X3_IfcValue_type; } + +const IfcParse::select_type& Ifc2x3::IfcVectorOrDirection::Class() { return *IFC2X3_IfcVectorOrDirection_type; } + // Function implementations for IfcAbsorbedDoseMeasure const IfcParse::type_declaration& Ifc2x3::IfcAbsorbedDoseMeasure::Class() { return *IFC2X3_IfcAbsorbedDoseMeasure_type; } @@ -8863,7 +9001,7 @@ Ifc2x3::IfcActionRequest::IfcActionRequest(IfcEntityInstanceData* e) : IfcContro Ifc2x3::IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_RequestID) : IfcControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcActionRequest_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RequestID));data_->setArgument(5,attr);} } // Function implementations for IfcActor -::Ifc2x3::IfcActorSelect* Ifc2x3::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcActorSelect>(); } +::Ifc2x3::IfcActorSelect* Ifc2x3::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcActorSelect>(true); } void Ifc2x3::IfcActor::setTheActor(::Ifc2x3::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc2x3::IfcRelAssignsToActor::list::ptr Ifc2x3::IfcActor::IsActingUpon() const { return data_->getInverse(IFC2X3_IfcRelAssignsToActor_type, 6)->as(); } @@ -8979,7 +9117,7 @@ Ifc2x3::IfcAnnotationCurveOccurrence::IfcAnnotationCurveOccurrence(IfcEntityInst Ifc2x3::IfcAnnotationCurveOccurrence::IfcAnnotationCurveOccurrence(::Ifc2x3::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc2x3::IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcAnnotationOccurrence((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcAnnotationCurveOccurrence_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Item));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Styles)->generalize());data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcAnnotationFillArea -::Ifc2x3::IfcCurve* Ifc2x3::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcCurve>(); } +::Ifc2x3::IfcCurve* Ifc2x3::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcCurve>(true); } void Ifc2x3::IfcAnnotationFillArea::setOuterBoundary(::Ifc2x3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< aggregate_of< ::Ifc2x3::IfcCurve >::ptr > Ifc2x3::IfcAnnotationFillArea::InnerBoundaries() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc2x3::IfcCurve >(); } void Ifc2x3::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc2x3::IfcCurve >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(1,attr);} } @@ -8991,7 +9129,7 @@ Ifc2x3::IfcAnnotationFillArea::IfcAnnotationFillArea(IfcEntityInstanceData* e) : Ifc2x3::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc2x3::IfcCurve* v1_OuterBoundary, boost::optional< aggregate_of< ::Ifc2x3::IfcCurve >::ptr > v2_InnerBoundaries) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcAnnotationFillArea_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_OuterBoundary));data_->setArgument(0,attr);} if (v2_InnerBoundaries) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_InnerBoundaries)->generalize());data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcAnnotationFillAreaOccurrence -::Ifc2x3::IfcPoint* Ifc2x3::IfcAnnotationFillAreaOccurrence::FillStyleTarget() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcPoint>(); } +::Ifc2x3::IfcPoint* Ifc2x3::IfcAnnotationFillAreaOccurrence::FillStyleTarget() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcPoint>(true); } void Ifc2x3::IfcAnnotationFillAreaOccurrence::setFillStyleTarget(::Ifc2x3::IfcPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< ::Ifc2x3::IfcGlobalOrLocalEnum::Value > Ifc2x3::IfcAnnotationFillAreaOccurrence::GlobalOrLocal() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } return ::Ifc2x3::IfcGlobalOrLocalEnum::FromString(*data_->getArgument(4)); } void Ifc2x3::IfcAnnotationFillAreaOccurrence::setGlobalOrLocal(boost::optional< ::Ifc2x3::IfcGlobalOrLocalEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcGlobalOrLocalEnum::ToString(*v)));data_->setArgument(4,attr);} } @@ -9011,9 +9149,9 @@ Ifc2x3::IfcAnnotationOccurrence::IfcAnnotationOccurrence(IfcEntityInstanceData* Ifc2x3::IfcAnnotationOccurrence::IfcAnnotationOccurrence(::Ifc2x3::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc2x3::IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcStyledItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcAnnotationOccurrence_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Item));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Styles)->generalize());data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcAnnotationSurface -::Ifc2x3::IfcGeometricRepresentationItem* Ifc2x3::IfcAnnotationSurface::Item() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcGeometricRepresentationItem>(); } +::Ifc2x3::IfcGeometricRepresentationItem* Ifc2x3::IfcAnnotationSurface::Item() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcGeometricRepresentationItem>(true); } void Ifc2x3::IfcAnnotationSurface::setItem(::Ifc2x3::IfcGeometricRepresentationItem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcTextureCoordinate* Ifc2x3::IfcAnnotationSurface::TextureCoordinates() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcTextureCoordinate>(); } +::Ifc2x3::IfcTextureCoordinate* Ifc2x3::IfcAnnotationSurface::TextureCoordinates() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcTextureCoordinate>(true); } void Ifc2x3::IfcAnnotationSurface::setTextureCoordinates(::Ifc2x3::IfcTextureCoordinate* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -9047,7 +9185,7 @@ Ifc2x3::IfcAnnotationTextOccurrence::IfcAnnotationTextOccurrence(IfcEntityInstan Ifc2x3::IfcAnnotationTextOccurrence::IfcAnnotationTextOccurrence(::Ifc2x3::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc2x3::IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcAnnotationOccurrence((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcAnnotationTextOccurrence_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Item));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Styles)->generalize());data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcApplication -::Ifc2x3::IfcOrganization* Ifc2x3::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcOrganization>(); } +::Ifc2x3::IfcOrganization* Ifc2x3::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcOrganization>(true); } void Ifc2x3::IfcApplication::setApplicationDeveloper(::Ifc2x3::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } std::string Ifc2x3::IfcApplication::Version() const { std::string v = *data_->getArgument(1); return v; } void Ifc2x3::IfcApplication::setVersion(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -9067,13 +9205,13 @@ boost::optional< std::string > Ifc2x3::IfcAppliedValue::Name() const { if(!data_ void Ifc2x3::IfcAppliedValue::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc2x3::IfcAppliedValue::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc2x3::IfcAppliedValue::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc2x3::IfcAppliedValueSelect* Ifc2x3::IfcAppliedValue::AppliedValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcAppliedValueSelect>(); } +::Ifc2x3::IfcAppliedValueSelect* Ifc2x3::IfcAppliedValue::AppliedValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcAppliedValueSelect>(true); } void Ifc2x3::IfcAppliedValue::setAppliedValue(::Ifc2x3::IfcAppliedValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc2x3::IfcMeasureWithUnit* Ifc2x3::IfcAppliedValue::UnitBasis() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcMeasureWithUnit>(); } +::Ifc2x3::IfcMeasureWithUnit* Ifc2x3::IfcAppliedValue::UnitBasis() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcMeasureWithUnit>(true); } void Ifc2x3::IfcAppliedValue::setUnitBasis(::Ifc2x3::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcAppliedValue::ApplicableDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcAppliedValue::ApplicableDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcAppliedValue::setApplicableDate(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcAppliedValue::FixedUntilDate() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcAppliedValue::FixedUntilDate() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcAppliedValue::setFixedUntilDate(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc2x3::IfcReferencesValueDocument::list::ptr Ifc2x3::IfcAppliedValue::ValuesReferenced() const { return data_->getInverse(IFC2X3_IfcReferencesValueDocument_type, 1)->as(); } @@ -9086,7 +9224,7 @@ Ifc2x3::IfcAppliedValue::IfcAppliedValue(IfcEntityInstanceData* e) : IfcUtil::If Ifc2x3::IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc2x3::IfcMeasureWithUnit* v4_UnitBasis, ::Ifc2x3::IfcDateTimeSelect* v5_ApplicableDate, ::Ifc2x3::IfcDateTimeSelect* v6_FixedUntilDate) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcAppliedValue_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_AppliedValue));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_UnitBasis));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ApplicableDate));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_FixedUntilDate));data_->setArgument(5,attr);} } // Function implementations for IfcAppliedValueRelationship -::Ifc2x3::IfcAppliedValue* Ifc2x3::IfcAppliedValueRelationship::ComponentOfTotal() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcAppliedValue>(); } +::Ifc2x3::IfcAppliedValue* Ifc2x3::IfcAppliedValueRelationship::ComponentOfTotal() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcAppliedValue>(true); } void Ifc2x3::IfcAppliedValueRelationship::setComponentOfTotal(::Ifc2x3::IfcAppliedValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc2x3::IfcAppliedValue >::ptr Ifc2x3::IfcAppliedValueRelationship::Components() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc2x3::IfcAppliedValue >(); } void Ifc2x3::IfcAppliedValueRelationship::setComponents(aggregate_of< ::Ifc2x3::IfcAppliedValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -9106,7 +9244,7 @@ Ifc2x3::IfcAppliedValueRelationship::IfcAppliedValueRelationship(::Ifc2x3::IfcAp // Function implementations for IfcApproval boost::optional< std::string > Ifc2x3::IfcApproval::Description() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc2x3::IfcApproval::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcApproval::ApprovalDateTime() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcApproval::ApprovalDateTime() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcApproval::setApprovalDateTime(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc2x3::IfcApproval::ApprovalStatus() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc2x3::IfcApproval::setApprovalStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } @@ -9129,11 +9267,11 @@ Ifc2x3::IfcApproval::IfcApproval(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEnt Ifc2x3::IfcApproval::IfcApproval(boost::optional< std::string > v1_Description, ::Ifc2x3::IfcDateTimeSelect* v2_ApprovalDateTime, boost::optional< std::string > v3_ApprovalStatus, boost::optional< std::string > v4_ApprovalLevel, boost::optional< std::string > v5_ApprovalQualifier, std::string v6_Name, std::string v7_Identifier) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcApproval_type); if (v1_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Description));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ApprovalDateTime));data_->setArgument(1,attr);} if (v3_ApprovalStatus) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ApprovalStatus));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_ApprovalLevel) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_ApprovalLevel));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApprovalQualifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApprovalQualifier));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Name));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Identifier));data_->setArgument(6,attr);} } // Function implementations for IfcApprovalActorRelationship -::Ifc2x3::IfcActorSelect* Ifc2x3::IfcApprovalActorRelationship::Actor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcActorSelect>(); } +::Ifc2x3::IfcActorSelect* Ifc2x3::IfcApprovalActorRelationship::Actor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcActorSelect>(true); } void Ifc2x3::IfcApprovalActorRelationship::setActor(::Ifc2x3::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcApproval* Ifc2x3::IfcApprovalActorRelationship::Approval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcApproval>(); } +::Ifc2x3::IfcApproval* Ifc2x3::IfcApprovalActorRelationship::Approval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcApproval>(true); } void Ifc2x3::IfcApprovalActorRelationship::setApproval(::Ifc2x3::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc2x3::IfcActorRole* Ifc2x3::IfcApprovalActorRelationship::Role() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcActorRole>(); } +::Ifc2x3::IfcActorRole* Ifc2x3::IfcApprovalActorRelationship::Role() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcActorRole>(true); } void Ifc2x3::IfcApprovalActorRelationship::setRole(::Ifc2x3::IfcActorRole* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -9145,7 +9283,7 @@ Ifc2x3::IfcApprovalActorRelationship::IfcApprovalActorRelationship(::Ifc2x3::Ifc // Function implementations for IfcApprovalPropertyRelationship aggregate_of< ::Ifc2x3::IfcProperty >::ptr Ifc2x3::IfcApprovalPropertyRelationship::ApprovedProperties() const { aggregate_of_instance::ptr es = *data_->getArgument(0); return es->as< ::Ifc2x3::IfcProperty >(); } void Ifc2x3::IfcApprovalPropertyRelationship::setApprovedProperties(aggregate_of< ::Ifc2x3::IfcProperty >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(0,attr);} } -::Ifc2x3::IfcApproval* Ifc2x3::IfcApprovalPropertyRelationship::Approval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcApproval>(); } +::Ifc2x3::IfcApproval* Ifc2x3::IfcApprovalPropertyRelationship::Approval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcApproval>(true); } void Ifc2x3::IfcApprovalPropertyRelationship::setApproval(::Ifc2x3::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -9155,9 +9293,9 @@ Ifc2x3::IfcApprovalPropertyRelationship::IfcApprovalPropertyRelationship(IfcEnti Ifc2x3::IfcApprovalPropertyRelationship::IfcApprovalPropertyRelationship(aggregate_of< ::Ifc2x3::IfcProperty >::ptr v1_ApprovedProperties, ::Ifc2x3::IfcApproval* v2_Approval) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcApprovalPropertyRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ApprovedProperties)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Approval));data_->setArgument(1,attr);} } // Function implementations for IfcApprovalRelationship -::Ifc2x3::IfcApproval* Ifc2x3::IfcApprovalRelationship::RelatedApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcApproval>(); } +::Ifc2x3::IfcApproval* Ifc2x3::IfcApprovalRelationship::RelatedApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcApproval>(true); } void Ifc2x3::IfcApprovalRelationship::setRelatedApproval(::Ifc2x3::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcApproval* Ifc2x3::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcApproval>(); } +::Ifc2x3::IfcApproval* Ifc2x3::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcApproval>(true); } void Ifc2x3::IfcApprovalRelationship::setRelatingApproval(::Ifc2x3::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc2x3::IfcApprovalRelationship::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc2x3::IfcApprovalRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } @@ -9171,7 +9309,7 @@ Ifc2x3::IfcApprovalRelationship::IfcApprovalRelationship(IfcEntityInstanceData* Ifc2x3::IfcApprovalRelationship::IfcApprovalRelationship(::Ifc2x3::IfcApproval* v1_RelatedApproval, ::Ifc2x3::IfcApproval* v2_RelatingApproval, boost::optional< std::string > v3_Description, std::string v4_Name) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcApprovalRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_RelatedApproval));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RelatingApproval));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Name));data_->setArgument(3,attr);} } // Function implementations for IfcArbitraryClosedProfileDef -::Ifc2x3::IfcCurve* Ifc2x3::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcCurve>(); } +::Ifc2x3::IfcCurve* Ifc2x3::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcCurve>(true); } void Ifc2x3::IfcArbitraryClosedProfileDef::setOuterCurve(::Ifc2x3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -9181,7 +9319,7 @@ Ifc2x3::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcEntityInst Ifc2x3::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcCurve* v3_OuterCurve) : IfcProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcArbitraryClosedProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc2x3::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_OuterCurve));data_->setArgument(2,attr);} } // Function implementations for IfcArbitraryOpenProfileDef -::Ifc2x3::IfcBoundedCurve* Ifc2x3::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcBoundedCurve>(); } +::Ifc2x3::IfcBoundedCurve* Ifc2x3::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcBoundedCurve>(true); } void Ifc2x3::IfcArbitraryOpenProfileDef::setCurve(::Ifc2x3::IfcBoundedCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -9203,21 +9341,21 @@ Ifc2x3::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::Ifc2x // Function implementations for IfcAsset std::string Ifc2x3::IfcAsset::AssetID() const { std::string v = *data_->getArgument(5); return v; } void Ifc2x3::IfcAsset::setAssetID(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc2x3::IfcCostValue* Ifc2x3::IfcAsset::OriginalValue() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcCostValue>(); } +::Ifc2x3::IfcCostValue* Ifc2x3::IfcAsset::OriginalValue() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcCostValue>(true); } void Ifc2x3::IfcAsset::setOriginalValue(::Ifc2x3::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc2x3::IfcCostValue* Ifc2x3::IfcAsset::CurrentValue() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcCostValue>(); } +::Ifc2x3::IfcCostValue* Ifc2x3::IfcAsset::CurrentValue() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcCostValue>(true); } void Ifc2x3::IfcAsset::setCurrentValue(::Ifc2x3::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -::Ifc2x3::IfcCostValue* Ifc2x3::IfcAsset::TotalReplacementCost() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcCostValue>(); } +::Ifc2x3::IfcCostValue* Ifc2x3::IfcAsset::TotalReplacementCost() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcCostValue>(true); } void Ifc2x3::IfcAsset::setTotalReplacementCost(::Ifc2x3::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -::Ifc2x3::IfcActorSelect* Ifc2x3::IfcAsset::Owner() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc2x3::IfcActorSelect>(); } +::Ifc2x3::IfcActorSelect* Ifc2x3::IfcAsset::Owner() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc2x3::IfcActorSelect>(true); } void Ifc2x3::IfcAsset::setOwner(::Ifc2x3::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -::Ifc2x3::IfcActorSelect* Ifc2x3::IfcAsset::User() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc2x3::IfcActorSelect>(); } +::Ifc2x3::IfcActorSelect* Ifc2x3::IfcAsset::User() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc2x3::IfcActorSelect>(true); } void Ifc2x3::IfcAsset::setUser(::Ifc2x3::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -::Ifc2x3::IfcPerson* Ifc2x3::IfcAsset::ResponsiblePerson() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc2x3::IfcPerson>(); } +::Ifc2x3::IfcPerson* Ifc2x3::IfcAsset::ResponsiblePerson() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc2x3::IfcPerson>(true); } void Ifc2x3::IfcAsset::setResponsiblePerson(::Ifc2x3::IfcPerson* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } -::Ifc2x3::IfcCalendarDate* Ifc2x3::IfcAsset::IncorporationDate() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc2x3::IfcCalendarDate>(); } +::Ifc2x3::IfcCalendarDate* Ifc2x3::IfcAsset::IncorporationDate() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc2x3::IfcCalendarDate>(true); } void Ifc2x3::IfcAsset::setIncorporationDate(::Ifc2x3::IfcCalendarDate* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } -::Ifc2x3::IfcCostValue* Ifc2x3::IfcAsset::DepreciatedValue() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc2x3::IfcCostValue>(); } +::Ifc2x3::IfcCostValue* Ifc2x3::IfcAsset::DepreciatedValue() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc2x3::IfcCostValue>(true); } void Ifc2x3::IfcAsset::setDepreciatedValue(::Ifc2x3::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } @@ -9243,7 +9381,7 @@ Ifc2x3::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(IfcEntityIn Ifc2x3::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D* v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, double v9_TopFlangeWidth, boost::optional< double > v10_TopFlangeThickness, boost::optional< double > v11_TopFlangeFilletRadius, boost::optional< double > v12_CentreOfGravityInY) : IfcIShapeProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcAsymmetricIShapeProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc2x3::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_OverallWidth));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_OverallDepth));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_WebThickness));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_FlangeThickness));data_->setArgument(6,attr);} if (v8_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_FilletRadius));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_TopFlangeWidth));data_->setArgument(8,attr);} if (v10_TopFlangeThickness) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_TopFlangeThickness));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_TopFlangeFilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_TopFlangeFilletRadius));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CentreOfGravityInY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CentreOfGravityInY));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } } // Function implementations for IfcAxis1Placement -::Ifc2x3::IfcDirection* Ifc2x3::IfcAxis1Placement::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcDirection>(); } +::Ifc2x3::IfcDirection* Ifc2x3::IfcAxis1Placement::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcDirection>(true); } void Ifc2x3::IfcAxis1Placement::setAxis(::Ifc2x3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -9253,7 +9391,7 @@ Ifc2x3::IfcAxis1Placement::IfcAxis1Placement(IfcEntityInstanceData* e) : IfcPlac Ifc2x3::IfcAxis1Placement::IfcAxis1Placement(::Ifc2x3::IfcCartesianPoint* v1_Location, ::Ifc2x3::IfcDirection* v2_Axis) : IfcPlacement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcAxis1Placement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Location));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Axis));data_->setArgument(1,attr);} } // Function implementations for IfcAxis2Placement2D -::Ifc2x3::IfcDirection* Ifc2x3::IfcAxis2Placement2D::RefDirection() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcDirection>(); } +::Ifc2x3::IfcDirection* Ifc2x3::IfcAxis2Placement2D::RefDirection() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcDirection>(true); } void Ifc2x3::IfcAxis2Placement2D::setRefDirection(::Ifc2x3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -9263,9 +9401,9 @@ Ifc2x3::IfcAxis2Placement2D::IfcAxis2Placement2D(IfcEntityInstanceData* e) : Ifc Ifc2x3::IfcAxis2Placement2D::IfcAxis2Placement2D(::Ifc2x3::IfcCartesianPoint* v1_Location, ::Ifc2x3::IfcDirection* v2_RefDirection) : IfcPlacement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcAxis2Placement2D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Location));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RefDirection));data_->setArgument(1,attr);} } // Function implementations for IfcAxis2Placement3D -::Ifc2x3::IfcDirection* Ifc2x3::IfcAxis2Placement3D::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcDirection>(); } +::Ifc2x3::IfcDirection* Ifc2x3::IfcAxis2Placement3D::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcDirection>(true); } void Ifc2x3::IfcAxis2Placement3D::setAxis(::Ifc2x3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc2x3::IfcDirection* Ifc2x3::IfcAxis2Placement3D::RefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcDirection>(); } +::Ifc2x3::IfcDirection* Ifc2x3::IfcAxis2Placement3D::RefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcDirection>(true); } void Ifc2x3::IfcAxis2Placement3D::setRefDirection(::Ifc2x3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -9365,9 +9503,9 @@ Ifc2x3::IfcBooleanClippingResult::IfcBooleanClippingResult(::Ifc2x3::IfcBooleanO // Function implementations for IfcBooleanResult ::Ifc2x3::IfcBooleanOperator::Value Ifc2x3::IfcBooleanResult::Operator() const { return ::Ifc2x3::IfcBooleanOperator::FromString(*data_->getArgument(0)); } void Ifc2x3::IfcBooleanResult::setOperator(::Ifc2x3::IfcBooleanOperator::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcBooleanOperator::ToString(v)));data_->setArgument(0,attr);} } -::Ifc2x3::IfcBooleanOperand* Ifc2x3::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcBooleanOperand>(); } +::Ifc2x3::IfcBooleanOperand* Ifc2x3::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcBooleanOperand>(true); } void Ifc2x3::IfcBooleanResult::setFirstOperand(::Ifc2x3::IfcBooleanOperand* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc2x3::IfcBooleanOperand* Ifc2x3::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcBooleanOperand>(); } +::Ifc2x3::IfcBooleanOperand* Ifc2x3::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcBooleanOperand>(true); } void Ifc2x3::IfcBooleanResult::setSecondOperand(::Ifc2x3::IfcBooleanOperand* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -9467,7 +9605,7 @@ Ifc2x3::IfcBoundedSurface::IfcBoundedSurface(IfcEntityInstanceData* e) : IfcSurf Ifc2x3::IfcBoundedSurface::IfcBoundedSurface() : IfcSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcBoundedSurface_type); } // Function implementations for IfcBoundingBox -::Ifc2x3::IfcCartesianPoint* Ifc2x3::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcCartesianPoint>(); } +::Ifc2x3::IfcCartesianPoint* Ifc2x3::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcCartesianPoint>(true); } void Ifc2x3::IfcBoundingBox::setCorner(::Ifc2x3::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc2x3::IfcBoundingBox::XDim() const { double v = *data_->getArgument(1); return v; } void Ifc2x3::IfcBoundingBox::setXDim(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -9483,7 +9621,7 @@ Ifc2x3::IfcBoundingBox::IfcBoundingBox(IfcEntityInstanceData* e) : IfcGeometricR Ifc2x3::IfcBoundingBox::IfcBoundingBox(::Ifc2x3::IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcBoundingBox_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Corner));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_XDim));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_YDim));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ZDim));data_->setArgument(3,attr);} } // Function implementations for IfcBoxedHalfSpace -::Ifc2x3::IfcBoundingBox* Ifc2x3::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcBoundingBox>(); } +::Ifc2x3::IfcBoundingBox* Ifc2x3::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcBoundingBox>(true); } void Ifc2x3::IfcBoxedHalfSpace::setEnclosure(::Ifc2x3::IfcBoundingBox* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -9497,7 +9635,7 @@ boost::optional< double > Ifc2x3::IfcBuilding::ElevationOfRefHeight() const { if void Ifc2x3::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } boost::optional< double > Ifc2x3::IfcBuilding::ElevationOfTerrain() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } void Ifc2x3::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } -::Ifc2x3::IfcPostalAddress* Ifc2x3::IfcBuilding::BuildingAddress() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc2x3::IfcPostalAddress>(); } +::Ifc2x3::IfcPostalAddress* Ifc2x3::IfcBuilding::BuildingAddress() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc2x3::IfcPostalAddress>(true); } void Ifc2x3::IfcBuilding::setBuildingAddress(::Ifc2x3::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } @@ -9643,11 +9781,11 @@ Ifc2x3::IfcCartesianPoint::IfcCartesianPoint(IfcEntityInstanceData* e) : IfcPoin Ifc2x3::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ v1_Coordinates) : IfcPoint((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcCartesianPoint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Coordinates));data_->setArgument(0,attr);} } // Function implementations for IfcCartesianTransformationOperator -::Ifc2x3::IfcDirection* Ifc2x3::IfcCartesianTransformationOperator::Axis1() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcDirection>(); } +::Ifc2x3::IfcDirection* Ifc2x3::IfcCartesianTransformationOperator::Axis1() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcDirection>(true); } void Ifc2x3::IfcCartesianTransformationOperator::setAxis1(::Ifc2x3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcDirection* Ifc2x3::IfcCartesianTransformationOperator::Axis2() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcDirection>(); } +::Ifc2x3::IfcDirection* Ifc2x3::IfcCartesianTransformationOperator::Axis2() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcDirection>(true); } void Ifc2x3::IfcCartesianTransformationOperator::setAxis2(::Ifc2x3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc2x3::IfcCartesianPoint* Ifc2x3::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcCartesianPoint>(); } +::Ifc2x3::IfcCartesianPoint* Ifc2x3::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcCartesianPoint>(true); } void Ifc2x3::IfcCartesianTransformationOperator::setLocalOrigin(::Ifc2x3::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc2x3::IfcCartesianTransformationOperator::Scale() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc2x3::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } @@ -9677,7 +9815,7 @@ Ifc2x3::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformati Ifc2x3::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(::Ifc2x3::IfcDirection* v1_Axis1, ::Ifc2x3::IfcDirection* v2_Axis2, ::Ifc2x3::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2) : IfcCartesianTransformationOperator2D((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcCartesianTransformationOperator2DnonUniform_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Axis1));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Axis2));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_LocalOrigin));data_->setArgument(2,attr);} if (v4_Scale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Scale));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Scale2) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Scale2));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcCartesianTransformationOperator3D -::Ifc2x3::IfcDirection* Ifc2x3::IfcCartesianTransformationOperator3D::Axis3() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcDirection>(); } +::Ifc2x3::IfcDirection* Ifc2x3::IfcCartesianTransformationOperator3D::Axis3() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcDirection>(true); } void Ifc2x3::IfcCartesianTransformationOperator3D::setAxis3(::Ifc2x3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -9765,7 +9903,7 @@ std::string Ifc2x3::IfcClassification::Source() const { std::string v = *data_- void Ifc2x3::IfcClassification::setSource(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } std::string Ifc2x3::IfcClassification::Edition() const { std::string v = *data_->getArgument(1); return v; } void Ifc2x3::IfcClassification::setEdition(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc2x3::IfcCalendarDate* Ifc2x3::IfcClassification::EditionDate() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcCalendarDate>(); } +::Ifc2x3::IfcCalendarDate* Ifc2x3::IfcClassification::EditionDate() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcCalendarDate>(true); } void Ifc2x3::IfcClassification::setEditionDate(::Ifc2x3::IfcCalendarDate* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } std::string Ifc2x3::IfcClassification::Name() const { std::string v = *data_->getArgument(3); return v; } void Ifc2x3::IfcClassification::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -9778,9 +9916,9 @@ Ifc2x3::IfcClassification::IfcClassification(IfcEntityInstanceData* e) : IfcUtil Ifc2x3::IfcClassification::IfcClassification(std::string v1_Source, std::string v2_Edition, ::Ifc2x3::IfcCalendarDate* v3_EditionDate, std::string v4_Name) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcClassification_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Source));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Edition));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_EditionDate));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Name));data_->setArgument(3,attr);} } // Function implementations for IfcClassificationItem -::Ifc2x3::IfcClassificationNotationFacet* Ifc2x3::IfcClassificationItem::Notation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcClassificationNotationFacet>(); } +::Ifc2x3::IfcClassificationNotationFacet* Ifc2x3::IfcClassificationItem::Notation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcClassificationNotationFacet>(true); } void Ifc2x3::IfcClassificationItem::setNotation(::Ifc2x3::IfcClassificationNotationFacet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcClassification* Ifc2x3::IfcClassificationItem::ItemOf() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcClassification>(); } +::Ifc2x3::IfcClassification* Ifc2x3::IfcClassificationItem::ItemOf() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcClassification>(true); } void Ifc2x3::IfcClassificationItem::setItemOf(::Ifc2x3::IfcClassification* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } std::string Ifc2x3::IfcClassificationItem::Title() const { std::string v = *data_->getArgument(2); return v; } void Ifc2x3::IfcClassificationItem::setTitle(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -9794,7 +9932,7 @@ Ifc2x3::IfcClassificationItem::IfcClassificationItem(IfcEntityInstanceData* e) : Ifc2x3::IfcClassificationItem::IfcClassificationItem(::Ifc2x3::IfcClassificationNotationFacet* v1_Notation, ::Ifc2x3::IfcClassification* v2_ItemOf, std::string v3_Title) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcClassificationItem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Notation));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ItemOf));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Title));data_->setArgument(2,attr);} } // Function implementations for IfcClassificationItemRelationship -::Ifc2x3::IfcClassificationItem* Ifc2x3::IfcClassificationItemRelationship::RelatingItem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcClassificationItem>(); } +::Ifc2x3::IfcClassificationItem* Ifc2x3::IfcClassificationItemRelationship::RelatingItem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcClassificationItem>(true); } void Ifc2x3::IfcClassificationItemRelationship::setRelatingItem(::Ifc2x3::IfcClassificationItem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc2x3::IfcClassificationItem >::ptr Ifc2x3::IfcClassificationItemRelationship::RelatedItems() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc2x3::IfcClassificationItem >(); } void Ifc2x3::IfcClassificationItemRelationship::setRelatedItems(aggregate_of< ::Ifc2x3::IfcClassificationItem >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -9826,7 +9964,7 @@ Ifc2x3::IfcClassificationNotationFacet::IfcClassificationNotationFacet(IfcEntity Ifc2x3::IfcClassificationNotationFacet::IfcClassificationNotationFacet(std::string v1_NotationValue) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcClassificationNotationFacet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_NotationValue));data_->setArgument(0,attr);} } // Function implementations for IfcClassificationReference -::Ifc2x3::IfcClassification* Ifc2x3::IfcClassificationReference::ReferencedSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcClassification>(); } +::Ifc2x3::IfcClassification* Ifc2x3::IfcClassificationReference::ReferencedSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcClassification>(true); } void Ifc2x3::IfcClassificationReference::setReferencedSource(::Ifc2x3::IfcClassification* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -9924,7 +10062,7 @@ Ifc2x3::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc2x3::IfcComposit void Ifc2x3::IfcCompositeCurveSegment::setTransition(::Ifc2x3::IfcTransitionCode::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcTransitionCode::ToString(v)));data_->setArgument(0,attr);} } bool Ifc2x3::IfcCompositeCurveSegment::SameSense() const { bool v = *data_->getArgument(1); return v; } void Ifc2x3::IfcCompositeCurveSegment::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc2x3::IfcCurve* Ifc2x3::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcCurve>(); } +::Ifc2x3::IfcCurve* Ifc2x3::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcCurve>(true); } void Ifc2x3::IfcCompositeCurveSegment::setParentCurve(::Ifc2x3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc2x3::IfcCompositeCurve::list::ptr Ifc2x3::IfcCompositeCurveSegment::UsingCurves() const { return data_->getInverse(IFC2X3_IfcCompositeCurve_type, 0)->as(); } @@ -9975,9 +10113,9 @@ Ifc2x3::IfcCondition::IfcCondition(IfcEntityInstanceData* e) : IfcGroup((IfcEnti Ifc2x3::IfcCondition::IfcCondition(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcGroup((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcCondition_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcConditionCriterion -::Ifc2x3::IfcConditionCriterionSelect* Ifc2x3::IfcConditionCriterion::Criterion() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcConditionCriterionSelect>(); } +::Ifc2x3::IfcConditionCriterionSelect* Ifc2x3::IfcConditionCriterion::Criterion() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcConditionCriterionSelect>(true); } void Ifc2x3::IfcConditionCriterion::setCriterion(::Ifc2x3::IfcConditionCriterionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcConditionCriterion::CriterionDateTime() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcConditionCriterion::CriterionDateTime() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcConditionCriterion::setCriterionDateTime(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -9987,7 +10125,7 @@ Ifc2x3::IfcConditionCriterion::IfcConditionCriterion(IfcEntityInstanceData* e) : Ifc2x3::IfcConditionCriterion::IfcConditionCriterion(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcConditionCriterionSelect* v6_Criterion, ::Ifc2x3::IfcDateTimeSelect* v7_CriterionDateTime) : IfcControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcConditionCriterion_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Criterion));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_CriterionDateTime));data_->setArgument(6,attr);} } // Function implementations for IfcConic -::Ifc2x3::IfcAxis2Placement* Ifc2x3::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcAxis2Placement>(); } +::Ifc2x3::IfcAxis2Placement* Ifc2x3::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcAxis2Placement>(true); } void Ifc2x3::IfcConic::setPosition(::Ifc2x3::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -10007,9 +10145,9 @@ Ifc2x3::IfcConnectedFaceSet::IfcConnectedFaceSet(IfcEntityInstanceData* e) : Ifc Ifc2x3::IfcConnectedFaceSet::IfcConnectedFaceSet(aggregate_of< ::Ifc2x3::IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcConnectedFaceSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CfsFaces)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcConnectionCurveGeometry -::Ifc2x3::IfcCurveOrEdgeCurve* Ifc2x3::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcCurveOrEdgeCurve>(); } +::Ifc2x3::IfcCurveOrEdgeCurve* Ifc2x3::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcCurveOrEdgeCurve>(true); } void Ifc2x3::IfcConnectionCurveGeometry::setCurveOnRelatingElement(::Ifc2x3::IfcCurveOrEdgeCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcCurveOrEdgeCurve* Ifc2x3::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcCurveOrEdgeCurve>(); } +::Ifc2x3::IfcCurveOrEdgeCurve* Ifc2x3::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcCurveOrEdgeCurve>(true); } void Ifc2x3::IfcConnectionCurveGeometry::setCurveOnRelatedElement(::Ifc2x3::IfcCurveOrEdgeCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -10041,9 +10179,9 @@ Ifc2x3::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcEntity Ifc2x3::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(::Ifc2x3::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc2x3::IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcConnectionPointEccentricity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_PointOnRelatingElement));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PointOnRelatedElement));data_->setArgument(1,attr);} if (v3_EccentricityInX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EccentricityInX));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_EccentricityInY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_EccentricityInY));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_EccentricityInZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_EccentricityInZ));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcConnectionPointGeometry -::Ifc2x3::IfcPointOrVertexPoint* Ifc2x3::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcPointOrVertexPoint>(); } +::Ifc2x3::IfcPointOrVertexPoint* Ifc2x3::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcPointOrVertexPoint>(true); } void Ifc2x3::IfcConnectionPointGeometry::setPointOnRelatingElement(::Ifc2x3::IfcPointOrVertexPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcPointOrVertexPoint* Ifc2x3::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcPointOrVertexPoint>(); } +::Ifc2x3::IfcPointOrVertexPoint* Ifc2x3::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcPointOrVertexPoint>(true); } void Ifc2x3::IfcConnectionPointGeometry::setPointOnRelatedElement(::Ifc2x3::IfcPointOrVertexPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -10053,11 +10191,11 @@ Ifc2x3::IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcEntityInstance Ifc2x3::IfcConnectionPointGeometry::IfcConnectionPointGeometry(::Ifc2x3::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc2x3::IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcConnectionPointGeometry_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_PointOnRelatingElement));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PointOnRelatedElement));data_->setArgument(1,attr);} } // Function implementations for IfcConnectionPortGeometry -::Ifc2x3::IfcAxis2Placement* Ifc2x3::IfcConnectionPortGeometry::LocationAtRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcAxis2Placement>(); } +::Ifc2x3::IfcAxis2Placement* Ifc2x3::IfcConnectionPortGeometry::LocationAtRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcAxis2Placement>(true); } void Ifc2x3::IfcConnectionPortGeometry::setLocationAtRelatingElement(::Ifc2x3::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcAxis2Placement* Ifc2x3::IfcConnectionPortGeometry::LocationAtRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcAxis2Placement>(); } +::Ifc2x3::IfcAxis2Placement* Ifc2x3::IfcConnectionPortGeometry::LocationAtRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcAxis2Placement>(true); } void Ifc2x3::IfcConnectionPortGeometry::setLocationAtRelatedElement(::Ifc2x3::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc2x3::IfcProfileDef* Ifc2x3::IfcConnectionPortGeometry::ProfileOfPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcProfileDef>(); } +::Ifc2x3::IfcProfileDef* Ifc2x3::IfcConnectionPortGeometry::ProfileOfPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcProfileDef>(true); } void Ifc2x3::IfcConnectionPortGeometry::setProfileOfPort(::Ifc2x3::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -10067,9 +10205,9 @@ Ifc2x3::IfcConnectionPortGeometry::IfcConnectionPortGeometry(IfcEntityInstanceDa Ifc2x3::IfcConnectionPortGeometry::IfcConnectionPortGeometry(::Ifc2x3::IfcAxis2Placement* v1_LocationAtRelatingElement, ::Ifc2x3::IfcAxis2Placement* v2_LocationAtRelatedElement, ::Ifc2x3::IfcProfileDef* v3_ProfileOfPort) : IfcConnectionGeometry((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcConnectionPortGeometry_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_LocationAtRelatingElement));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LocationAtRelatedElement));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ProfileOfPort));data_->setArgument(2,attr);} } // Function implementations for IfcConnectionSurfaceGeometry -::Ifc2x3::IfcSurfaceOrFaceSurface* Ifc2x3::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcSurfaceOrFaceSurface>(); } +::Ifc2x3::IfcSurfaceOrFaceSurface* Ifc2x3::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcSurfaceOrFaceSurface>(true); } void Ifc2x3::IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(::Ifc2x3::IfcSurfaceOrFaceSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcSurfaceOrFaceSurface* Ifc2x3::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcSurfaceOrFaceSurface>(); } +::Ifc2x3::IfcSurfaceOrFaceSurface* Ifc2x3::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcSurfaceOrFaceSurface>(true); } void Ifc2x3::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(::Ifc2x3::IfcSurfaceOrFaceSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -10087,9 +10225,9 @@ void Ifc2x3::IfcConstraint::setDescription(boost::optional< std::string > v) { { void Ifc2x3::IfcConstraint::setConstraintGrade(::Ifc2x3::IfcConstraintEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcConstraintEnum::ToString(v)));data_->setArgument(2,attr);} } boost::optional< std::string > Ifc2x3::IfcConstraint::ConstraintSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc2x3::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } -::Ifc2x3::IfcActorSelect* Ifc2x3::IfcConstraint::CreatingActor() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcActorSelect>(); } +::Ifc2x3::IfcActorSelect* Ifc2x3::IfcConstraint::CreatingActor() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcActorSelect>(true); } void Ifc2x3::IfcConstraint::setCreatingActor(::Ifc2x3::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcConstraint::CreationTime() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcConstraint::CreationTime() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcConstraint::setCreationTime(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } boost::optional< std::string > Ifc2x3::IfcConstraint::UserDefinedGrade() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc2x3::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } @@ -10111,7 +10249,7 @@ boost::optional< std::string > Ifc2x3::IfcConstraintAggregationRelationship::Nam void Ifc2x3::IfcConstraintAggregationRelationship::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc2x3::IfcConstraintAggregationRelationship::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc2x3::IfcConstraintAggregationRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc2x3::IfcConstraint* Ifc2x3::IfcConstraintAggregationRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcConstraint>(); } +::Ifc2x3::IfcConstraint* Ifc2x3::IfcConstraintAggregationRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcConstraint>(true); } void Ifc2x3::IfcConstraintAggregationRelationship::setRelatingConstraint(::Ifc2x3::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc2x3::IfcConstraint >::ptr Ifc2x3::IfcConstraintAggregationRelationship::RelatedConstraints() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc2x3::IfcConstraint >(); } void Ifc2x3::IfcConstraintAggregationRelationship::setRelatedConstraints(aggregate_of< ::Ifc2x3::IfcConstraint >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -10125,7 +10263,7 @@ Ifc2x3::IfcConstraintAggregationRelationship::IfcConstraintAggregationRelationsh Ifc2x3::IfcConstraintAggregationRelationship::IfcConstraintAggregationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc2x3::IfcConstraint >::ptr v4_RelatedConstraints, ::Ifc2x3::IfcLogicalOperatorEnum::Value v5_LogicalAggregator) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcConstraintAggregationRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingConstraint));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedConstraints)->generalize());data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_LogicalAggregator,::Ifc2x3::IfcLogicalOperatorEnum::ToString(v5_LogicalAggregator))));data_->setArgument(4,attr);} } // Function implementations for IfcConstraintClassificationRelationship -::Ifc2x3::IfcConstraint* Ifc2x3::IfcConstraintClassificationRelationship::ClassifiedConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcConstraint>(); } +::Ifc2x3::IfcConstraint* Ifc2x3::IfcConstraintClassificationRelationship::ClassifiedConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcConstraint>(true); } void Ifc2x3::IfcConstraintClassificationRelationship::setClassifiedConstraint(::Ifc2x3::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of_instance::ptr Ifc2x3::IfcConstraintClassificationRelationship::RelatedClassifications() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc2x3::IfcConstraintClassificationRelationship::setRelatedClassifications(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -10141,7 +10279,7 @@ boost::optional< std::string > Ifc2x3::IfcConstraintRelationship::Name() const { void Ifc2x3::IfcConstraintRelationship::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc2x3::IfcConstraintRelationship::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc2x3::IfcConstraintRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc2x3::IfcConstraint* Ifc2x3::IfcConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcConstraint>(); } +::Ifc2x3::IfcConstraint* Ifc2x3::IfcConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcConstraint>(true); } void Ifc2x3::IfcConstraintRelationship::setRelatingConstraint(::Ifc2x3::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc2x3::IfcConstraint >::ptr Ifc2x3::IfcConstraintRelationship::RelatedConstraints() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc2x3::IfcConstraint >(); } void Ifc2x3::IfcConstraintRelationship::setRelatedConstraints(aggregate_of< ::Ifc2x3::IfcConstraint >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -10187,7 +10325,7 @@ boost::optional< std::string > Ifc2x3::IfcConstructionResource::ResourceGroup() void Ifc2x3::IfcConstructionResource::setResourceGroup(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } boost::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > Ifc2x3::IfcConstructionResource::ResourceConsumption() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc2x3::IfcResourceConsumptionEnum::FromString(*data_->getArgument(7)); } void Ifc2x3::IfcConstructionResource::setResourceConsumption(boost::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcResourceConsumptionEnum::ToString(*v)));data_->setArgument(7,attr);} } -::Ifc2x3::IfcMeasureWithUnit* Ifc2x3::IfcConstructionResource::BaseQuantity() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcMeasureWithUnit>(); } +::Ifc2x3::IfcMeasureWithUnit* Ifc2x3::IfcConstructionResource::BaseQuantity() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcMeasureWithUnit>(true); } void Ifc2x3::IfcConstructionResource::setBaseQuantity(::Ifc2x3::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -10228,7 +10366,7 @@ Ifc2x3::IfcControllerType::IfcControllerType(std::string v1_GlobalId, ::Ifc2x3:: // Function implementations for IfcConversionBasedUnit std::string Ifc2x3::IfcConversionBasedUnit::Name() const { std::string v = *data_->getArgument(2); return v; } void Ifc2x3::IfcConversionBasedUnit::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc2x3::IfcMeasureWithUnit* Ifc2x3::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcMeasureWithUnit>(); } +::Ifc2x3::IfcMeasureWithUnit* Ifc2x3::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcMeasureWithUnit>(true); } void Ifc2x3::IfcConversionBasedUnit::setConversionFactor(::Ifc2x3::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -10280,17 +10418,17 @@ Ifc2x3::IfcCostItem::IfcCostItem(IfcEntityInstanceData* e) : IfcControl((IfcEnti Ifc2x3::IfcCostItem::IfcCostItem(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcCostItem_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcCostSchedule -::Ifc2x3::IfcActorSelect* Ifc2x3::IfcCostSchedule::SubmittedBy() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcActorSelect>(); } +::Ifc2x3::IfcActorSelect* Ifc2x3::IfcCostSchedule::SubmittedBy() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcActorSelect>(true); } void Ifc2x3::IfcCostSchedule::setSubmittedBy(::Ifc2x3::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc2x3::IfcActorSelect* Ifc2x3::IfcCostSchedule::PreparedBy() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcActorSelect>(); } +::Ifc2x3::IfcActorSelect* Ifc2x3::IfcCostSchedule::PreparedBy() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcActorSelect>(true); } void Ifc2x3::IfcCostSchedule::setPreparedBy(::Ifc2x3::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcCostSchedule::SubmittedOn() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcCostSchedule::SubmittedOn() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcCostSchedule::setSubmittedOn(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< std::string > Ifc2x3::IfcCostSchedule::Status() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc2x3::IfcCostSchedule::setStatus(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc2x3::IfcCostSchedule::TargetUsers() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(9); return v; } void Ifc2x3::IfcCostSchedule::setTargetUsers(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcCostSchedule::UpdateDate() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcCostSchedule::UpdateDate() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcCostSchedule::setUpdateDate(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } std::string Ifc2x3::IfcCostSchedule::ID() const { std::string v = *data_->getArgument(11); return v; } void Ifc2x3::IfcCostSchedule::setID(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } @@ -10404,7 +10542,7 @@ Ifc2x3::IfcCrewResource::IfcCrewResource(IfcEntityInstanceData* e) : IfcConstruc Ifc2x3::IfcCrewResource::IfcCrewResource(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit* v9_BaseQuantity) : IfcConstructionResource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcCrewResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ResourceIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ResourceIdentifier));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ResourceGroup) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ResourceGroup));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_ResourceConsumption) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_ResourceConsumption,::Ifc2x3::IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_BaseQuantity));data_->setArgument(8,attr);} } // Function implementations for IfcCsgPrimitive3D -::Ifc2x3::IfcAxis2Placement3D* Ifc2x3::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcAxis2Placement3D>(); } +::Ifc2x3::IfcAxis2Placement3D* Ifc2x3::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcAxis2Placement3D>(true); } void Ifc2x3::IfcCsgPrimitive3D::setPosition(::Ifc2x3::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -10414,7 +10552,7 @@ Ifc2x3::IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcEntityInstanceData* e) : IfcGeom Ifc2x3::IfcCsgPrimitive3D::IfcCsgPrimitive3D(::Ifc2x3::IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcCsgPrimitive3D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);} } // Function implementations for IfcCsgSolid -::Ifc2x3::IfcCsgSelect* Ifc2x3::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcCsgSelect>(); } +::Ifc2x3::IfcCsgSelect* Ifc2x3::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcCsgSelect>(true); } void Ifc2x3::IfcCsgSolid::setTreeRootExpression(::Ifc2x3::IfcCsgSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -10424,15 +10562,15 @@ Ifc2x3::IfcCsgSolid::IfcCsgSolid(IfcEntityInstanceData* e) : IfcSolidModel((IfcE Ifc2x3::IfcCsgSolid::IfcCsgSolid(::Ifc2x3::IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcCsgSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TreeRootExpression));data_->setArgument(0,attr);} } // Function implementations for IfcCurrencyRelationship -::Ifc2x3::IfcMonetaryUnit* Ifc2x3::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcMonetaryUnit>(); } +::Ifc2x3::IfcMonetaryUnit* Ifc2x3::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcMonetaryUnit>(true); } void Ifc2x3::IfcCurrencyRelationship::setRelatingMonetaryUnit(::Ifc2x3::IfcMonetaryUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcMonetaryUnit* Ifc2x3::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcMonetaryUnit>(); } +::Ifc2x3::IfcMonetaryUnit* Ifc2x3::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcMonetaryUnit>(true); } void Ifc2x3::IfcCurrencyRelationship::setRelatedMonetaryUnit(::Ifc2x3::IfcMonetaryUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } double Ifc2x3::IfcCurrencyRelationship::ExchangeRate() const { double v = *data_->getArgument(2); return v; } void Ifc2x3::IfcCurrencyRelationship::setExchangeRate(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc2x3::IfcDateAndTime* Ifc2x3::IfcCurrencyRelationship::RateDateTime() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcDateAndTime>(); } +::Ifc2x3::IfcDateAndTime* Ifc2x3::IfcCurrencyRelationship::RateDateTime() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcDateAndTime>(true); } void Ifc2x3::IfcCurrencyRelationship::setRateDateTime(::Ifc2x3::IfcDateAndTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc2x3::IfcLibraryInformation* Ifc2x3::IfcCurrencyRelationship::RateSource() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcLibraryInformation>(); } +::Ifc2x3::IfcLibraryInformation* Ifc2x3::IfcCurrencyRelationship::RateSource() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcLibraryInformation>(true); } void Ifc2x3::IfcCurrencyRelationship::setRateSource(::Ifc2x3::IfcLibraryInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -10468,9 +10606,9 @@ Ifc2x3::IfcCurve::IfcCurve(IfcEntityInstanceData* e) : IfcGeometricRepresentatio Ifc2x3::IfcCurve::IfcCurve() : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcCurve_type); } // Function implementations for IfcCurveBoundedPlane -::Ifc2x3::IfcPlane* Ifc2x3::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcPlane>(); } +::Ifc2x3::IfcPlane* Ifc2x3::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcPlane>(true); } void Ifc2x3::IfcCurveBoundedPlane::setBasisSurface(::Ifc2x3::IfcPlane* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcCurve* Ifc2x3::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcCurve>(); } +::Ifc2x3::IfcCurve* Ifc2x3::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcCurve>(true); } void Ifc2x3::IfcCurveBoundedPlane::setOuterBoundary(::Ifc2x3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } aggregate_of< ::Ifc2x3::IfcCurve >::ptr Ifc2x3::IfcCurveBoundedPlane::InnerBoundaries() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc2x3::IfcCurve >(); } void Ifc2x3::IfcCurveBoundedPlane::setInnerBoundaries(aggregate_of< ::Ifc2x3::IfcCurve >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } @@ -10482,11 +10620,11 @@ Ifc2x3::IfcCurveBoundedPlane::IfcCurveBoundedPlane(IfcEntityInstanceData* e) : I Ifc2x3::IfcCurveBoundedPlane::IfcCurveBoundedPlane(::Ifc2x3::IfcPlane* v1_BasisSurface, ::Ifc2x3::IfcCurve* v2_OuterBoundary, aggregate_of< ::Ifc2x3::IfcCurve >::ptr v3_InnerBoundaries) : IfcBoundedSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcCurveBoundedPlane_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisSurface));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OuterBoundary));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_InnerBoundaries)->generalize());data_->setArgument(2,attr);} } // Function implementations for IfcCurveStyle -::Ifc2x3::IfcCurveFontOrScaledCurveFontSelect* Ifc2x3::IfcCurveStyle::CurveFont() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcCurveFontOrScaledCurveFontSelect>(); } +::Ifc2x3::IfcCurveFontOrScaledCurveFontSelect* Ifc2x3::IfcCurveStyle::CurveFont() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcCurveFontOrScaledCurveFontSelect>(true); } void Ifc2x3::IfcCurveStyle::setCurveFont(::Ifc2x3::IfcCurveFontOrScaledCurveFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc2x3::IfcSizeSelect* Ifc2x3::IfcCurveStyle::CurveWidth() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcSizeSelect>(); } +::Ifc2x3::IfcSizeSelect* Ifc2x3::IfcCurveStyle::CurveWidth() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcSizeSelect>(true); } void Ifc2x3::IfcCurveStyle::setCurveWidth(::Ifc2x3::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc2x3::IfcColour* Ifc2x3::IfcCurveStyle::CurveColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcColour>(); } +::Ifc2x3::IfcColour* Ifc2x3::IfcCurveStyle::CurveColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcColour>(true); } void Ifc2x3::IfcCurveStyle::setCurveColour(::Ifc2x3::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -10510,7 +10648,7 @@ Ifc2x3::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_N // Function implementations for IfcCurveStyleFontAndScaling boost::optional< std::string > Ifc2x3::IfcCurveStyleFontAndScaling::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc2x3::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcCurveStyleFontSelect* Ifc2x3::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcCurveStyleFontSelect>(); } +::Ifc2x3::IfcCurveStyleFontSelect* Ifc2x3::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcCurveStyleFontSelect>(true); } void Ifc2x3::IfcCurveStyleFontAndScaling::setCurveFont(::Ifc2x3::IfcCurveStyleFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } double Ifc2x3::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = *data_->getArgument(2); return v; } void Ifc2x3::IfcCurveStyleFontAndScaling::setCurveFontScaling(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -10544,9 +10682,9 @@ Ifc2x3::IfcDamperType::IfcDamperType(IfcEntityInstanceData* e) : IfcFlowControll Ifc2x3::IfcDamperType::IfcDamperType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcDamperTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcDamperType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc2x3::IfcDamperTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcDateAndTime -::Ifc2x3::IfcCalendarDate* Ifc2x3::IfcDateAndTime::DateComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcCalendarDate>(); } +::Ifc2x3::IfcCalendarDate* Ifc2x3::IfcDateAndTime::DateComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcCalendarDate>(true); } void Ifc2x3::IfcDateAndTime::setDateComponent(::Ifc2x3::IfcCalendarDate* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcLocalTime* Ifc2x3::IfcDateAndTime::TimeComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcLocalTime>(); } +::Ifc2x3::IfcLocalTime* Ifc2x3::IfcDateAndTime::TimeComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcLocalTime>(true); } void Ifc2x3::IfcDateAndTime::setTimeComponent(::Ifc2x3::IfcLocalTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -10556,9 +10694,9 @@ Ifc2x3::IfcDateAndTime::IfcDateAndTime(IfcEntityInstanceData* e) : IfcUtil::IfcB Ifc2x3::IfcDateAndTime::IfcDateAndTime(::Ifc2x3::IfcCalendarDate* v1_DateComponent, ::Ifc2x3::IfcLocalTime* v2_TimeComponent) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcDateAndTime_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_DateComponent));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TimeComponent));data_->setArgument(1,attr);} } // Function implementations for IfcDefinedSymbol -::Ifc2x3::IfcDefinedSymbolSelect* Ifc2x3::IfcDefinedSymbol::Definition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcDefinedSymbolSelect>(); } +::Ifc2x3::IfcDefinedSymbolSelect* Ifc2x3::IfcDefinedSymbol::Definition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcDefinedSymbolSelect>(true); } void Ifc2x3::IfcDefinedSymbol::setDefinition(::Ifc2x3::IfcDefinedSymbolSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcCartesianTransformationOperator2D* Ifc2x3::IfcDefinedSymbol::Target() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcCartesianTransformationOperator2D>(); } +::Ifc2x3::IfcCartesianTransformationOperator2D* Ifc2x3::IfcDefinedSymbol::Target() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcCartesianTransformationOperator2D>(true); } void Ifc2x3::IfcDefinedSymbol::setTarget(::Ifc2x3::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -10568,9 +10706,9 @@ Ifc2x3::IfcDefinedSymbol::IfcDefinedSymbol(IfcEntityInstanceData* e) : IfcGeomet Ifc2x3::IfcDefinedSymbol::IfcDefinedSymbol(::Ifc2x3::IfcDefinedSymbolSelect* v1_Definition, ::Ifc2x3::IfcCartesianTransformationOperator2D* v2_Target) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcDefinedSymbol_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Definition));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Target));data_->setArgument(1,attr);} } // Function implementations for IfcDerivedProfileDef -::Ifc2x3::IfcProfileDef* Ifc2x3::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcProfileDef>(); } +::Ifc2x3::IfcProfileDef* Ifc2x3::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcProfileDef>(true); } void Ifc2x3::IfcDerivedProfileDef::setParentProfile(::Ifc2x3::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc2x3::IfcCartesianTransformationOperator2D* Ifc2x3::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcCartesianTransformationOperator2D>(); } +::Ifc2x3::IfcCartesianTransformationOperator2D* Ifc2x3::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcCartesianTransformationOperator2D>(true); } void Ifc2x3::IfcDerivedProfileDef::setOperator(::Ifc2x3::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc2x3::IfcDerivedProfileDef::Label() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc2x3::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -10596,7 +10734,7 @@ Ifc2x3::IfcDerivedUnit::IfcDerivedUnit(IfcEntityInstanceData* e) : IfcUtil::IfcB Ifc2x3::IfcDerivedUnit::IfcDerivedUnit(aggregate_of< ::Ifc2x3::IfcDerivedUnitElement >::ptr v1_Elements, ::Ifc2x3::IfcDerivedUnitEnum::Value v2_UnitType, boost::optional< std::string > v3_UserDefinedType) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcDerivedUnit_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_UnitType,::Ifc2x3::IfcDerivedUnitEnum::ToString(v2_UnitType))));data_->setArgument(1,attr);} if (v3_UserDefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UserDefinedType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcDerivedUnitElement -::Ifc2x3::IfcNamedUnit* Ifc2x3::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcNamedUnit>(); } +::Ifc2x3::IfcNamedUnit* Ifc2x3::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcNamedUnit>(true); } void Ifc2x3::IfcDerivedUnitElement::setUnit(::Ifc2x3::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } int Ifc2x3::IfcDerivedUnitElement::Exponent() const { int v = *data_->getArgument(1); return v; } void Ifc2x3::IfcDerivedUnitElement::setExponent(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -10817,19 +10955,19 @@ boost::optional< std::string > Ifc2x3::IfcDocumentInformation::Scope() const { i void Ifc2x3::IfcDocumentInformation::setScope(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } boost::optional< std::string > Ifc2x3::IfcDocumentInformation::Revision() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } void Ifc2x3::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } -::Ifc2x3::IfcActorSelect* Ifc2x3::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcActorSelect>(); } +::Ifc2x3::IfcActorSelect* Ifc2x3::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcActorSelect>(true); } void Ifc2x3::IfcDocumentInformation::setDocumentOwner(::Ifc2x3::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc2x3::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(9); return v; } void Ifc2x3::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } -::Ifc2x3::IfcDateAndTime* Ifc2x3::IfcDocumentInformation::CreationTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc2x3::IfcDateAndTime>(); } +::Ifc2x3::IfcDateAndTime* Ifc2x3::IfcDocumentInformation::CreationTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc2x3::IfcDateAndTime>(true); } void Ifc2x3::IfcDocumentInformation::setCreationTime(::Ifc2x3::IfcDateAndTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -::Ifc2x3::IfcDateAndTime* Ifc2x3::IfcDocumentInformation::LastRevisionTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc2x3::IfcDateAndTime>(); } +::Ifc2x3::IfcDateAndTime* Ifc2x3::IfcDocumentInformation::LastRevisionTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc2x3::IfcDateAndTime>(true); } void Ifc2x3::IfcDocumentInformation::setLastRevisionTime(::Ifc2x3::IfcDateAndTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } -::Ifc2x3::IfcDocumentElectronicFormat* Ifc2x3::IfcDocumentInformation::ElectronicFormat() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc2x3::IfcDocumentElectronicFormat>(); } +::Ifc2x3::IfcDocumentElectronicFormat* Ifc2x3::IfcDocumentInformation::ElectronicFormat() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc2x3::IfcDocumentElectronicFormat>(true); } void Ifc2x3::IfcDocumentInformation::setElectronicFormat(::Ifc2x3::IfcDocumentElectronicFormat* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } -::Ifc2x3::IfcCalendarDate* Ifc2x3::IfcDocumentInformation::ValidFrom() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc2x3::IfcCalendarDate>(); } +::Ifc2x3::IfcCalendarDate* Ifc2x3::IfcDocumentInformation::ValidFrom() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc2x3::IfcCalendarDate>(true); } void Ifc2x3::IfcDocumentInformation::setValidFrom(::Ifc2x3::IfcCalendarDate* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } -::Ifc2x3::IfcCalendarDate* Ifc2x3::IfcDocumentInformation::ValidUntil() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(14)))->as<::Ifc2x3::IfcCalendarDate>(); } +::Ifc2x3::IfcCalendarDate* Ifc2x3::IfcDocumentInformation::ValidUntil() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(14)))->as<::Ifc2x3::IfcCalendarDate>(true); } void Ifc2x3::IfcDocumentInformation::setValidUntil(::Ifc2x3::IfcCalendarDate* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(14,attr);} } boost::optional< ::Ifc2x3::IfcDocumentConfidentialityEnum::Value > Ifc2x3::IfcDocumentInformation::Confidentiality() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } return ::Ifc2x3::IfcDocumentConfidentialityEnum::FromString(*data_->getArgument(15)); } void Ifc2x3::IfcDocumentInformation::setConfidentiality(boost::optional< ::Ifc2x3::IfcDocumentConfidentialityEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcDocumentConfidentialityEnum::ToString(*v)));data_->setArgument(15,attr);} } @@ -10845,7 +10983,7 @@ Ifc2x3::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData* e) Ifc2x3::IfcDocumentInformation::IfcDocumentInformation(std::string v1_DocumentId, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc2x3::IfcDocumentReference >::ptr > v4_DocumentReferences, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, ::Ifc2x3::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of_instance::ptr > v10_Editors, ::Ifc2x3::IfcDateAndTime* v11_CreationTime, ::Ifc2x3::IfcDateAndTime* v12_LastRevisionTime, ::Ifc2x3::IfcDocumentElectronicFormat* v13_ElectronicFormat, ::Ifc2x3::IfcCalendarDate* v14_ValidFrom, ::Ifc2x3::IfcCalendarDate* v15_ValidUntil, boost::optional< ::Ifc2x3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc2x3::IfcDocumentStatusEnum::Value > v17_Status) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_DocumentId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DocumentReferences) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_DocumentReferences)->generalize());data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_CreationTime));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_LastRevisionTime));data_->setArgument(11,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v13_ElectronicFormat));data_->setArgument(12,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v14_ValidFrom));data_->setArgument(13,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v15_ValidUntil));data_->setArgument(14,attr);} if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc2x3::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc2x3::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcDocumentInformationRelationship -::Ifc2x3::IfcDocumentInformation* Ifc2x3::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcDocumentInformation>(); } +::Ifc2x3::IfcDocumentInformation* Ifc2x3::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcDocumentInformation>(true); } void Ifc2x3::IfcDocumentInformationRelationship::setRelatingDocument(::Ifc2x3::IfcDocumentInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc2x3::IfcDocumentInformation >::ptr Ifc2x3::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc2x3::IfcDocumentInformation >(); } void Ifc2x3::IfcDocumentInformationRelationship::setRelatedDocuments(aggregate_of< ::Ifc2x3::IfcDocumentInformation >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -10900,7 +11038,7 @@ boost::optional< double > Ifc2x3::IfcDoorLiningProperties::CasingThickness() con void Ifc2x3::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } boost::optional< double > Ifc2x3::IfcDoorLiningProperties::CasingDepth() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } void Ifc2x3::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } -::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcDoorLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(14)))->as<::Ifc2x3::IfcShapeAspect>(); } +::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcDoorLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(14)))->as<::Ifc2x3::IfcShapeAspect>(true); } void Ifc2x3::IfcDoorLiningProperties::setShapeAspectStyle(::Ifc2x3::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(14,attr);} } @@ -10918,7 +11056,7 @@ boost::optional< double > Ifc2x3::IfcDoorPanelProperties::PanelWidth() const { i void Ifc2x3::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } ::Ifc2x3::IfcDoorPanelPositionEnum::Value Ifc2x3::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc2x3::IfcDoorPanelPositionEnum::FromString(*data_->getArgument(7)); } void Ifc2x3::IfcDoorPanelProperties::setPanelPosition(::Ifc2x3::IfcDoorPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcDoorPanelPositionEnum::ToString(v)));data_->setArgument(7,attr);} } -::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcDoorPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcShapeAspect>(); } +::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcDoorPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcShapeAspect>(true); } void Ifc2x3::IfcDoorPanelProperties::setShapeAspectStyle(::Ifc2x3::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -10960,9 +11098,9 @@ boost::optional< std::string > Ifc2x3::IfcDraughtingCalloutRelationship::Name() void Ifc2x3::IfcDraughtingCalloutRelationship::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc2x3::IfcDraughtingCalloutRelationship::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc2x3::IfcDraughtingCalloutRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc2x3::IfcDraughtingCallout* Ifc2x3::IfcDraughtingCalloutRelationship::RelatingDraughtingCallout() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcDraughtingCallout>(); } +::Ifc2x3::IfcDraughtingCallout* Ifc2x3::IfcDraughtingCalloutRelationship::RelatingDraughtingCallout() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcDraughtingCallout>(true); } void Ifc2x3::IfcDraughtingCalloutRelationship::setRelatingDraughtingCallout(::Ifc2x3::IfcDraughtingCallout* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc2x3::IfcDraughtingCallout* Ifc2x3::IfcDraughtingCalloutRelationship::RelatedDraughtingCallout() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcDraughtingCallout>(); } +::Ifc2x3::IfcDraughtingCallout* Ifc2x3::IfcDraughtingCalloutRelationship::RelatedDraughtingCallout() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcDraughtingCallout>(true); } void Ifc2x3::IfcDraughtingCalloutRelationship::setRelatedDraughtingCallout(::Ifc2x3::IfcDraughtingCallout* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -11026,9 +11164,9 @@ Ifc2x3::IfcDuctSilencerType::IfcDuctSilencerType(IfcEntityInstanceData* e) : Ifc Ifc2x3::IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcDuctSilencerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc2x3::IfcDuctSilencerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcEdge -::Ifc2x3::IfcVertex* Ifc2x3::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcVertex>(); } +::Ifc2x3::IfcVertex* Ifc2x3::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcVertex>(true); } void Ifc2x3::IfcEdge::setEdgeStart(::Ifc2x3::IfcVertex* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcVertex* Ifc2x3::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcVertex>(); } +::Ifc2x3::IfcVertex* Ifc2x3::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcVertex>(true); } void Ifc2x3::IfcEdge::setEdgeEnd(::Ifc2x3::IfcVertex* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -11038,7 +11176,7 @@ Ifc2x3::IfcEdge::IfcEdge(IfcEntityInstanceData* e) : IfcTopologicalRepresentatio Ifc2x3::IfcEdge::IfcEdge(::Ifc2x3::IfcVertex* v1_EdgeStart, ::Ifc2x3::IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcEdge_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_EdgeStart));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EdgeEnd));data_->setArgument(1,attr);} } // Function implementations for IfcEdgeCurve -::Ifc2x3::IfcCurve* Ifc2x3::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcCurve>(); } +::Ifc2x3::IfcCurve* Ifc2x3::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcCurve>(true); } void Ifc2x3::IfcEdgeCurve::setEdgeGeometry(::Ifc2x3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } bool Ifc2x3::IfcEdgeCurve::SameSense() const { bool v = *data_->getArgument(3); return v; } void Ifc2x3::IfcEdgeCurve::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -11254,7 +11392,7 @@ Ifc2x3::IfcElementType::IfcElementType(IfcEntityInstanceData* e) : IfcTypeProduc Ifc2x3::IfcElementType::IfcElementType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcElementarySurface -::Ifc2x3::IfcAxis2Placement3D* Ifc2x3::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcAxis2Placement3D>(); } +::Ifc2x3::IfcAxis2Placement3D* Ifc2x3::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcAxis2Placement3D>(true); } void Ifc2x3::IfcElementarySurface::setPosition(::Ifc2x3::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -11426,7 +11564,7 @@ Ifc2x3::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(IfcEntityInst Ifc2x3::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name) : IfcExternalReference((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcExternallyDefinedTextFont_type); if (v1_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Location));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_ItemReference) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ItemReference));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcExtrudedAreaSolid -::Ifc2x3::IfcDirection* Ifc2x3::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcDirection>(); } +::Ifc2x3::IfcDirection* Ifc2x3::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcDirection>(true); } void Ifc2x3::IfcExtrudedAreaSolid::setExtrudedDirection(::Ifc2x3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc2x3::IfcExtrudedAreaSolid::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc2x3::IfcExtrudedAreaSolid::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -11458,7 +11596,7 @@ Ifc2x3::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(IfcEntityInstanceData Ifc2x3::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(aggregate_of< ::Ifc2x3::IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcFaceBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_FbsmFaces)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcFaceBound -::Ifc2x3::IfcLoop* Ifc2x3::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcLoop>(); } +::Ifc2x3::IfcLoop* Ifc2x3::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcLoop>(true); } void Ifc2x3::IfcFaceBound::setBound(::Ifc2x3::IfcLoop* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } bool Ifc2x3::IfcFaceBound::Orientation() const { bool v = *data_->getArgument(1); return v; } void Ifc2x3::IfcFaceBound::setOrientation(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -11478,7 +11616,7 @@ Ifc2x3::IfcFaceOuterBound::IfcFaceOuterBound(IfcEntityInstanceData* e) : IfcFace Ifc2x3::IfcFaceOuterBound::IfcFaceOuterBound(::Ifc2x3::IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcFaceOuterBound_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Bound));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Orientation));data_->setArgument(1,attr);} } // Function implementations for IfcFaceSurface -::Ifc2x3::IfcSurface* Ifc2x3::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcSurface>(); } +::Ifc2x3::IfcSurface* Ifc2x3::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcSurface>(true); } void Ifc2x3::IfcFaceSurface::setFaceSurface(::Ifc2x3::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } bool Ifc2x3::IfcFaceSurface::SameSense() const { bool v = *data_->getArgument(2); return v; } void Ifc2x3::IfcFaceSurface::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -11590,13 +11728,13 @@ Ifc2x3::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData* e) : IfcPresen Ifc2x3::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of_instance::ptr v2_FillStyles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} } // Function implementations for IfcFillAreaStyleHatching -::Ifc2x3::IfcCurveStyle* Ifc2x3::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcCurveStyle>(); } +::Ifc2x3::IfcCurveStyle* Ifc2x3::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcCurveStyle>(true); } void Ifc2x3::IfcFillAreaStyleHatching::setHatchLineAppearance(::Ifc2x3::IfcCurveStyle* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcHatchLineDistanceSelect* Ifc2x3::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcHatchLineDistanceSelect>(); } +::Ifc2x3::IfcHatchLineDistanceSelect* Ifc2x3::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcHatchLineDistanceSelect>(true); } void Ifc2x3::IfcFillAreaStyleHatching::setStartOfNextHatchLine(::Ifc2x3::IfcHatchLineDistanceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc2x3::IfcCartesianPoint* Ifc2x3::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcCartesianPoint>(); } +::Ifc2x3::IfcCartesianPoint* Ifc2x3::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcCartesianPoint>(true); } void Ifc2x3::IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(::Ifc2x3::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc2x3::IfcCartesianPoint* Ifc2x3::IfcFillAreaStyleHatching::PatternStart() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcCartesianPoint>(); } +::Ifc2x3::IfcCartesianPoint* Ifc2x3::IfcFillAreaStyleHatching::PatternStart() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcCartesianPoint>(true); } void Ifc2x3::IfcFillAreaStyleHatching::setPatternStart(::Ifc2x3::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } double Ifc2x3::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = *data_->getArgument(4); return v; } void Ifc2x3::IfcFillAreaStyleHatching::setHatchLineAngle(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -11608,7 +11746,7 @@ Ifc2x3::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(IfcEntityInstanceData Ifc2x3::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(::Ifc2x3::IfcCurveStyle* v1_HatchLineAppearance, ::Ifc2x3::IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, ::Ifc2x3::IfcCartesianPoint* v3_PointOfReferenceHatchLine, ::Ifc2x3::IfcCartesianPoint* v4_PatternStart, double v5_HatchLineAngle) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcFillAreaStyleHatching_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_HatchLineAppearance));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_StartOfNextHatchLine));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_PointOfReferenceHatchLine));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_PatternStart));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_HatchLineAngle));data_->setArgument(4,attr);} } // Function implementations for IfcFillAreaStyleTileSymbolWithStyle -::Ifc2x3::IfcAnnotationSymbolOccurrence* Ifc2x3::IfcFillAreaStyleTileSymbolWithStyle::Symbol() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcAnnotationSymbolOccurrence>(); } +::Ifc2x3::IfcAnnotationSymbolOccurrence* Ifc2x3::IfcFillAreaStyleTileSymbolWithStyle::Symbol() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcAnnotationSymbolOccurrence>(true); } void Ifc2x3::IfcFillAreaStyleTileSymbolWithStyle::setSymbol(::Ifc2x3::IfcAnnotationSymbolOccurrence* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -11618,7 +11756,7 @@ Ifc2x3::IfcFillAreaStyleTileSymbolWithStyle::IfcFillAreaStyleTileSymbolWithStyle Ifc2x3::IfcFillAreaStyleTileSymbolWithStyle::IfcFillAreaStyleTileSymbolWithStyle(::Ifc2x3::IfcAnnotationSymbolOccurrence* v1_Symbol) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcFillAreaStyleTileSymbolWithStyle_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Symbol));data_->setArgument(0,attr);} } // Function implementations for IfcFillAreaStyleTiles -::Ifc2x3::IfcOneDirectionRepeatFactor* Ifc2x3::IfcFillAreaStyleTiles::TilingPattern() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcOneDirectionRepeatFactor>(); } +::Ifc2x3::IfcOneDirectionRepeatFactor* Ifc2x3::IfcFillAreaStyleTiles::TilingPattern() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcOneDirectionRepeatFactor>(true); } void Ifc2x3::IfcFillAreaStyleTiles::setTilingPattern(::Ifc2x3::IfcOneDirectionRepeatFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of_instance::ptr Ifc2x3::IfcFillAreaStyleTiles::Tiles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc2x3::IfcFillAreaStyleTiles::setTiles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -11786,15 +11924,15 @@ Ifc2x3::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v1_Gl // Function implementations for IfcFluidFlowProperties ::Ifc2x3::IfcPropertySourceEnum::Value Ifc2x3::IfcFluidFlowProperties::PropertySource() const { return ::Ifc2x3::IfcPropertySourceEnum::FromString(*data_->getArgument(4)); } void Ifc2x3::IfcFluidFlowProperties::setPropertySource(::Ifc2x3::IfcPropertySourceEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcPropertySourceEnum::ToString(v)));data_->setArgument(4,attr);} } -::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcFluidFlowProperties::FlowConditionTimeSeries() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcTimeSeries>(); } +::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcFluidFlowProperties::FlowConditionTimeSeries() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcTimeSeries>(true); } void Ifc2x3::IfcFluidFlowProperties::setFlowConditionTimeSeries(::Ifc2x3::IfcTimeSeries* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcFluidFlowProperties::VelocityTimeSeries() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcTimeSeries>(); } +::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcFluidFlowProperties::VelocityTimeSeries() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcTimeSeries>(true); } void Ifc2x3::IfcFluidFlowProperties::setVelocityTimeSeries(::Ifc2x3::IfcTimeSeries* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcFluidFlowProperties::FlowrateTimeSeries() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcTimeSeries>(); } +::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcFluidFlowProperties::FlowrateTimeSeries() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcTimeSeries>(true); } void Ifc2x3::IfcFluidFlowProperties::setFlowrateTimeSeries(::Ifc2x3::IfcTimeSeries* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -::Ifc2x3::IfcMaterial* Ifc2x3::IfcFluidFlowProperties::Fluid() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcMaterial>(); } +::Ifc2x3::IfcMaterial* Ifc2x3::IfcFluidFlowProperties::Fluid() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcMaterial>(true); } void Ifc2x3::IfcFluidFlowProperties::setFluid(::Ifc2x3::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcFluidFlowProperties::PressureTimeSeries() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc2x3::IfcTimeSeries>(); } +::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcFluidFlowProperties::PressureTimeSeries() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc2x3::IfcTimeSeries>(true); } void Ifc2x3::IfcFluidFlowProperties::setPressureTimeSeries(::Ifc2x3::IfcTimeSeries* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< std::string > Ifc2x3::IfcFluidFlowProperties::UserDefinedPropertySource() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc2x3::IfcFluidFlowProperties::setUserDefinedPropertySource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } @@ -11802,11 +11940,11 @@ boost::optional< double > Ifc2x3::IfcFluidFlowProperties::TemperatureSingleValue void Ifc2x3::IfcFluidFlowProperties::setTemperatureSingleValue(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } boost::optional< double > Ifc2x3::IfcFluidFlowProperties::WetBulbTemperatureSingleValue() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } double v = *data_->getArgument(12); return v; } void Ifc2x3::IfcFluidFlowProperties::setWetBulbTemperatureSingleValue(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } -::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcFluidFlowProperties::WetBulbTemperatureTimeSeries() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc2x3::IfcTimeSeries>(); } +::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcFluidFlowProperties::WetBulbTemperatureTimeSeries() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc2x3::IfcTimeSeries>(true); } void Ifc2x3::IfcFluidFlowProperties::setWetBulbTemperatureTimeSeries(::Ifc2x3::IfcTimeSeries* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } -::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcFluidFlowProperties::TemperatureTimeSeries() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(14)))->as<::Ifc2x3::IfcTimeSeries>(); } +::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcFluidFlowProperties::TemperatureTimeSeries() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(14)))->as<::Ifc2x3::IfcTimeSeries>(true); } void Ifc2x3::IfcFluidFlowProperties::setTemperatureTimeSeries(::Ifc2x3::IfcTimeSeries* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(14,attr);} } -::Ifc2x3::IfcDerivedMeasureValue* Ifc2x3::IfcFluidFlowProperties::FlowrateSingleValue() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(15)))->as<::Ifc2x3::IfcDerivedMeasureValue>(); } +::Ifc2x3::IfcDerivedMeasureValue* Ifc2x3::IfcFluidFlowProperties::FlowrateSingleValue() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(15)))->as<::Ifc2x3::IfcDerivedMeasureValue>(true); } void Ifc2x3::IfcFluidFlowProperties::setFlowrateSingleValue(::Ifc2x3::IfcDerivedMeasureValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(15,attr);} } boost::optional< double > Ifc2x3::IfcFluidFlowProperties::FlowConditionSingleValue() const { if(!data_->getArgument(16) || data_->getArgument(16)->isNull()) { return boost::none; } double v = *data_->getArgument(16); return v; } void Ifc2x3::IfcFluidFlowProperties::setFlowConditionSingleValue(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(16,attr);} } @@ -11936,9 +12074,9 @@ int Ifc2x3::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const void Ifc2x3::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc2x3::IfcGeometricRepresentationContext::Precision() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc2x3::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } -::Ifc2x3::IfcAxis2Placement* Ifc2x3::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcAxis2Placement>(); } +::Ifc2x3::IfcAxis2Placement* Ifc2x3::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcAxis2Placement>(true); } void Ifc2x3::IfcGeometricRepresentationContext::setWorldCoordinateSystem(::Ifc2x3::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc2x3::IfcDirection* Ifc2x3::IfcGeometricRepresentationContext::TrueNorth() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcDirection>(); } +::Ifc2x3::IfcDirection* Ifc2x3::IfcGeometricRepresentationContext::TrueNorth() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcDirection>(true); } void Ifc2x3::IfcGeometricRepresentationContext::setTrueNorth(::Ifc2x3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc2x3::IfcGeometricRepresentationSubContext::list::ptr Ifc2x3::IfcGeometricRepresentationContext::HasSubContexts() const { return data_->getInverse(IFC2X3_IfcGeometricRepresentationSubContext_type, 6)->as(); } @@ -11957,7 +12095,7 @@ Ifc2x3::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem(IfcEntity Ifc2x3::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcGeometricRepresentationItem_type); } // Function implementations for IfcGeometricRepresentationSubContext -::Ifc2x3::IfcGeometricRepresentationContext* Ifc2x3::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcGeometricRepresentationContext>(); } +::Ifc2x3::IfcGeometricRepresentationContext* Ifc2x3::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcGeometricRepresentationContext>(true); } void Ifc2x3::IfcGeometricRepresentationSubContext::setParentContext(::Ifc2x3::IfcGeometricRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc2x3::IfcGeometricRepresentationSubContext::TargetScale() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc2x3::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } @@ -12000,7 +12138,7 @@ Ifc2x3::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_ // Function implementations for IfcGridAxis boost::optional< std::string > Ifc2x3::IfcGridAxis::AxisTag() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc2x3::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcCurve* Ifc2x3::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcCurve>(); } +::Ifc2x3::IfcCurve* Ifc2x3::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcCurve>(true); } void Ifc2x3::IfcGridAxis::setAxisCurve(::Ifc2x3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } bool Ifc2x3::IfcGridAxis::SameSense() const { bool v = *data_->getArgument(2); return v; } void Ifc2x3::IfcGridAxis::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -12016,9 +12154,9 @@ Ifc2x3::IfcGridAxis::IfcGridAxis(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEnt Ifc2x3::IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, ::Ifc2x3::IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcGridAxis_type); if (v1_AxisTag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_AxisTag));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_AxisCurve));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SameSense));data_->setArgument(2,attr);} } // Function implementations for IfcGridPlacement -::Ifc2x3::IfcVirtualGridIntersection* Ifc2x3::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcVirtualGridIntersection>(); } +::Ifc2x3::IfcVirtualGridIntersection* Ifc2x3::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcVirtualGridIntersection>(true); } void Ifc2x3::IfcGridPlacement::setPlacementLocation(::Ifc2x3::IfcVirtualGridIntersection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcVirtualGridIntersection* Ifc2x3::IfcGridPlacement::PlacementRefDirection() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcVirtualGridIntersection>(); } +::Ifc2x3::IfcVirtualGridIntersection* Ifc2x3::IfcGridPlacement::PlacementRefDirection() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcVirtualGridIntersection>(true); } void Ifc2x3::IfcGridPlacement::setPlacementRefDirection(::Ifc2x3::IfcVirtualGridIntersection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -12037,7 +12175,7 @@ Ifc2x3::IfcGroup::IfcGroup(IfcEntityInstanceData* e) : IfcObject((IfcEntityInsta Ifc2x3::IfcGroup::IfcGroup(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcGroup_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcHalfSpaceSolid -::Ifc2x3::IfcSurface* Ifc2x3::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcSurface>(); } +::Ifc2x3::IfcSurface* Ifc2x3::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcSurface>(true); } void Ifc2x3::IfcHalfSpaceSolid::setBaseSurface(::Ifc2x3::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } bool Ifc2x3::IfcHalfSpaceSolid::AgreementFlag() const { bool v = *data_->getArgument(1); return v; } void Ifc2x3::IfcHalfSpaceSolid::setAgreementFlag(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -12117,15 +12255,15 @@ Ifc2x3::IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, ::Ifc // Function implementations for IfcInventory ::Ifc2x3::IfcInventoryTypeEnum::Value Ifc2x3::IfcInventory::InventoryType() const { return ::Ifc2x3::IfcInventoryTypeEnum::FromString(*data_->getArgument(5)); } void Ifc2x3::IfcInventory::setInventoryType(::Ifc2x3::IfcInventoryTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcInventoryTypeEnum::ToString(v)));data_->setArgument(5,attr);} } -::Ifc2x3::IfcActorSelect* Ifc2x3::IfcInventory::Jurisdiction() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcActorSelect>(); } +::Ifc2x3::IfcActorSelect* Ifc2x3::IfcInventory::Jurisdiction() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcActorSelect>(true); } void Ifc2x3::IfcInventory::setJurisdiction(::Ifc2x3::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } aggregate_of< ::Ifc2x3::IfcPerson >::ptr Ifc2x3::IfcInventory::ResponsiblePersons() const { aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc2x3::IfcPerson >(); } void Ifc2x3::IfcInventory::setResponsiblePersons(aggregate_of< ::Ifc2x3::IfcPerson >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(7,attr);} } -::Ifc2x3::IfcCalendarDate* Ifc2x3::IfcInventory::LastUpdateDate() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcCalendarDate>(); } +::Ifc2x3::IfcCalendarDate* Ifc2x3::IfcInventory::LastUpdateDate() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcCalendarDate>(true); } void Ifc2x3::IfcInventory::setLastUpdateDate(::Ifc2x3::IfcCalendarDate* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -::Ifc2x3::IfcCostValue* Ifc2x3::IfcInventory::CurrentValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc2x3::IfcCostValue>(); } +::Ifc2x3::IfcCostValue* Ifc2x3::IfcInventory::CurrentValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc2x3::IfcCostValue>(true); } void Ifc2x3::IfcInventory::setCurrentValue(::Ifc2x3::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -::Ifc2x3::IfcCostValue* Ifc2x3::IfcInventory::OriginalValue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc2x3::IfcCostValue>(); } +::Ifc2x3::IfcCostValue* Ifc2x3::IfcInventory::OriginalValue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc2x3::IfcCostValue>(true); } void Ifc2x3::IfcInventory::setOriginalValue(::Ifc2x3::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -12145,7 +12283,7 @@ Ifc2x3::IfcIrregularTimeSeries::IfcIrregularTimeSeries(IfcEntityInstanceData* e) Ifc2x3::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcDateTimeSelect* v3_StartTime, ::Ifc2x3::IfcDateTimeSelect* v4_EndTime, ::Ifc2x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc2x3::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc2x3::IfcUnit* v8_Unit, aggregate_of< ::Ifc2x3::IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcIrregularTimeSeries_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_StartTime));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EndTime));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_TimeSeriesDataType,::Ifc2x3::IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType))));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_DataOrigin,::Ifc2x3::IfcDataOriginEnum::ToString(v6_DataOrigin))));data_->setArgument(5,attr);} if (v7_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_UserDefinedDataOrigin));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Unit));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_Values)->generalize());data_->setArgument(8,attr);} } // Function implementations for IfcIrregularTimeSeriesValue -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcIrregularTimeSeriesValue::TimeStamp() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcIrregularTimeSeriesValue::TimeStamp() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcIrregularTimeSeriesValue::setTimeStamp(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of_instance::ptr Ifc2x3::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc2x3::IfcIrregularTimeSeriesValue::setListValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -12215,9 +12353,9 @@ std::string Ifc2x3::IfcLibraryInformation::Name() const { std::string v = *data void Ifc2x3::IfcLibraryInformation::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc2x3::IfcLibraryInformation::Version() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc2x3::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc2x3::IfcOrganization* Ifc2x3::IfcLibraryInformation::Publisher() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcOrganization>(); } +::Ifc2x3::IfcOrganization* Ifc2x3::IfcLibraryInformation::Publisher() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcOrganization>(true); } void Ifc2x3::IfcLibraryInformation::setPublisher(::Ifc2x3::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc2x3::IfcCalendarDate* Ifc2x3::IfcLibraryInformation::VersionDate() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcCalendarDate>(); } +::Ifc2x3::IfcCalendarDate* Ifc2x3::IfcLibraryInformation::VersionDate() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcCalendarDate>(true); } void Ifc2x3::IfcLibraryInformation::setVersionDate(::Ifc2x3::IfcCalendarDate* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< aggregate_of< ::Ifc2x3::IfcLibraryReference >::ptr > Ifc2x3::IfcLibraryInformation::LibraryReference() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc2x3::IfcLibraryReference >(); } void Ifc2x3::IfcLibraryInformation::setLibraryReference(boost::optional< aggregate_of< ::Ifc2x3::IfcLibraryReference >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(4,attr);} } @@ -12276,7 +12414,7 @@ Ifc2x3::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc2x3::I // Function implementations for IfcLightSource boost::optional< std::string > Ifc2x3::IfcLightSource::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc2x3::IfcLightSource::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcColourRgb* Ifc2x3::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcColourRgb>(); } +::Ifc2x3::IfcColourRgb* Ifc2x3::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcColourRgb>(true); } void Ifc2x3::IfcLightSource::setLightColour(::Ifc2x3::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc2x3::IfcLightSource::AmbientIntensity() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } void Ifc2x3::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } @@ -12298,7 +12436,7 @@ Ifc2x3::IfcLightSourceAmbient::IfcLightSourceAmbient(IfcEntityInstanceData* e) : Ifc2x3::IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcLightSource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcLightSourceAmbient_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcLightSourceDirectional -::Ifc2x3::IfcDirection* Ifc2x3::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcDirection>(); } +::Ifc2x3::IfcDirection* Ifc2x3::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcDirection>(true); } void Ifc2x3::IfcLightSourceDirectional::setOrientation(::Ifc2x3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -12308,9 +12446,9 @@ Ifc2x3::IfcLightSourceDirectional::IfcLightSourceDirectional(IfcEntityInstanceDa Ifc2x3::IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc2x3::IfcDirection* v5_Orientation) : IfcLightSource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcLightSourceDirectional_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Orientation));data_->setArgument(4,attr);} } // Function implementations for IfcLightSourceGoniometric -::Ifc2x3::IfcAxis2Placement3D* Ifc2x3::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcAxis2Placement3D>(); } +::Ifc2x3::IfcAxis2Placement3D* Ifc2x3::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcAxis2Placement3D>(true); } void Ifc2x3::IfcLightSourceGoniometric::setPosition(::Ifc2x3::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc2x3::IfcColourRgb* Ifc2x3::IfcLightSourceGoniometric::ColourAppearance() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcColourRgb>(); } +::Ifc2x3::IfcColourRgb* Ifc2x3::IfcLightSourceGoniometric::ColourAppearance() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcColourRgb>(true); } void Ifc2x3::IfcLightSourceGoniometric::setColourAppearance(::Ifc2x3::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } double Ifc2x3::IfcLightSourceGoniometric::ColourTemperature() const { double v = *data_->getArgument(6); return v; } void Ifc2x3::IfcLightSourceGoniometric::setColourTemperature(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -12318,7 +12456,7 @@ double Ifc2x3::IfcLightSourceGoniometric::LuminousFlux() const { double v = *da void Ifc2x3::IfcLightSourceGoniometric::setLuminousFlux(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc2x3::IfcLightEmissionSourceEnum::Value Ifc2x3::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc2x3::IfcLightEmissionSourceEnum::FromString(*data_->getArgument(8)); } void Ifc2x3::IfcLightSourceGoniometric::setLightEmissionSource(::Ifc2x3::IfcLightEmissionSourceEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcLightEmissionSourceEnum::ToString(v)));data_->setArgument(8,attr);} } -::Ifc2x3::IfcLightDistributionDataSourceSelect* Ifc2x3::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc2x3::IfcLightDistributionDataSourceSelect>(); } +::Ifc2x3::IfcLightDistributionDataSourceSelect* Ifc2x3::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc2x3::IfcLightDistributionDataSourceSelect>(true); } void Ifc2x3::IfcLightSourceGoniometric::setLightDistributionDataSource(::Ifc2x3::IfcLightDistributionDataSourceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -12328,7 +12466,7 @@ Ifc2x3::IfcLightSourceGoniometric::IfcLightSourceGoniometric(IfcEntityInstanceDa Ifc2x3::IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc2x3::IfcAxis2Placement3D* v5_Position, ::Ifc2x3::IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc2x3::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc2x3::IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcLightSourceGoniometric_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Position));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ColourAppearance));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ColourTemperature));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LuminousFlux));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_LightEmissionSource,::Ifc2x3::IfcLightEmissionSourceEnum::ToString(v9_LightEmissionSource))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_LightDistributionDataSource));data_->setArgument(9,attr);} } // Function implementations for IfcLightSourcePositional -::Ifc2x3::IfcCartesianPoint* Ifc2x3::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcCartesianPoint>(); } +::Ifc2x3::IfcCartesianPoint* Ifc2x3::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcCartesianPoint>(true); } void Ifc2x3::IfcLightSourcePositional::setPosition(::Ifc2x3::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } double Ifc2x3::IfcLightSourcePositional::Radius() const { double v = *data_->getArgument(5); return v; } void Ifc2x3::IfcLightSourcePositional::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -12346,7 +12484,7 @@ Ifc2x3::IfcLightSourcePositional::IfcLightSourcePositional(IfcEntityInstanceData Ifc2x3::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc2x3::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) : IfcLightSource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcLightSourcePositional_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Position));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Radius));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConstantAttenuation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_DistanceAttenuation));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_QuadricAttenuation));data_->setArgument(8,attr);} } // Function implementations for IfcLightSourceSpot -::Ifc2x3::IfcDirection* Ifc2x3::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc2x3::IfcDirection>(); } +::Ifc2x3::IfcDirection* Ifc2x3::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc2x3::IfcDirection>(true); } void Ifc2x3::IfcLightSourceSpot::setOrientation(::Ifc2x3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< double > Ifc2x3::IfcLightSourceSpot::ConcentrationExponent() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } void Ifc2x3::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } @@ -12362,9 +12500,9 @@ Ifc2x3::IfcLightSourceSpot::IfcLightSourceSpot(IfcEntityInstanceData* e) : IfcLi Ifc2x3::IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc2x3::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc2x3::IfcDirection* v10_Orientation, boost::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) : IfcLightSourcePositional((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcLightSourceSpot_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Position));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Radius));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConstantAttenuation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_DistanceAttenuation));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_QuadricAttenuation));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_Orientation));data_->setArgument(9,attr);} if (v11_ConcentrationExponent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_ConcentrationExponent));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_SpreadAngle));data_->setArgument(11,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v13_BeamWidthAngle));data_->setArgument(12,attr);} } // Function implementations for IfcLine -::Ifc2x3::IfcCartesianPoint* Ifc2x3::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcCartesianPoint>(); } +::Ifc2x3::IfcCartesianPoint* Ifc2x3::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcCartesianPoint>(true); } void Ifc2x3::IfcLine::setPnt(::Ifc2x3::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcVector* Ifc2x3::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcVector>(); } +::Ifc2x3::IfcVector* Ifc2x3::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcVector>(true); } void Ifc2x3::IfcLine::setDir(::Ifc2x3::IfcVector* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -12382,9 +12520,9 @@ Ifc2x3::IfcLinearDimension::IfcLinearDimension(IfcEntityInstanceData* e) : IfcDi Ifc2x3::IfcLinearDimension::IfcLinearDimension(aggregate_of_instance::ptr v1_Contents) : IfcDimensionCurveDirectedCallout((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcLinearDimension_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Contents));data_->setArgument(0,attr);} } // Function implementations for IfcLocalPlacement -::Ifc2x3::IfcObjectPlacement* Ifc2x3::IfcLocalPlacement::PlacementRelTo() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcObjectPlacement>(); } +::Ifc2x3::IfcObjectPlacement* Ifc2x3::IfcLocalPlacement::PlacementRelTo() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcObjectPlacement>(true); } void Ifc2x3::IfcLocalPlacement::setPlacementRelTo(::Ifc2x3::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcAxis2Placement* Ifc2x3::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcAxis2Placement>(); } +::Ifc2x3::IfcAxis2Placement* Ifc2x3::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcAxis2Placement>(true); } void Ifc2x3::IfcLocalPlacement::setRelativePlacement(::Ifc2x3::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -12400,7 +12538,7 @@ boost::optional< int > Ifc2x3::IfcLocalTime::MinuteComponent() const { if(!data_ void Ifc2x3::IfcLocalTime::setMinuteComponent(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } boost::optional< double > Ifc2x3::IfcLocalTime::SecondComponent() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } void Ifc2x3::IfcLocalTime::setSecondComponent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc2x3::IfcCoordinatedUniversalTimeOffset* Ifc2x3::IfcLocalTime::Zone() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcCoordinatedUniversalTimeOffset>(); } +::Ifc2x3::IfcCoordinatedUniversalTimeOffset* Ifc2x3::IfcLocalTime::Zone() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcCoordinatedUniversalTimeOffset>(true); } void Ifc2x3::IfcLocalTime::setZone(::Ifc2x3::IfcCoordinatedUniversalTimeOffset* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< int > Ifc2x3::IfcLocalTime::DaylightSavingOffset() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } void Ifc2x3::IfcLocalTime::setDaylightSavingOffset(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -12420,7 +12558,7 @@ Ifc2x3::IfcLoop::IfcLoop(IfcEntityInstanceData* e) : IfcTopologicalRepresentatio Ifc2x3::IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcLoop_type); } // Function implementations for IfcManifoldSolidBrep -::Ifc2x3::IfcClosedShell* Ifc2x3::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcClosedShell>(); } +::Ifc2x3::IfcClosedShell* Ifc2x3::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcClosedShell>(true); } void Ifc2x3::IfcManifoldSolidBrep::setOuter(::Ifc2x3::IfcClosedShell* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -12430,9 +12568,9 @@ Ifc2x3::IfcManifoldSolidBrep::IfcManifoldSolidBrep(IfcEntityInstanceData* e) : I Ifc2x3::IfcManifoldSolidBrep::IfcManifoldSolidBrep(::Ifc2x3::IfcClosedShell* v1_Outer) : IfcSolidModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcManifoldSolidBrep_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Outer));data_->setArgument(0,attr);} } // Function implementations for IfcMappedItem -::Ifc2x3::IfcRepresentationMap* Ifc2x3::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcRepresentationMap>(); } +::Ifc2x3::IfcRepresentationMap* Ifc2x3::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcRepresentationMap>(true); } void Ifc2x3::IfcMappedItem::setMappingSource(::Ifc2x3::IfcRepresentationMap* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcCartesianTransformationOperator* Ifc2x3::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcCartesianTransformationOperator>(); } +::Ifc2x3::IfcCartesianTransformationOperator* Ifc2x3::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcCartesianTransformationOperator>(true); } void Ifc2x3::IfcMappedItem::setMappingTarget(::Ifc2x3::IfcCartesianTransformationOperator* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -12456,7 +12594,7 @@ Ifc2x3::IfcMaterial::IfcMaterial(std::string v1_Name) : IfcUtil::IfcBaseEntity() // Function implementations for IfcMaterialClassificationRelationship aggregate_of_instance::ptr Ifc2x3::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } void Ifc2x3::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcMaterial* Ifc2x3::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcMaterial>(); } +::Ifc2x3::IfcMaterial* Ifc2x3::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcMaterial>(true); } void Ifc2x3::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc2x3::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -12466,7 +12604,7 @@ Ifc2x3::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelation Ifc2x3::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of_instance::ptr v1_MaterialClassifications, ::Ifc2x3::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcMaterialClassificationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialClassifications));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_ClassifiedMaterial));data_->setArgument(1,attr);} } // Function implementations for IfcMaterialDefinitionRepresentation -::Ifc2x3::IfcMaterial* Ifc2x3::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcMaterial>(); } +::Ifc2x3::IfcMaterial* Ifc2x3::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcMaterial>(true); } void Ifc2x3::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(::Ifc2x3::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -12476,7 +12614,7 @@ Ifc2x3::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation Ifc2x3::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcRepresentation >::ptr v3_Representations, ::Ifc2x3::IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcMaterialDefinitionRepresentation_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Representations)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RepresentedMaterial));data_->setArgument(3,attr);} } // Function implementations for IfcMaterialLayer -::Ifc2x3::IfcMaterial* Ifc2x3::IfcMaterialLayer::Material() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcMaterial>(); } +::Ifc2x3::IfcMaterial* Ifc2x3::IfcMaterialLayer::Material() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcMaterial>(true); } void Ifc2x3::IfcMaterialLayer::setMaterial(::Ifc2x3::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc2x3::IfcMaterialLayer::LayerThickness() const { double v = *data_->getArgument(1); return v; } void Ifc2x3::IfcMaterialLayer::setLayerThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -12503,7 +12641,7 @@ Ifc2x3::IfcMaterialLayerSet::IfcMaterialLayerSet(IfcEntityInstanceData* e) : Ifc Ifc2x3::IfcMaterialLayerSet::IfcMaterialLayerSet(aggregate_of< ::Ifc2x3::IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcMaterialLayerSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialLayers)->generalize());data_->setArgument(0,attr);} if (v2_LayerSetName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_LayerSetName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcMaterialLayerSetUsage -::Ifc2x3::IfcMaterialLayerSet* Ifc2x3::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcMaterialLayerSet>(); } +::Ifc2x3::IfcMaterialLayerSet* Ifc2x3::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcMaterialLayerSet>(true); } void Ifc2x3::IfcMaterialLayerSetUsage::setForLayerSet(::Ifc2x3::IfcMaterialLayerSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc2x3::IfcLayerSetDirectionEnum::Value Ifc2x3::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc2x3::IfcLayerSetDirectionEnum::FromString(*data_->getArgument(1)); } void Ifc2x3::IfcMaterialLayerSetUsage::setLayerSetDirection(::Ifc2x3::IfcLayerSetDirectionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcLayerSetDirectionEnum::ToString(v)));data_->setArgument(1,attr);} } @@ -12529,7 +12667,7 @@ Ifc2x3::IfcMaterialList::IfcMaterialList(IfcEntityInstanceData* e) : IfcUtil::If Ifc2x3::IfcMaterialList::IfcMaterialList(aggregate_of< ::Ifc2x3::IfcMaterial >::ptr v1_Materials) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcMaterialList_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Materials)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcMaterialProperties -::Ifc2x3::IfcMaterial* Ifc2x3::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcMaterial>(); } +::Ifc2x3::IfcMaterial* Ifc2x3::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcMaterial>(true); } void Ifc2x3::IfcMaterialProperties::setMaterial(::Ifc2x3::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -12539,9 +12677,9 @@ Ifc2x3::IfcMaterialProperties::IfcMaterialProperties(IfcEntityInstanceData* e) : Ifc2x3::IfcMaterialProperties::IfcMaterialProperties(::Ifc2x3::IfcMaterial* v1_Material) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcMaterialProperties_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Material));data_->setArgument(0,attr);} } // Function implementations for IfcMeasureWithUnit -::Ifc2x3::IfcValue* Ifc2x3::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcValue>(); } +::Ifc2x3::IfcValue* Ifc2x3::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcValue>(true); } void Ifc2x3::IfcMeasureWithUnit::setValueComponent(::Ifc2x3::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcUnit* Ifc2x3::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcUnit>(); } +::Ifc2x3::IfcUnit* Ifc2x3::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcUnit>(true); } void Ifc2x3::IfcMeasureWithUnit::setUnitComponent(::Ifc2x3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -12653,7 +12791,7 @@ Ifc2x3::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc2x3::IfcOwner void Ifc2x3::IfcMetric::setBenchmark(::Ifc2x3::IfcBenchmarkEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcBenchmarkEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< std::string > Ifc2x3::IfcMetric::ValueSource() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc2x3::IfcMetric::setValueSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } -::Ifc2x3::IfcMetricValueSelect* Ifc2x3::IfcMetric::DataValue() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc2x3::IfcMetricValueSelect>(); } +::Ifc2x3::IfcMetricValueSelect* Ifc2x3::IfcMetric::DataValue() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc2x3::IfcMetricValueSelect>(true); } void Ifc2x3::IfcMetric::setDataValue(::Ifc2x3::IfcMetricValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -12683,9 +12821,9 @@ Ifc2x3::IfcMotorConnectionType::IfcMotorConnectionType(IfcEntityInstanceData* e) Ifc2x3::IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcMotorConnectionType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc2x3::IfcMotorConnectionTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcMove -::Ifc2x3::IfcSpatialStructureElement* Ifc2x3::IfcMove::MoveFrom() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc2x3::IfcSpatialStructureElement>(); } +::Ifc2x3::IfcSpatialStructureElement* Ifc2x3::IfcMove::MoveFrom() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc2x3::IfcSpatialStructureElement>(true); } void Ifc2x3::IfcMove::setMoveFrom(::Ifc2x3::IfcSpatialStructureElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -::Ifc2x3::IfcSpatialStructureElement* Ifc2x3::IfcMove::MoveTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc2x3::IfcSpatialStructureElement>(); } +::Ifc2x3::IfcSpatialStructureElement* Ifc2x3::IfcMove::MoveTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc2x3::IfcSpatialStructureElement>(true); } void Ifc2x3::IfcMove::setMoveTo(::Ifc2x3::IfcSpatialStructureElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc2x3::IfcMove::PunchList() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(12); return v; } void Ifc2x3::IfcMove::setPunchList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } @@ -12697,7 +12835,7 @@ Ifc2x3::IfcMove::IfcMove(IfcEntityInstanceData* e) : IfcTask((IfcEntityInstanceD Ifc2x3::IfcMove::IfcMove(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_TaskId, boost::optional< std::string > v7_Status, boost::optional< std::string > v8_WorkMethod, bool v9_IsMilestone, boost::optional< int > v10_Priority, ::Ifc2x3::IfcSpatialStructureElement* v11_MoveFrom, ::Ifc2x3::IfcSpatialStructureElement* v12_MoveTo, boost::optional< std::vector< std::string > /*[1:?]*/ > v13_PunchList) : IfcTask((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcMove_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_TaskId));data_->setArgument(5,attr);} if (v7_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Status));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_WorkMethod) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_WorkMethod));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_IsMilestone));data_->setArgument(8,attr);} if (v10_Priority) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Priority));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_MoveFrom));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_MoveTo));data_->setArgument(11,attr);} if (v13_PunchList) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_PunchList));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } } // Function implementations for IfcNamedUnit -::Ifc2x3::IfcDimensionalExponents* Ifc2x3::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcDimensionalExponents>(); } +::Ifc2x3::IfcDimensionalExponents* Ifc2x3::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcDimensionalExponents>(true); } void Ifc2x3::IfcNamedUnit::setDimensions(::Ifc2x3::IfcDimensionalExponents* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc2x3::IfcUnitEnum::Value Ifc2x3::IfcNamedUnit::UnitType() const { return ::Ifc2x3::IfcUnitEnum::FromString(*data_->getArgument(1)); } void Ifc2x3::IfcNamedUnit::setUnitType(::Ifc2x3::IfcUnitEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcUnitEnum::ToString(v)));data_->setArgument(1,attr);} } @@ -12742,9 +12880,9 @@ Ifc2x3::IfcObjectPlacement::IfcObjectPlacement(IfcEntityInstanceData* e) : IfcUt Ifc2x3::IfcObjectPlacement::IfcObjectPlacement() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcObjectPlacement_type); } // Function implementations for IfcObjective -::Ifc2x3::IfcMetric* Ifc2x3::IfcObjective::BenchmarkValues() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcMetric>(); } +::Ifc2x3::IfcMetric* Ifc2x3::IfcObjective::BenchmarkValues() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcMetric>(true); } void Ifc2x3::IfcObjective::setBenchmarkValues(::Ifc2x3::IfcMetric* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -::Ifc2x3::IfcMetric* Ifc2x3::IfcObjective::ResultValues() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcMetric>(); } +::Ifc2x3::IfcMetric* Ifc2x3::IfcObjective::ResultValues() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcMetric>(true); } void Ifc2x3::IfcObjective::setResultValues(::Ifc2x3::IfcMetric* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } ::Ifc2x3::IfcObjectiveEnum::Value Ifc2x3::IfcObjective::ObjectiveQualifier() const { return ::Ifc2x3::IfcObjectiveEnum::FromString(*data_->getArgument(9)); } void Ifc2x3::IfcObjective::setObjectiveQualifier(::Ifc2x3::IfcObjectiveEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcObjectiveEnum::ToString(v)));data_->setArgument(9,attr);} } @@ -12768,7 +12906,7 @@ Ifc2x3::IfcOccupant::IfcOccupant(IfcEntityInstanceData* e) : IfcActor((IfcEntity Ifc2x3::IfcOccupant::IfcOccupant(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcActorSelect* v6_TheActor, ::Ifc2x3::IfcOccupantTypeEnum::Value v7_PredefinedType) : IfcActor((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcOccupant_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_TheActor));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v7_PredefinedType,::Ifc2x3::IfcOccupantTypeEnum::ToString(v7_PredefinedType))));data_->setArgument(6,attr);} } // Function implementations for IfcOffsetCurve2D -::Ifc2x3::IfcCurve* Ifc2x3::IfcOffsetCurve2D::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcCurve>(); } +::Ifc2x3::IfcCurve* Ifc2x3::IfcOffsetCurve2D::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcCurve>(true); } void Ifc2x3::IfcOffsetCurve2D::setBasisCurve(::Ifc2x3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc2x3::IfcOffsetCurve2D::Distance() const { double v = *data_->getArgument(1); return v; } void Ifc2x3::IfcOffsetCurve2D::setDistance(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -12782,13 +12920,13 @@ Ifc2x3::IfcOffsetCurve2D::IfcOffsetCurve2D(IfcEntityInstanceData* e) : IfcCurve( Ifc2x3::IfcOffsetCurve2D::IfcOffsetCurve2D(::Ifc2x3::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) : IfcCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcOffsetCurve2D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Distance));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SelfIntersect));data_->setArgument(2,attr);} } // Function implementations for IfcOffsetCurve3D -::Ifc2x3::IfcCurve* Ifc2x3::IfcOffsetCurve3D::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcCurve>(); } +::Ifc2x3::IfcCurve* Ifc2x3::IfcOffsetCurve3D::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcCurve>(true); } void Ifc2x3::IfcOffsetCurve3D::setBasisCurve(::Ifc2x3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc2x3::IfcOffsetCurve3D::Distance() const { double v = *data_->getArgument(1); return v; } void Ifc2x3::IfcOffsetCurve3D::setDistance(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::logic::tribool Ifc2x3::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = *data_->getArgument(2); return v; } void Ifc2x3::IfcOffsetCurve3D::setSelfIntersect(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc2x3::IfcDirection* Ifc2x3::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcDirection>(); } +::Ifc2x3::IfcDirection* Ifc2x3::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcDirection>(true); } void Ifc2x3::IfcOffsetCurve3D::setRefDirection(::Ifc2x3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -12798,7 +12936,7 @@ Ifc2x3::IfcOffsetCurve3D::IfcOffsetCurve3D(IfcEntityInstanceData* e) : IfcCurve( Ifc2x3::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc2x3::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc2x3::IfcDirection* v4_RefDirection) : IfcCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcOffsetCurve3D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Distance));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SelfIntersect));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RefDirection));data_->setArgument(3,attr);} } // Function implementations for IfcOneDirectionRepeatFactor -::Ifc2x3::IfcVector* Ifc2x3::IfcOneDirectionRepeatFactor::RepeatFactor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcVector>(); } +::Ifc2x3::IfcVector* Ifc2x3::IfcOneDirectionRepeatFactor::RepeatFactor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcVector>(true); } void Ifc2x3::IfcOneDirectionRepeatFactor::setRepeatFactor(::Ifc2x3::IfcVector* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -12886,7 +13024,7 @@ std::string Ifc2x3::IfcOrganizationRelationship::Name() const { std::string v = void Ifc2x3::IfcOrganizationRelationship::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc2x3::IfcOrganizationRelationship::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc2x3::IfcOrganizationRelationship::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc2x3::IfcOrganization* Ifc2x3::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcOrganization>(); } +::Ifc2x3::IfcOrganization* Ifc2x3::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcOrganization>(true); } void Ifc2x3::IfcOrganizationRelationship::setRelatingOrganization(::Ifc2x3::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc2x3::IfcOrganization >::ptr Ifc2x3::IfcOrganizationRelationship::RelatedOrganizations() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc2x3::IfcOrganization >(); } void Ifc2x3::IfcOrganizationRelationship::setRelatedOrganizations(aggregate_of< ::Ifc2x3::IfcOrganization >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -12898,7 +13036,7 @@ Ifc2x3::IfcOrganizationRelationship::IfcOrganizationRelationship(IfcEntityInstan Ifc2x3::IfcOrganizationRelationship::IfcOrganizationRelationship(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcOrganization* v3_RelatingOrganization, aggregate_of< ::Ifc2x3::IfcOrganization >::ptr v4_RelatedOrganizations) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcOrganizationRelationship_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingOrganization));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedOrganizations)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcOrientedEdge -::Ifc2x3::IfcEdge* Ifc2x3::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcEdge>(); } +::Ifc2x3::IfcEdge* Ifc2x3::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcEdge>(true); } void Ifc2x3::IfcOrientedEdge::setEdgeElement(::Ifc2x3::IfcEdge* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } bool Ifc2x3::IfcOrientedEdge::Orientation() const { bool v = *data_->getArgument(3); return v; } void Ifc2x3::IfcOrientedEdge::setOrientation(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -12920,9 +13058,9 @@ Ifc2x3::IfcOutletType::IfcOutletType(IfcEntityInstanceData* e) : IfcFlowTerminal Ifc2x3::IfcOutletType::IfcOutletType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcOutletTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcOutletType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc2x3::IfcOutletTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcOwnerHistory -::Ifc2x3::IfcPersonAndOrganization* Ifc2x3::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcPersonAndOrganization>(); } +::Ifc2x3::IfcPersonAndOrganization* Ifc2x3::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcPersonAndOrganization>(true); } void Ifc2x3::IfcOwnerHistory::setOwningUser(::Ifc2x3::IfcPersonAndOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcApplication* Ifc2x3::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcApplication>(); } +::Ifc2x3::IfcApplication* Ifc2x3::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcApplication>(true); } void Ifc2x3::IfcOwnerHistory::setOwningApplication(::Ifc2x3::IfcApplication* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< ::Ifc2x3::IfcStateEnum::Value > Ifc2x3::IfcOwnerHistory::State() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc2x3::IfcStateEnum::FromString(*data_->getArgument(2)); } void Ifc2x3::IfcOwnerHistory::setState(boost::optional< ::Ifc2x3::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcStateEnum::ToString(*v)));data_->setArgument(2,attr);} } @@ -12930,9 +13068,9 @@ void Ifc2x3::IfcOwnerHistory::setState(boost::optional< ::Ifc2x3::IfcStateEnum:: void Ifc2x3::IfcOwnerHistory::setChangeAction(::Ifc2x3::IfcChangeActionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcChangeActionEnum::ToString(v)));data_->setArgument(3,attr);} } boost::optional< int > Ifc2x3::IfcOwnerHistory::LastModifiedDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } void Ifc2x3::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc2x3::IfcPersonAndOrganization* Ifc2x3::IfcOwnerHistory::LastModifyingUser() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcPersonAndOrganization>(); } +::Ifc2x3::IfcPersonAndOrganization* Ifc2x3::IfcOwnerHistory::LastModifyingUser() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcPersonAndOrganization>(true); } void Ifc2x3::IfcOwnerHistory::setLastModifyingUser(::Ifc2x3::IfcPersonAndOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc2x3::IfcApplication* Ifc2x3::IfcOwnerHistory::LastModifyingApplication() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcApplication>(); } +::Ifc2x3::IfcApplication* Ifc2x3::IfcOwnerHistory::LastModifyingApplication() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcApplication>(true); } void Ifc2x3::IfcOwnerHistory::setLastModifyingApplication(::Ifc2x3::IfcApplication* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } int Ifc2x3::IfcOwnerHistory::CreationDate() const { int v = *data_->getArgument(7); return v; } void Ifc2x3::IfcOwnerHistory::setCreationDate(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -12944,7 +13082,7 @@ Ifc2x3::IfcOwnerHistory::IfcOwnerHistory(IfcEntityInstanceData* e) : IfcUtil::If Ifc2x3::IfcOwnerHistory::IfcOwnerHistory(::Ifc2x3::IfcPersonAndOrganization* v1_OwningUser, ::Ifc2x3::IfcApplication* v2_OwningApplication, boost::optional< ::Ifc2x3::IfcStateEnum::Value > v3_State, ::Ifc2x3::IfcChangeActionEnum::Value v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, ::Ifc2x3::IfcPersonAndOrganization* v6_LastModifyingUser, ::Ifc2x3::IfcApplication* v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcOwnerHistory_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_OwningUser));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwningApplication));data_->setArgument(1,attr);} if (v3_State) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v3_State,::Ifc2x3::IfcStateEnum::ToString(*v3_State))));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v4_ChangeAction,::Ifc2x3::IfcChangeActionEnum::ToString(v4_ChangeAction))));data_->setArgument(3,attr);} if (v5_LastModifiedDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_LastModifiedDate));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LastModifyingUser));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LastModifyingApplication));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_CreationDate));data_->setArgument(7,attr);} } // Function implementations for IfcParameterizedProfileDef -::Ifc2x3::IfcAxis2Placement2D* Ifc2x3::IfcParameterizedProfileDef::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcAxis2Placement2D>(); } +::Ifc2x3::IfcAxis2Placement2D* Ifc2x3::IfcParameterizedProfileDef::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcAxis2Placement2D>(true); } void Ifc2x3::IfcParameterizedProfileDef::setPosition(::Ifc2x3::IfcAxis2Placement2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -12982,7 +13120,7 @@ boost::optional< double > Ifc2x3::IfcPermeableCoveringProperties::FrameDepth() c void Ifc2x3::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } boost::optional< double > Ifc2x3::IfcPermeableCoveringProperties::FrameThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc2x3::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } -::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcShapeAspect>(); } +::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcShapeAspect>(true); } void Ifc2x3::IfcPermeableCoveringProperties::setShapeAspectStyle(::Ifc2x3::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -13027,9 +13165,9 @@ Ifc2x3::IfcPerson::IfcPerson(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity( Ifc2x3::IfcPerson::IfcPerson(boost::optional< std::string > v1_Id, boost::optional< std::string > v2_FamilyName, boost::optional< std::string > v3_GivenName, boost::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, boost::optional< aggregate_of< ::Ifc2x3::IfcActorRole >::ptr > v7_Roles, boost::optional< aggregate_of< ::Ifc2x3::IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcPerson_type); if (v1_Id) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Id));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_FamilyName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_FamilyName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_GivenName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_GivenName));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_MiddleNames) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_MiddleNames));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_PrefixTitles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_PrefixTitles));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_SuffixTitles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_SuffixTitles));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Roles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Roles)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Addresses) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Addresses)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcPersonAndOrganization -::Ifc2x3::IfcPerson* Ifc2x3::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcPerson>(); } +::Ifc2x3::IfcPerson* Ifc2x3::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcPerson>(true); } void Ifc2x3::IfcPersonAndOrganization::setThePerson(::Ifc2x3::IfcPerson* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcOrganization* Ifc2x3::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcOrganization>(); } +::Ifc2x3::IfcOrganization* Ifc2x3::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcOrganization>(true); } void Ifc2x3::IfcPersonAndOrganization::setTheOrganization(::Ifc2x3::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< aggregate_of< ::Ifc2x3::IfcActorRole >::ptr > Ifc2x3::IfcPersonAndOrganization::Roles() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc2x3::IfcActorRole >(); } void Ifc2x3::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc2x3::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(2,attr);} } @@ -13070,7 +13208,7 @@ Ifc2x3::IfcPhysicalQuantity::IfcPhysicalQuantity(IfcEntityInstanceData* e) : Ifc Ifc2x3::IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcPhysicalQuantity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcPhysicalSimpleQuantity -::Ifc2x3::IfcNamedUnit* Ifc2x3::IfcPhysicalSimpleQuantity::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcNamedUnit>(); } +::Ifc2x3::IfcNamedUnit* Ifc2x3::IfcPhysicalSimpleQuantity::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcNamedUnit>(true); } void Ifc2x3::IfcPhysicalSimpleQuantity::setUnit(::Ifc2x3::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -13128,7 +13266,7 @@ Ifc2x3::IfcPixelTexture::IfcPixelTexture(IfcEntityInstanceData* e) : IfcSurfaceT Ifc2x3::IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, ::Ifc2x3::IfcSurfaceTextureEnum::Value v3_TextureType, ::Ifc2x3::IfcCartesianTransformationOperator2D* v4_TextureTransform, int v5_Width, int v6_Height, int v7_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v8_Pixel) : IfcSurfaceTexture((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcPixelTexture_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_RepeatS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RepeatT));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_TextureType,::Ifc2x3::IfcSurfaceTextureEnum::ToString(v3_TextureType))));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TextureTransform));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Width));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Height));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ColourComponents));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Pixel));data_->setArgument(7,attr);} } // Function implementations for IfcPlacement -::Ifc2x3::IfcCartesianPoint* Ifc2x3::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcCartesianPoint>(); } +::Ifc2x3::IfcCartesianPoint* Ifc2x3::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcCartesianPoint>(true); } void Ifc2x3::IfcPlacement::setLocation(::Ifc2x3::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -13138,7 +13276,7 @@ Ifc2x3::IfcPlacement::IfcPlacement(IfcEntityInstanceData* e) : IfcGeometricRepre Ifc2x3::IfcPlacement::IfcPlacement(::Ifc2x3::IfcCartesianPoint* v1_Location) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcPlacement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Location));data_->setArgument(0,attr);} } // Function implementations for IfcPlanarBox -::Ifc2x3::IfcAxis2Placement* Ifc2x3::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcAxis2Placement>(); } +::Ifc2x3::IfcAxis2Placement* Ifc2x3::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcAxis2Placement>(true); } void Ifc2x3::IfcPlanarBox::setPlacement(::Ifc2x3::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -13194,7 +13332,7 @@ Ifc2x3::IfcPoint::IfcPoint(IfcEntityInstanceData* e) : IfcGeometricRepresentatio Ifc2x3::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcPoint_type); } // Function implementations for IfcPointOnCurve -::Ifc2x3::IfcCurve* Ifc2x3::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcCurve>(); } +::Ifc2x3::IfcCurve* Ifc2x3::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcCurve>(true); } void Ifc2x3::IfcPointOnCurve::setBasisCurve(::Ifc2x3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc2x3::IfcPointOnCurve::PointParameter() const { double v = *data_->getArgument(1); return v; } void Ifc2x3::IfcPointOnCurve::setPointParameter(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13206,7 +13344,7 @@ Ifc2x3::IfcPointOnCurve::IfcPointOnCurve(IfcEntityInstanceData* e) : IfcPoint((I Ifc2x3::IfcPointOnCurve::IfcPointOnCurve(::Ifc2x3::IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcPointOnCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PointParameter));data_->setArgument(1,attr);} } // Function implementations for IfcPointOnSurface -::Ifc2x3::IfcSurface* Ifc2x3::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcSurface>(); } +::Ifc2x3::IfcSurface* Ifc2x3::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcSurface>(true); } void Ifc2x3::IfcPointOnSurface::setBasisSurface(::Ifc2x3::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc2x3::IfcPointOnSurface::PointParameterU() const { double v = *data_->getArgument(1); return v; } void Ifc2x3::IfcPointOnSurface::setPointParameterU(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13230,9 +13368,9 @@ Ifc2x3::IfcPolyLoop::IfcPolyLoop(IfcEntityInstanceData* e) : IfcLoop((IfcEntityI Ifc2x3::IfcPolyLoop::IfcPolyLoop(aggregate_of< ::Ifc2x3::IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcPolyLoop_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Polygon)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcPolygonalBoundedHalfSpace -::Ifc2x3::IfcAxis2Placement3D* Ifc2x3::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcAxis2Placement3D>(); } +::Ifc2x3::IfcAxis2Placement3D* Ifc2x3::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcAxis2Placement3D>(true); } void Ifc2x3::IfcPolygonalBoundedHalfSpace::setPosition(::Ifc2x3::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc2x3::IfcBoundedCurve* Ifc2x3::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcBoundedCurve>(); } +::Ifc2x3::IfcBoundedCurve* Ifc2x3::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcBoundedCurve>(true); } void Ifc2x3::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(::Ifc2x3::IfcBoundedCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -13428,9 +13566,9 @@ Ifc2x3::IfcProcess::IfcProcess(IfcEntityInstanceData* e) : IfcObject((IfcEntityI Ifc2x3::IfcProcess::IfcProcess(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcProcess_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcProduct -::Ifc2x3::IfcObjectPlacement* Ifc2x3::IfcProduct::ObjectPlacement() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcObjectPlacement>(); } +::Ifc2x3::IfcObjectPlacement* Ifc2x3::IfcProduct::ObjectPlacement() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcObjectPlacement>(true); } void Ifc2x3::IfcProduct::setObjectPlacement(::Ifc2x3::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc2x3::IfcProductRepresentation* Ifc2x3::IfcProduct::Representation() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcProductRepresentation>(); } +::Ifc2x3::IfcProductRepresentation* Ifc2x3::IfcProduct::Representation() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcProductRepresentation>(true); } void Ifc2x3::IfcProduct::setRepresentation(::Ifc2x3::IfcProductRepresentation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } ::Ifc2x3::IfcRelAssignsToProduct::list::ptr Ifc2x3::IfcProduct::ReferencedBy() const { return data_->getInverse(IFC2X3_IfcRelAssignsToProduct_type, 6)->as(); } @@ -13495,7 +13633,7 @@ Ifc2x3::IfcProfileDef::IfcProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_Prof // Function implementations for IfcProfileProperties boost::optional< std::string > Ifc2x3::IfcProfileProperties::ProfileName() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc2x3::IfcProfileProperties::setProfileName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcProfileDef* Ifc2x3::IfcProfileProperties::ProfileDefinition() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcProfileDef>(); } +::Ifc2x3::IfcProfileDef* Ifc2x3::IfcProfileProperties::ProfileDefinition() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcProfileDef>(true); } void Ifc2x3::IfcProfileProperties::setProfileDefinition(::Ifc2x3::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13511,7 +13649,7 @@ boost::optional< std::string > Ifc2x3::IfcProject::Phase() const { if(!data_->ge void Ifc2x3::IfcProject::setPhase(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } aggregate_of< ::Ifc2x3::IfcRepresentationContext >::ptr Ifc2x3::IfcProject::RepresentationContexts() const { aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc2x3::IfcRepresentationContext >(); } void Ifc2x3::IfcProject::setRepresentationContexts(aggregate_of< ::Ifc2x3::IfcRepresentationContext >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(7,attr);} } -::Ifc2x3::IfcUnitAssignment* Ifc2x3::IfcProject::UnitsInContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcUnitAssignment>(); } +::Ifc2x3::IfcUnitAssignment* Ifc2x3::IfcProject::UnitsInContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcUnitAssignment>(true); } void Ifc2x3::IfcProject::setUnitsInContext(::Ifc2x3::IfcUnitAssignment* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -13578,11 +13716,11 @@ Ifc2x3::IfcProperty::IfcProperty(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEnt Ifc2x3::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcProperty_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcPropertyBoundedValue -::Ifc2x3::IfcValue* Ifc2x3::IfcPropertyBoundedValue::UpperBoundValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcValue>(); } +::Ifc2x3::IfcValue* Ifc2x3::IfcPropertyBoundedValue::UpperBoundValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcValue>(true); } void Ifc2x3::IfcPropertyBoundedValue::setUpperBoundValue(::Ifc2x3::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc2x3::IfcValue* Ifc2x3::IfcPropertyBoundedValue::LowerBoundValue() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcValue>(); } +::Ifc2x3::IfcValue* Ifc2x3::IfcPropertyBoundedValue::LowerBoundValue() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcValue>(true); } void Ifc2x3::IfcPropertyBoundedValue::setLowerBoundValue(::Ifc2x3::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc2x3::IfcUnit* Ifc2x3::IfcPropertyBoundedValue::Unit() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcUnit>(); } +::Ifc2x3::IfcUnit* Ifc2x3::IfcPropertyBoundedValue::Unit() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcUnit>(true); } void Ifc2x3::IfcPropertyBoundedValue::setUnit(::Ifc2x3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -13592,7 +13730,7 @@ Ifc2x3::IfcPropertyBoundedValue::IfcPropertyBoundedValue(IfcEntityInstanceData* Ifc2x3::IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcValue* v3_UpperBoundValue, ::Ifc2x3::IfcValue* v4_LowerBoundValue, ::Ifc2x3::IfcUnit* v5_Unit) : IfcSimpleProperty((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcPropertyBoundedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_UpperBoundValue));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_LowerBoundValue));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Unit));data_->setArgument(4,attr);} } // Function implementations for IfcPropertyConstraintRelationship -::Ifc2x3::IfcConstraint* Ifc2x3::IfcPropertyConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcConstraint>(); } +::Ifc2x3::IfcConstraint* Ifc2x3::IfcPropertyConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcConstraint>(true); } void Ifc2x3::IfcPropertyConstraintRelationship::setRelatingConstraint(::Ifc2x3::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc2x3::IfcProperty >::ptr Ifc2x3::IfcPropertyConstraintRelationship::RelatedProperties() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc2x3::IfcProperty >(); } void Ifc2x3::IfcPropertyConstraintRelationship::setRelatedProperties(aggregate_of< ::Ifc2x3::IfcProperty >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -13617,9 +13755,9 @@ Ifc2x3::IfcPropertyDefinition::IfcPropertyDefinition(IfcEntityInstanceData* e) : Ifc2x3::IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcPropertyDefinition_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPropertyDependencyRelationship -::Ifc2x3::IfcProperty* Ifc2x3::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcProperty>(); } +::Ifc2x3::IfcProperty* Ifc2x3::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcProperty>(true); } void Ifc2x3::IfcPropertyDependencyRelationship::setDependingProperty(::Ifc2x3::IfcProperty* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcProperty* Ifc2x3::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcProperty>(); } +::Ifc2x3::IfcProperty* Ifc2x3::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcProperty>(true); } void Ifc2x3::IfcPropertyDependencyRelationship::setDependantProperty(::Ifc2x3::IfcProperty* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc2x3::IfcPropertyDependencyRelationship::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc2x3::IfcPropertyDependencyRelationship::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } @@ -13637,7 +13775,7 @@ Ifc2x3::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(::I // Function implementations for IfcPropertyEnumeratedValue aggregate_of_instance::ptr Ifc2x3::IfcPropertyEnumeratedValue::EnumerationValues() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } void Ifc2x3::IfcPropertyEnumeratedValue::setEnumerationValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc2x3::IfcPropertyEnumeration* Ifc2x3::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcPropertyEnumeration>(); } +::Ifc2x3::IfcPropertyEnumeration* Ifc2x3::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcPropertyEnumeration>(true); } void Ifc2x3::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc2x3::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -13651,7 +13789,7 @@ std::string Ifc2x3::IfcPropertyEnumeration::Name() const { std::string v = *dat void Ifc2x3::IfcPropertyEnumeration::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of_instance::ptr Ifc2x3::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc2x3::IfcPropertyEnumeration::setEnumerationValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc2x3::IfcUnit* Ifc2x3::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcUnit>(); } +::Ifc2x3::IfcUnit* Ifc2x3::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcUnit>(true); } void Ifc2x3::IfcPropertyEnumeration::setUnit(::Ifc2x3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -13663,7 +13801,7 @@ Ifc2x3::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggr // Function implementations for IfcPropertyListValue aggregate_of_instance::ptr Ifc2x3::IfcPropertyListValue::ListValues() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } void Ifc2x3::IfcPropertyListValue::setListValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc2x3::IfcUnit* Ifc2x3::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcUnit>(); } +::Ifc2x3::IfcUnit* Ifc2x3::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcUnit>(true); } void Ifc2x3::IfcPropertyListValue::setUnit(::Ifc2x3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -13675,7 +13813,7 @@ Ifc2x3::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::o // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc2x3::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc2x3::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc2x3::IfcObjectReferenceSelect* Ifc2x3::IfcPropertyReferenceValue::PropertyReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcObjectReferenceSelect>(); } +::Ifc2x3::IfcObjectReferenceSelect* Ifc2x3::IfcPropertyReferenceValue::PropertyReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcObjectReferenceSelect>(true); } void Ifc2x3::IfcPropertyReferenceValue::setPropertyReference(::Ifc2x3::IfcObjectReferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -13705,9 +13843,9 @@ Ifc2x3::IfcPropertySetDefinition::IfcPropertySetDefinition(IfcEntityInstanceData Ifc2x3::IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcPropertySetDefinition_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPropertySingleValue -::Ifc2x3::IfcValue* Ifc2x3::IfcPropertySingleValue::NominalValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcValue>(); } +::Ifc2x3::IfcValue* Ifc2x3::IfcPropertySingleValue::NominalValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcValue>(true); } void Ifc2x3::IfcPropertySingleValue::setNominalValue(::Ifc2x3::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc2x3::IfcUnit* Ifc2x3::IfcPropertySingleValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcUnit>(); } +::Ifc2x3::IfcUnit* Ifc2x3::IfcPropertySingleValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcUnit>(true); } void Ifc2x3::IfcPropertySingleValue::setUnit(::Ifc2x3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -13723,9 +13861,9 @@ aggregate_of_instance::ptr Ifc2x3::IfcPropertyTableValue::DefinedValues() const void Ifc2x3::IfcPropertyTableValue::setDefinedValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc2x3::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc2x3::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc2x3::IfcUnit* Ifc2x3::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcUnit>(); } +::Ifc2x3::IfcUnit* Ifc2x3::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcUnit>(true); } void Ifc2x3::IfcPropertyTableValue::setDefiningUnit(::Ifc2x3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc2x3::IfcUnit* Ifc2x3::IfcPropertyTableValue::DefinedUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcUnit>(); } +::Ifc2x3::IfcUnit* Ifc2x3::IfcPropertyTableValue::DefinedUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcUnit>(true); } void Ifc2x3::IfcPropertyTableValue::setDefinedUnit(::Ifc2x3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -13933,7 +14071,7 @@ Ifc2x3::IfcRectangularPyramid::IfcRectangularPyramid(IfcEntityInstanceData* e) : Ifc2x3::IfcRectangularPyramid::IfcRectangularPyramid(::Ifc2x3::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRectangularPyramid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_XLength));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_YLength));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Height));data_->setArgument(3,attr);} } // Function implementations for IfcRectangularTrimmedSurface -::Ifc2x3::IfcSurface* Ifc2x3::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcSurface>(); } +::Ifc2x3::IfcSurface* Ifc2x3::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcSurface>(true); } void Ifc2x3::IfcRectangularTrimmedSurface::setBasisSurface(::Ifc2x3::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc2x3::IfcRectangularTrimmedSurface::U1() const { double v = *data_->getArgument(1); return v; } void Ifc2x3::IfcRectangularTrimmedSurface::setU1(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13955,7 +14093,7 @@ Ifc2x3::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(IfcEntityInst Ifc2x3::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(::Ifc2x3::IfcSurface* v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) : IfcBoundedSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRectangularTrimmedSurface_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisSurface));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_U1));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_V1));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_U2));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_V2));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Usense));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Vsense));data_->setArgument(6,attr);} } // Function implementations for IfcReferencesValueDocument -::Ifc2x3::IfcDocumentSelect* Ifc2x3::IfcReferencesValueDocument::ReferencedDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcDocumentSelect>(); } +::Ifc2x3::IfcDocumentSelect* Ifc2x3::IfcReferencesValueDocument::ReferencedDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcDocumentSelect>(true); } void Ifc2x3::IfcReferencesValueDocument::setReferencedDocument(::Ifc2x3::IfcDocumentSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc2x3::IfcAppliedValue >::ptr Ifc2x3::IfcReferencesValueDocument::ReferencingValues() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc2x3::IfcAppliedValue >(); } void Ifc2x3::IfcReferencesValueDocument::setReferencingValues(aggregate_of< ::Ifc2x3::IfcAppliedValue >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -14087,7 +14225,7 @@ Ifc2x3::IfcRelAssigns::IfcRelAssigns(IfcEntityInstanceData* e) : IfcRelationship Ifc2x3::IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRelAssigns_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc2x3::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } } // Function implementations for IfcRelAssignsTasks -::Ifc2x3::IfcScheduleTimeControl* Ifc2x3::IfcRelAssignsTasks::TimeForTask() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcScheduleTimeControl>(); } +::Ifc2x3::IfcScheduleTimeControl* Ifc2x3::IfcRelAssignsTasks::TimeForTask() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcScheduleTimeControl>(true); } void Ifc2x3::IfcRelAssignsTasks::setTimeForTask(::Ifc2x3::IfcScheduleTimeControl* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -14097,9 +14235,9 @@ Ifc2x3::IfcRelAssignsTasks::IfcRelAssignsTasks(IfcEntityInstanceData* e) : IfcRe Ifc2x3::IfcRelAssignsTasks::IfcRelAssignsTasks(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcControl* v7_RelatingControl, ::Ifc2x3::IfcScheduleTimeControl* v8_TimeForTask) : IfcRelAssignsToControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRelAssignsTasks_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc2x3::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingControl));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_TimeForTask));data_->setArgument(7,attr);} } // Function implementations for IfcRelAssignsToActor -::Ifc2x3::IfcActor* Ifc2x3::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcActor>(); } +::Ifc2x3::IfcActor* Ifc2x3::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcActor>(true); } void Ifc2x3::IfcRelAssignsToActor::setRelatingActor(::Ifc2x3::IfcActor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc2x3::IfcActorRole* Ifc2x3::IfcRelAssignsToActor::ActingRole() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcActorRole>(); } +::Ifc2x3::IfcActorRole* Ifc2x3::IfcRelAssignsToActor::ActingRole() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcActorRole>(true); } void Ifc2x3::IfcRelAssignsToActor::setActingRole(::Ifc2x3::IfcActorRole* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -14109,7 +14247,7 @@ Ifc2x3::IfcRelAssignsToActor::IfcRelAssignsToActor(IfcEntityInstanceData* e) : I Ifc2x3::IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcActor* v7_RelatingActor, ::Ifc2x3::IfcActorRole* v8_ActingRole) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRelAssignsToActor_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc2x3::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingActor));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_ActingRole));data_->setArgument(7,attr);} } // Function implementations for IfcRelAssignsToControl -::Ifc2x3::IfcControl* Ifc2x3::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcControl>(); } +::Ifc2x3::IfcControl* Ifc2x3::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcControl>(true); } void Ifc2x3::IfcRelAssignsToControl::setRelatingControl(::Ifc2x3::IfcControl* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -14119,7 +14257,7 @@ Ifc2x3::IfcRelAssignsToControl::IfcRelAssignsToControl(IfcEntityInstanceData* e) Ifc2x3::IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcControl* v7_RelatingControl) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRelAssignsToControl_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc2x3::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingControl));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssignsToGroup -::Ifc2x3::IfcGroup* Ifc2x3::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcGroup>(); } +::Ifc2x3::IfcGroup* Ifc2x3::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcGroup>(true); } void Ifc2x3::IfcRelAssignsToGroup::setRelatingGroup(::Ifc2x3::IfcGroup* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -14129,9 +14267,9 @@ Ifc2x3::IfcRelAssignsToGroup::IfcRelAssignsToGroup(IfcEntityInstanceData* e) : I Ifc2x3::IfcRelAssignsToGroup::IfcRelAssignsToGroup(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcGroup* v7_RelatingGroup) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRelAssignsToGroup_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc2x3::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingGroup));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssignsToProcess -::Ifc2x3::IfcProcess* Ifc2x3::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcProcess>(); } +::Ifc2x3::IfcProcess* Ifc2x3::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcProcess>(true); } void Ifc2x3::IfcRelAssignsToProcess::setRelatingProcess(::Ifc2x3::IfcProcess* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc2x3::IfcMeasureWithUnit* Ifc2x3::IfcRelAssignsToProcess::QuantityInProcess() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcMeasureWithUnit>(); } +::Ifc2x3::IfcMeasureWithUnit* Ifc2x3::IfcRelAssignsToProcess::QuantityInProcess() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcMeasureWithUnit>(true); } void Ifc2x3::IfcRelAssignsToProcess::setQuantityInProcess(::Ifc2x3::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -14141,7 +14279,7 @@ Ifc2x3::IfcRelAssignsToProcess::IfcRelAssignsToProcess(IfcEntityInstanceData* e) Ifc2x3::IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcProcess* v7_RelatingProcess, ::Ifc2x3::IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRelAssignsToProcess_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc2x3::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingProcess));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_QuantityInProcess));data_->setArgument(7,attr);} } // Function implementations for IfcRelAssignsToProduct -::Ifc2x3::IfcProduct* Ifc2x3::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcProduct>(); } +::Ifc2x3::IfcProduct* Ifc2x3::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcProduct>(true); } void Ifc2x3::IfcRelAssignsToProduct::setRelatingProduct(::Ifc2x3::IfcProduct* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -14159,7 +14297,7 @@ Ifc2x3::IfcRelAssignsToProjectOrder::IfcRelAssignsToProjectOrder(IfcEntityInstan Ifc2x3::IfcRelAssignsToProjectOrder::IfcRelAssignsToProjectOrder(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcControl* v7_RelatingControl) : IfcRelAssignsToControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRelAssignsToProjectOrder_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc2x3::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingControl));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssignsToResource -::Ifc2x3::IfcResource* Ifc2x3::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcResource>(); } +::Ifc2x3::IfcResource* Ifc2x3::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcResource>(true); } void Ifc2x3::IfcRelAssignsToResource::setRelatingResource(::Ifc2x3::IfcResource* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -14179,7 +14317,7 @@ Ifc2x3::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData* e) : IfcRelati Ifc2x3::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcRoot >::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} } // Function implementations for IfcRelAssociatesAppliedValue -::Ifc2x3::IfcAppliedValue* Ifc2x3::IfcRelAssociatesAppliedValue::RelatingAppliedValue() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcAppliedValue>(); } +::Ifc2x3::IfcAppliedValue* Ifc2x3::IfcRelAssociatesAppliedValue::RelatingAppliedValue() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcAppliedValue>(true); } void Ifc2x3::IfcRelAssociatesAppliedValue::setRelatingAppliedValue(::Ifc2x3::IfcAppliedValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -14189,7 +14327,7 @@ Ifc2x3::IfcRelAssociatesAppliedValue::IfcRelAssociatesAppliedValue(IfcEntityInst Ifc2x3::IfcRelAssociatesAppliedValue::IfcRelAssociatesAppliedValue(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcRoot >::ptr v5_RelatedObjects, ::Ifc2x3::IfcAppliedValue* v6_RelatingAppliedValue) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRelAssociatesAppliedValue_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingAppliedValue));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesApproval -::Ifc2x3::IfcApproval* Ifc2x3::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcApproval>(); } +::Ifc2x3::IfcApproval* Ifc2x3::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcApproval>(true); } void Ifc2x3::IfcRelAssociatesApproval::setRelatingApproval(::Ifc2x3::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -14199,7 +14337,7 @@ Ifc2x3::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData Ifc2x3::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcRoot >::ptr v5_RelatedObjects, ::Ifc2x3::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesClassification -::Ifc2x3::IfcClassificationNotationSelect* Ifc2x3::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcClassificationNotationSelect>(); } +::Ifc2x3::IfcClassificationNotationSelect* Ifc2x3::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcClassificationNotationSelect>(true); } void Ifc2x3::IfcRelAssociatesClassification::setRelatingClassification(::Ifc2x3::IfcClassificationNotationSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -14211,7 +14349,7 @@ Ifc2x3::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::stri // Function implementations for IfcRelAssociatesConstraint std::string Ifc2x3::IfcRelAssociatesConstraint::Intent() const { std::string v = *data_->getArgument(5); return v; } void Ifc2x3::IfcRelAssociatesConstraint::setIntent(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc2x3::IfcConstraint* Ifc2x3::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcConstraint>(); } +::Ifc2x3::IfcConstraint* Ifc2x3::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcConstraint>(true); } void Ifc2x3::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc2x3::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -14221,7 +14359,7 @@ Ifc2x3::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstance Ifc2x3::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcRoot >::ptr v5_RelatedObjects, std::string v6_Intent, ::Ifc2x3::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Intent));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociatesDocument -::Ifc2x3::IfcDocumentSelect* Ifc2x3::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcDocumentSelect>(); } +::Ifc2x3::IfcDocumentSelect* Ifc2x3::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcDocumentSelect>(true); } void Ifc2x3::IfcRelAssociatesDocument::setRelatingDocument(::Ifc2x3::IfcDocumentSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -14231,7 +14369,7 @@ Ifc2x3::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData Ifc2x3::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcRoot >::ptr v5_RelatedObjects, ::Ifc2x3::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesLibrary -::Ifc2x3::IfcLibrarySelect* Ifc2x3::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcLibrarySelect>(); } +::Ifc2x3::IfcLibrarySelect* Ifc2x3::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcLibrarySelect>(true); } void Ifc2x3::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc2x3::IfcLibrarySelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -14241,7 +14379,7 @@ Ifc2x3::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData* Ifc2x3::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcRoot >::ptr v5_RelatedObjects, ::Ifc2x3::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesMaterial -::Ifc2x3::IfcMaterialSelect* Ifc2x3::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcMaterialSelect>(); } +::Ifc2x3::IfcMaterialSelect* Ifc2x3::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcMaterialSelect>(true); } void Ifc2x3::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc2x3::IfcMaterialSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -14251,11 +14389,11 @@ Ifc2x3::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData Ifc2x3::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcRoot >::ptr v5_RelatedObjects, ::Ifc2x3::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesProfileProperties -::Ifc2x3::IfcProfileProperties* Ifc2x3::IfcRelAssociatesProfileProperties::RelatingProfileProperties() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcProfileProperties>(); } +::Ifc2x3::IfcProfileProperties* Ifc2x3::IfcRelAssociatesProfileProperties::RelatingProfileProperties() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcProfileProperties>(true); } void Ifc2x3::IfcRelAssociatesProfileProperties::setRelatingProfileProperties(::Ifc2x3::IfcProfileProperties* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcRelAssociatesProfileProperties::ProfileSectionLocation() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcShapeAspect>(); } +::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcRelAssociatesProfileProperties::ProfileSectionLocation() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcShapeAspect>(true); } void Ifc2x3::IfcRelAssociatesProfileProperties::setProfileSectionLocation(::Ifc2x3::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc2x3::IfcOrientationSelect* Ifc2x3::IfcRelAssociatesProfileProperties::ProfileOrientation() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcOrientationSelect>(); } +::Ifc2x3::IfcOrientationSelect* Ifc2x3::IfcRelAssociatesProfileProperties::ProfileOrientation() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcOrientationSelect>(true); } void Ifc2x3::IfcRelAssociatesProfileProperties::setProfileOrientation(::Ifc2x3::IfcOrientationSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -14273,11 +14411,11 @@ Ifc2x3::IfcRelConnects::IfcRelConnects(IfcEntityInstanceData* e) : IfcRelationsh Ifc2x3::IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRelConnects_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcRelConnectsElements -::Ifc2x3::IfcConnectionGeometry* Ifc2x3::IfcRelConnectsElements::ConnectionGeometry() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcConnectionGeometry>(); } +::Ifc2x3::IfcConnectionGeometry* Ifc2x3::IfcRelConnectsElements::ConnectionGeometry() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcConnectionGeometry>(true); } void Ifc2x3::IfcRelConnectsElements::setConnectionGeometry(::Ifc2x3::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc2x3::IfcElement* Ifc2x3::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcElement>(); } +::Ifc2x3::IfcElement* Ifc2x3::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcElement>(true); } void Ifc2x3::IfcRelConnectsElements::setRelatingElement(::Ifc2x3::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc2x3::IfcElement* Ifc2x3::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcElement>(); } +::Ifc2x3::IfcElement* Ifc2x3::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcElement>(true); } void Ifc2x3::IfcRelConnectsElements::setRelatedElement(::Ifc2x3::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -14303,9 +14441,9 @@ Ifc2x3::IfcRelConnectsPathElements::IfcRelConnectsPathElements(IfcEntityInstance Ifc2x3::IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc2x3::IfcElement* v6_RelatingElement, ::Ifc2x3::IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc2x3::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc2x3::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) : IfcRelConnectsElements((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRelConnectsPathElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ConnectionGeometry));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatedElement));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_RelatingPriorities));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_RelatedPriorities));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_RelatedConnectionType,::Ifc2x3::IfcConnectionTypeEnum::ToString(v10_RelatedConnectionType))));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v11_RelatingConnectionType,::Ifc2x3::IfcConnectionTypeEnum::ToString(v11_RelatingConnectionType))));data_->setArgument(10,attr);} } // Function implementations for IfcRelConnectsPortToElement -::Ifc2x3::IfcPort* Ifc2x3::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcPort>(); } +::Ifc2x3::IfcPort* Ifc2x3::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcPort>(true); } void Ifc2x3::IfcRelConnectsPortToElement::setRelatingPort(::Ifc2x3::IfcPort* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc2x3::IfcElement* Ifc2x3::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcElement>(); } +::Ifc2x3::IfcElement* Ifc2x3::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcElement>(true); } void Ifc2x3::IfcRelConnectsPortToElement::setRelatedElement(::Ifc2x3::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -14315,11 +14453,11 @@ Ifc2x3::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(IfcEntityInstan Ifc2x3::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcPort* v5_RelatingPort, ::Ifc2x3::IfcElement* v6_RelatedElement) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRelConnectsPortToElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingPort));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnectsPorts -::Ifc2x3::IfcPort* Ifc2x3::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcPort>(); } +::Ifc2x3::IfcPort* Ifc2x3::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcPort>(true); } void Ifc2x3::IfcRelConnectsPorts::setRelatingPort(::Ifc2x3::IfcPort* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc2x3::IfcPort* Ifc2x3::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcPort>(); } +::Ifc2x3::IfcPort* Ifc2x3::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcPort>(true); } void Ifc2x3::IfcRelConnectsPorts::setRelatedPort(::Ifc2x3::IfcPort* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc2x3::IfcElement* Ifc2x3::IfcRelConnectsPorts::RealizingElement() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcElement>(); } +::Ifc2x3::IfcElement* Ifc2x3::IfcRelConnectsPorts::RealizingElement() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcElement>(true); } void Ifc2x3::IfcRelConnectsPorts::setRealizingElement(::Ifc2x3::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -14329,9 +14467,9 @@ Ifc2x3::IfcRelConnectsPorts::IfcRelConnectsPorts(IfcEntityInstanceData* e) : Ifc Ifc2x3::IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcPort* v5_RelatingPort, ::Ifc2x3::IfcPort* v6_RelatedPort, ::Ifc2x3::IfcElement* v7_RealizingElement) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRelConnectsPorts_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingPort));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedPort));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RealizingElement));data_->setArgument(6,attr);} } // Function implementations for IfcRelConnectsStructuralActivity -::Ifc2x3::IfcStructuralActivityAssignmentSelect* Ifc2x3::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcStructuralActivityAssignmentSelect>(); } +::Ifc2x3::IfcStructuralActivityAssignmentSelect* Ifc2x3::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcStructuralActivityAssignmentSelect>(true); } void Ifc2x3::IfcRelConnectsStructuralActivity::setRelatingElement(::Ifc2x3::IfcStructuralActivityAssignmentSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc2x3::IfcStructuralActivity* Ifc2x3::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcStructuralActivity>(); } +::Ifc2x3::IfcStructuralActivity* Ifc2x3::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcStructuralActivity>(true); } void Ifc2x3::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(::Ifc2x3::IfcStructuralActivity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -14341,9 +14479,9 @@ Ifc2x3::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(IfcEn Ifc2x3::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcStructuralActivityAssignmentSelect* v5_RelatingElement, ::Ifc2x3::IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRelConnectsStructuralActivity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedStructuralActivity));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnectsStructuralElement -::Ifc2x3::IfcElement* Ifc2x3::IfcRelConnectsStructuralElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcElement>(); } +::Ifc2x3::IfcElement* Ifc2x3::IfcRelConnectsStructuralElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcElement>(true); } void Ifc2x3::IfcRelConnectsStructuralElement::setRelatingElement(::Ifc2x3::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc2x3::IfcStructuralMember* Ifc2x3::IfcRelConnectsStructuralElement::RelatedStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcStructuralMember>(); } +::Ifc2x3::IfcStructuralMember* Ifc2x3::IfcRelConnectsStructuralElement::RelatedStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcStructuralMember>(true); } void Ifc2x3::IfcRelConnectsStructuralElement::setRelatedStructuralMember(::Ifc2x3::IfcStructuralMember* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -14353,17 +14491,17 @@ Ifc2x3::IfcRelConnectsStructuralElement::IfcRelConnectsStructuralElement(IfcEnti Ifc2x3::IfcRelConnectsStructuralElement::IfcRelConnectsStructuralElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcElement* v5_RelatingElement, ::Ifc2x3::IfcStructuralMember* v6_RelatedStructuralMember) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRelConnectsStructuralElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedStructuralMember));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnectsStructuralMember -::Ifc2x3::IfcStructuralMember* Ifc2x3::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcStructuralMember>(); } +::Ifc2x3::IfcStructuralMember* Ifc2x3::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcStructuralMember>(true); } void Ifc2x3::IfcRelConnectsStructuralMember::setRelatingStructuralMember(::Ifc2x3::IfcStructuralMember* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc2x3::IfcStructuralConnection* Ifc2x3::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcStructuralConnection>(); } +::Ifc2x3::IfcStructuralConnection* Ifc2x3::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcStructuralConnection>(true); } void Ifc2x3::IfcRelConnectsStructuralMember::setRelatedStructuralConnection(::Ifc2x3::IfcStructuralConnection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc2x3::IfcBoundaryCondition* Ifc2x3::IfcRelConnectsStructuralMember::AppliedCondition() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcBoundaryCondition>(); } +::Ifc2x3::IfcBoundaryCondition* Ifc2x3::IfcRelConnectsStructuralMember::AppliedCondition() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcBoundaryCondition>(true); } void Ifc2x3::IfcRelConnectsStructuralMember::setAppliedCondition(::Ifc2x3::IfcBoundaryCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc2x3::IfcStructuralConnectionCondition* Ifc2x3::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcStructuralConnectionCondition>(); } +::Ifc2x3::IfcStructuralConnectionCondition* Ifc2x3::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcStructuralConnectionCondition>(true); } void Ifc2x3::IfcRelConnectsStructuralMember::setAdditionalConditions(::Ifc2x3::IfcStructuralConnectionCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< double > Ifc2x3::IfcRelConnectsStructuralMember::SupportedLength() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } void Ifc2x3::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } -::Ifc2x3::IfcAxis2Placement3D* Ifc2x3::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc2x3::IfcAxis2Placement3D>(); } +::Ifc2x3::IfcAxis2Placement3D* Ifc2x3::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc2x3::IfcAxis2Placement3D>(true); } void Ifc2x3::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(::Ifc2x3::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -14373,7 +14511,7 @@ Ifc2x3::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(IfcEntity Ifc2x3::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc2x3::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc2x3::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc2x3::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc2x3::IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRelConnectsStructuralMember_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingStructuralMember));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedStructuralConnection));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_AppliedCondition));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AdditionalConditions));data_->setArgument(7,attr);} if (v9_SupportedLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_SupportedLength));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_ConditionCoordinateSystem));data_->setArgument(9,attr);} } // Function implementations for IfcRelConnectsWithEccentricity -::Ifc2x3::IfcConnectionGeometry* Ifc2x3::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc2x3::IfcConnectionGeometry>(); } +::Ifc2x3::IfcConnectionGeometry* Ifc2x3::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc2x3::IfcConnectionGeometry>(true); } void Ifc2x3::IfcRelConnectsWithEccentricity::setConnectionConstraint(::Ifc2x3::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -14397,7 +14535,7 @@ Ifc2x3::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements // Function implementations for IfcRelContainedInSpatialStructure aggregate_of< ::Ifc2x3::IfcProduct >::ptr Ifc2x3::IfcRelContainedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc2x3::IfcProduct >(); } void Ifc2x3::IfcRelContainedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc2x3::IfcProduct >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc2x3::IfcSpatialStructureElement* Ifc2x3::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcSpatialStructureElement>(); } +::Ifc2x3::IfcSpatialStructureElement* Ifc2x3::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcSpatialStructureElement>(true); } void Ifc2x3::IfcRelContainedInSpatialStructure::setRelatingStructure(::Ifc2x3::IfcSpatialStructureElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -14407,7 +14545,7 @@ Ifc2x3::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(Ifc Ifc2x3::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcProduct >::ptr v5_RelatedElements, ::Ifc2x3::IfcSpatialStructureElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRelContainedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } // Function implementations for IfcRelCoversBldgElements -::Ifc2x3::IfcElement* Ifc2x3::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcElement>(); } +::Ifc2x3::IfcElement* Ifc2x3::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcElement>(true); } void Ifc2x3::IfcRelCoversBldgElements::setRelatingBuildingElement(::Ifc2x3::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc2x3::IfcCovering >::ptr Ifc2x3::IfcRelCoversBldgElements::RelatedCoverings() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc2x3::IfcCovering >(); } void Ifc2x3::IfcRelCoversBldgElements::setRelatedCoverings(aggregate_of< ::Ifc2x3::IfcCovering >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -14419,7 +14557,7 @@ Ifc2x3::IfcRelCoversBldgElements::IfcRelCoversBldgElements(IfcEntityInstanceData Ifc2x3::IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcElement* v5_RelatingBuildingElement, aggregate_of< ::Ifc2x3::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRelCoversBldgElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingBuildingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedCoverings)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelCoversSpaces -::Ifc2x3::IfcSpace* Ifc2x3::IfcRelCoversSpaces::RelatedSpace() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcSpace>(); } +::Ifc2x3::IfcSpace* Ifc2x3::IfcRelCoversSpaces::RelatedSpace() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcSpace>(true); } void Ifc2x3::IfcRelCoversSpaces::setRelatedSpace(::Ifc2x3::IfcSpace* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc2x3::IfcCovering >::ptr Ifc2x3::IfcRelCoversSpaces::RelatedCoverings() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc2x3::IfcCovering >(); } void Ifc2x3::IfcRelCoversSpaces::setRelatedCoverings(aggregate_of< ::Ifc2x3::IfcCovering >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -14431,7 +14569,7 @@ Ifc2x3::IfcRelCoversSpaces::IfcRelCoversSpaces(IfcEntityInstanceData* e) : IfcRe Ifc2x3::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcSpace* v5_RelatedSpace, aggregate_of< ::Ifc2x3::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRelCoversSpaces_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedSpace));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedCoverings)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelDecomposes -::Ifc2x3::IfcObjectDefinition* Ifc2x3::IfcRelDecomposes::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcObjectDefinition>(); } +::Ifc2x3::IfcObjectDefinition* Ifc2x3::IfcRelDecomposes::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcObjectDefinition>(true); } void Ifc2x3::IfcRelDecomposes::setRelatingObject(::Ifc2x3::IfcObjectDefinition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr Ifc2x3::IfcRelDecomposes::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc2x3::IfcObjectDefinition >(); } void Ifc2x3::IfcRelDecomposes::setRelatedObjects(aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -14453,7 +14591,7 @@ Ifc2x3::IfcRelDefines::IfcRelDefines(IfcEntityInstanceData* e) : IfcRelationship Ifc2x3::IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObject >::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRelDefines_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} } // Function implementations for IfcRelDefinesByProperties -::Ifc2x3::IfcPropertySetDefinition* Ifc2x3::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcPropertySetDefinition>(); } +::Ifc2x3::IfcPropertySetDefinition* Ifc2x3::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcPropertySetDefinition>(true); } void Ifc2x3::IfcRelDefinesByProperties::setRelatingPropertyDefinition(::Ifc2x3::IfcPropertySetDefinition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -14463,7 +14601,7 @@ Ifc2x3::IfcRelDefinesByProperties::IfcRelDefinesByProperties(IfcEntityInstanceDa Ifc2x3::IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObject >::ptr v5_RelatedObjects, ::Ifc2x3::IfcPropertySetDefinition* v6_RelatingPropertyDefinition) : IfcRelDefines((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRelDefinesByProperties_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingPropertyDefinition));data_->setArgument(5,attr);} } // Function implementations for IfcRelDefinesByType -::Ifc2x3::IfcTypeObject* Ifc2x3::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcTypeObject>(); } +::Ifc2x3::IfcTypeObject* Ifc2x3::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcTypeObject>(true); } void Ifc2x3::IfcRelDefinesByType::setRelatingType(::Ifc2x3::IfcTypeObject* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -14473,9 +14611,9 @@ Ifc2x3::IfcRelDefinesByType::IfcRelDefinesByType(IfcEntityInstanceData* e) : Ifc Ifc2x3::IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObject >::ptr v5_RelatedObjects, ::Ifc2x3::IfcTypeObject* v6_RelatingType) : IfcRelDefines((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRelDefinesByType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingType));data_->setArgument(5,attr);} } // Function implementations for IfcRelFillsElement -::Ifc2x3::IfcOpeningElement* Ifc2x3::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcOpeningElement>(); } +::Ifc2x3::IfcOpeningElement* Ifc2x3::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcOpeningElement>(true); } void Ifc2x3::IfcRelFillsElement::setRelatingOpeningElement(::Ifc2x3::IfcOpeningElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc2x3::IfcElement* Ifc2x3::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcElement>(); } +::Ifc2x3::IfcElement* Ifc2x3::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcElement>(true); } void Ifc2x3::IfcRelFillsElement::setRelatedBuildingElement(::Ifc2x3::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -14487,7 +14625,7 @@ Ifc2x3::IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, ::Ifc2x3 // Function implementations for IfcRelFlowControlElements aggregate_of< ::Ifc2x3::IfcDistributionControlElement >::ptr Ifc2x3::IfcRelFlowControlElements::RelatedControlElements() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc2x3::IfcDistributionControlElement >(); } void Ifc2x3::IfcRelFlowControlElements::setRelatedControlElements(aggregate_of< ::Ifc2x3::IfcDistributionControlElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc2x3::IfcDistributionFlowElement* Ifc2x3::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcDistributionFlowElement>(); } +::Ifc2x3::IfcDistributionFlowElement* Ifc2x3::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcDistributionFlowElement>(true); } void Ifc2x3::IfcRelFlowControlElements::setRelatingFlowElement(::Ifc2x3::IfcDistributionFlowElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -14501,11 +14639,11 @@ boost::optional< double > Ifc2x3::IfcRelInteractionRequirements::DailyInteractio void Ifc2x3::IfcRelInteractionRequirements::setDailyInteraction(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } boost::optional< double > Ifc2x3::IfcRelInteractionRequirements::ImportanceRating() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } double v = *data_->getArgument(5); return v; } void Ifc2x3::IfcRelInteractionRequirements::setImportanceRating(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc2x3::IfcSpatialStructureElement* Ifc2x3::IfcRelInteractionRequirements::LocationOfInteraction() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcSpatialStructureElement>(); } +::Ifc2x3::IfcSpatialStructureElement* Ifc2x3::IfcRelInteractionRequirements::LocationOfInteraction() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcSpatialStructureElement>(true); } void Ifc2x3::IfcRelInteractionRequirements::setLocationOfInteraction(::Ifc2x3::IfcSpatialStructureElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc2x3::IfcSpaceProgram* Ifc2x3::IfcRelInteractionRequirements::RelatedSpaceProgram() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcSpaceProgram>(); } +::Ifc2x3::IfcSpaceProgram* Ifc2x3::IfcRelInteractionRequirements::RelatedSpaceProgram() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcSpaceProgram>(true); } void Ifc2x3::IfcRelInteractionRequirements::setRelatedSpaceProgram(::Ifc2x3::IfcSpaceProgram* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -::Ifc2x3::IfcSpaceProgram* Ifc2x3::IfcRelInteractionRequirements::RelatingSpaceProgram() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcSpaceProgram>(); } +::Ifc2x3::IfcSpaceProgram* Ifc2x3::IfcRelInteractionRequirements::RelatingSpaceProgram() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcSpaceProgram>(true); } void Ifc2x3::IfcRelInteractionRequirements::setRelatingSpaceProgram(::Ifc2x3::IfcSpaceProgram* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -14541,9 +14679,9 @@ Ifc2x3::IfcRelOverridesProperties::IfcRelOverridesProperties(IfcEntityInstanceDa Ifc2x3::IfcRelOverridesProperties::IfcRelOverridesProperties(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObject >::ptr v5_RelatedObjects, ::Ifc2x3::IfcPropertySetDefinition* v6_RelatingPropertyDefinition, aggregate_of< ::Ifc2x3::IfcProperty >::ptr v7_OverridingProperties) : IfcRelDefinesByProperties((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRelOverridesProperties_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingPropertyDefinition));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_OverridingProperties)->generalize());data_->setArgument(6,attr);} } // Function implementations for IfcRelProjectsElement -::Ifc2x3::IfcElement* Ifc2x3::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcElement>(); } +::Ifc2x3::IfcElement* Ifc2x3::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcElement>(true); } void Ifc2x3::IfcRelProjectsElement::setRelatingElement(::Ifc2x3::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc2x3::IfcFeatureElementAddition* Ifc2x3::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcFeatureElementAddition>(); } +::Ifc2x3::IfcFeatureElementAddition* Ifc2x3::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcFeatureElementAddition>(true); } void Ifc2x3::IfcRelProjectsElement::setRelatedFeatureElement(::Ifc2x3::IfcFeatureElementAddition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -14555,7 +14693,7 @@ Ifc2x3::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, :: // Function implementations for IfcRelReferencedInSpatialStructure aggregate_of< ::Ifc2x3::IfcProduct >::ptr Ifc2x3::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc2x3::IfcProduct >(); } void Ifc2x3::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc2x3::IfcProduct >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc2x3::IfcSpatialStructureElement* Ifc2x3::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcSpatialStructureElement>(); } +::Ifc2x3::IfcSpatialStructureElement* Ifc2x3::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcSpatialStructureElement>(true); } void Ifc2x3::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc2x3::IfcSpatialStructureElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -14573,9 +14711,9 @@ Ifc2x3::IfcRelSchedulesCostItems::IfcRelSchedulesCostItems(IfcEntityInstanceData Ifc2x3::IfcRelSchedulesCostItems::IfcRelSchedulesCostItems(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcControl* v7_RelatingControl) : IfcRelAssignsToControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRelSchedulesCostItems_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc2x3::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingControl));data_->setArgument(6,attr);} } // Function implementations for IfcRelSequence -::Ifc2x3::IfcProcess* Ifc2x3::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcProcess>(); } +::Ifc2x3::IfcProcess* Ifc2x3::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcProcess>(true); } void Ifc2x3::IfcRelSequence::setRelatingProcess(::Ifc2x3::IfcProcess* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc2x3::IfcProcess* Ifc2x3::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcProcess>(); } +::Ifc2x3::IfcProcess* Ifc2x3::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcProcess>(true); } void Ifc2x3::IfcRelSequence::setRelatedProcess(::Ifc2x3::IfcProcess* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } double Ifc2x3::IfcRelSequence::TimeLag() const { double v = *data_->getArgument(6); return v; } void Ifc2x3::IfcRelSequence::setTimeLag(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -14589,7 +14727,7 @@ Ifc2x3::IfcRelSequence::IfcRelSequence(IfcEntityInstanceData* e) : IfcRelConnect Ifc2x3::IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcProcess* v5_RelatingProcess, ::Ifc2x3::IfcProcess* v6_RelatedProcess, double v7_TimeLag, ::Ifc2x3::IfcSequenceEnum::Value v8_SequenceType) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRelSequence_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingProcess));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedProcess));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_TimeLag));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_SequenceType,::Ifc2x3::IfcSequenceEnum::ToString(v8_SequenceType))));data_->setArgument(7,attr);} } // Function implementations for IfcRelServicesBuildings -::Ifc2x3::IfcSystem* Ifc2x3::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcSystem>(); } +::Ifc2x3::IfcSystem* Ifc2x3::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcSystem>(true); } void Ifc2x3::IfcRelServicesBuildings::setRelatingSystem(::Ifc2x3::IfcSystem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc2x3::IfcSpatialStructureElement >::ptr Ifc2x3::IfcRelServicesBuildings::RelatedBuildings() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc2x3::IfcSpatialStructureElement >(); } void Ifc2x3::IfcRelServicesBuildings::setRelatedBuildings(aggregate_of< ::Ifc2x3::IfcSpatialStructureElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -14601,11 +14739,11 @@ Ifc2x3::IfcRelServicesBuildings::IfcRelServicesBuildings(IfcEntityInstanceData* Ifc2x3::IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcSystem* v5_RelatingSystem, aggregate_of< ::Ifc2x3::IfcSpatialStructureElement >::ptr v6_RelatedBuildings) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRelServicesBuildings_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSystem));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildings)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelSpaceBoundary -::Ifc2x3::IfcSpace* Ifc2x3::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcSpace>(); } +::Ifc2x3::IfcSpace* Ifc2x3::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcSpace>(true); } void Ifc2x3::IfcRelSpaceBoundary::setRelatingSpace(::Ifc2x3::IfcSpace* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc2x3::IfcElement* Ifc2x3::IfcRelSpaceBoundary::RelatedBuildingElement() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcElement>(); } +::Ifc2x3::IfcElement* Ifc2x3::IfcRelSpaceBoundary::RelatedBuildingElement() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcElement>(true); } void Ifc2x3::IfcRelSpaceBoundary::setRelatedBuildingElement(::Ifc2x3::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc2x3::IfcConnectionGeometry* Ifc2x3::IfcRelSpaceBoundary::ConnectionGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcConnectionGeometry>(); } +::Ifc2x3::IfcConnectionGeometry* Ifc2x3::IfcRelSpaceBoundary::ConnectionGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcConnectionGeometry>(true); } void Ifc2x3::IfcRelSpaceBoundary::setConnectionGeometry(::Ifc2x3::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } ::Ifc2x3::IfcPhysicalOrVirtualEnum::Value Ifc2x3::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc2x3::IfcPhysicalOrVirtualEnum::FromString(*data_->getArgument(7)); } void Ifc2x3::IfcRelSpaceBoundary::setPhysicalOrVirtualBoundary(::Ifc2x3::IfcPhysicalOrVirtualEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcPhysicalOrVirtualEnum::ToString(v)));data_->setArgument(7,attr);} } @@ -14619,9 +14757,9 @@ Ifc2x3::IfcRelSpaceBoundary::IfcRelSpaceBoundary(IfcEntityInstanceData* e) : Ifc Ifc2x3::IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcSpace* v5_RelatingSpace, ::Ifc2x3::IfcElement* v6_RelatedBuildingElement, ::Ifc2x3::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc2x3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc2x3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcRelSpaceBoundary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSpace));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConnectionGeometry));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_PhysicalOrVirtualBoundary,::Ifc2x3::IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_InternalOrExternalBoundary,::Ifc2x3::IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary))));data_->setArgument(8,attr);} } // Function implementations for IfcRelVoidsElement -::Ifc2x3::IfcElement* Ifc2x3::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcElement>(); } +::Ifc2x3::IfcElement* Ifc2x3::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcElement>(true); } void Ifc2x3::IfcRelVoidsElement::setRelatingBuildingElement(::Ifc2x3::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc2x3::IfcFeatureElementSubtraction* Ifc2x3::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcFeatureElementSubtraction>(); } +::Ifc2x3::IfcFeatureElementSubtraction* Ifc2x3::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcFeatureElementSubtraction>(true); } void Ifc2x3::IfcRelVoidsElement::setRelatedOpeningElement(::Ifc2x3::IfcFeatureElementSubtraction* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -14651,7 +14789,7 @@ Ifc2x3::IfcRelaxation::IfcRelaxation(IfcEntityInstanceData* e) : IfcUtil::IfcBas Ifc2x3::IfcRelaxation::IfcRelaxation(double v1_RelaxationValue, double v2_InitialStress) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcRelaxation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_RelaxationValue));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_InitialStress));data_->setArgument(1,attr);} } // Function implementations for IfcRepresentation -::Ifc2x3::IfcRepresentationContext* Ifc2x3::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcRepresentationContext>(); } +::Ifc2x3::IfcRepresentationContext* Ifc2x3::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcRepresentationContext>(true); } void Ifc2x3::IfcRepresentation::setContextOfItems(::Ifc2x3::IfcRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc2x3::IfcRepresentation::RepresentationIdentifier() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc2x3::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } @@ -14693,9 +14831,9 @@ Ifc2x3::IfcRepresentationItem::IfcRepresentationItem(IfcEntityInstanceData* e) : Ifc2x3::IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcRepresentationItem_type); } // Function implementations for IfcRepresentationMap -::Ifc2x3::IfcAxis2Placement* Ifc2x3::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcAxis2Placement>(); } +::Ifc2x3::IfcAxis2Placement* Ifc2x3::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcAxis2Placement>(true); } void Ifc2x3::IfcRepresentationMap::setMappingOrigin(::Ifc2x3::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcRepresentation* Ifc2x3::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcRepresentation>(); } +::Ifc2x3::IfcRepresentation* Ifc2x3::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcRepresentation>(true); } void Ifc2x3::IfcRepresentationMap::setMappedRepresentation(::Ifc2x3::IfcRepresentation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc2x3::IfcMappedItem::list::ptr Ifc2x3::IfcRepresentationMap::MapUsage() const { return data_->getInverse(IFC2X3_IfcMappedItem_type, 0)->as(); } @@ -14715,7 +14853,7 @@ Ifc2x3::IfcResource::IfcResource(IfcEntityInstanceData* e) : IfcObject((IfcEntit Ifc2x3::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcRevolvedAreaSolid -::Ifc2x3::IfcAxis1Placement* Ifc2x3::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcAxis1Placement>(); } +::Ifc2x3::IfcAxis1Placement* Ifc2x3::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcAxis1Placement>(true); } void Ifc2x3::IfcRevolvedAreaSolid::setAxis(::Ifc2x3::IfcAxis1Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc2x3::IfcRevolvedAreaSolid::Angle() const { double v = *data_->getArgument(3); return v; } void Ifc2x3::IfcRevolvedAreaSolid::setAngle(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -14781,7 +14919,7 @@ Ifc2x3::IfcRoof::IfcRoof(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_ // Function implementations for IfcRoot std::string Ifc2x3::IfcRoot::GlobalId() const { std::string v = *data_->getArgument(0); return v; } void Ifc2x3::IfcRoot::setGlobalId(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcOwnerHistory* Ifc2x3::IfcRoot::OwnerHistory() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcOwnerHistory>(); } +::Ifc2x3::IfcOwnerHistory* Ifc2x3::IfcRoot::OwnerHistory() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcOwnerHistory>(true); } void Ifc2x3::IfcRoot::setOwnerHistory(::Ifc2x3::IfcOwnerHistory* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc2x3::IfcRoot::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc2x3::IfcRoot::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } @@ -14837,21 +14975,21 @@ Ifc2x3::IfcSanitaryTerminalType::IfcSanitaryTerminalType(IfcEntityInstanceData* Ifc2x3::IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcSanitaryTerminalType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc2x3::IfcSanitaryTerminalTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcScheduleTimeControl -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::ActualStart() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::ActualStart() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcScheduleTimeControl::setActualStart(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::EarlyStart() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::EarlyStart() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcScheduleTimeControl::setEarlyStart(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::LateStart() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::LateStart() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcScheduleTimeControl::setLateStart(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::ScheduleStart() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::ScheduleStart() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcScheduleTimeControl::setScheduleStart(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::ActualFinish() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::ActualFinish() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcScheduleTimeControl::setActualFinish(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::EarlyFinish() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::EarlyFinish() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcScheduleTimeControl::setEarlyFinish(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::LateFinish() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::LateFinish() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcScheduleTimeControl::setLateFinish(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::ScheduleFinish() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::ScheduleFinish() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcScheduleTimeControl::setScheduleFinish(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } boost::optional< double > Ifc2x3::IfcScheduleTimeControl::ScheduleDuration() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } void Ifc2x3::IfcScheduleTimeControl::setScheduleDuration(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } @@ -14865,7 +15003,7 @@ boost::optional< double > Ifc2x3::IfcScheduleTimeControl::TotalFloat() const { i void Ifc2x3::IfcScheduleTimeControl::setTotalFloat(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(17,attr);} } boost::optional< bool > Ifc2x3::IfcScheduleTimeControl::IsCritical() const { if(!data_->getArgument(18) || data_->getArgument(18)->isNull()) { return boost::none; } bool v = *data_->getArgument(18); return v; } void Ifc2x3::IfcScheduleTimeControl::setIsCritical(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(18,attr);} } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::StatusTime() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(19)))->as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::StatusTime() const { if(!data_->getArgument(19) || data_->getArgument(19)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(19)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcScheduleTimeControl::setStatusTime(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(19,attr);} } boost::optional< double > Ifc2x3::IfcScheduleTimeControl::StartFloat() const { if(!data_->getArgument(20) || data_->getArgument(20)->isNull()) { return boost::none; } double v = *data_->getArgument(20); return v; } void Ifc2x3::IfcScheduleTimeControl::setStartFloat(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(20,attr);} } @@ -14884,9 +15022,9 @@ Ifc2x3::IfcScheduleTimeControl::IfcScheduleTimeControl(std::string v1_GlobalId, // Function implementations for IfcSectionProperties ::Ifc2x3::IfcSectionTypeEnum::Value Ifc2x3::IfcSectionProperties::SectionType() const { return ::Ifc2x3::IfcSectionTypeEnum::FromString(*data_->getArgument(0)); } void Ifc2x3::IfcSectionProperties::setSectionType(::Ifc2x3::IfcSectionTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcSectionTypeEnum::ToString(v)));data_->setArgument(0,attr);} } -::Ifc2x3::IfcProfileDef* Ifc2x3::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcProfileDef>(); } +::Ifc2x3::IfcProfileDef* Ifc2x3::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcProfileDef>(true); } void Ifc2x3::IfcSectionProperties::setStartProfile(::Ifc2x3::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc2x3::IfcProfileDef* Ifc2x3::IfcSectionProperties::EndProfile() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcProfileDef>(); } +::Ifc2x3::IfcProfileDef* Ifc2x3::IfcSectionProperties::EndProfile() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcProfileDef>(true); } void Ifc2x3::IfcSectionProperties::setEndProfile(::Ifc2x3::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -14904,7 +15042,7 @@ boost::optional< double > Ifc2x3::IfcSectionReinforcementProperties::TransverseP void Ifc2x3::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } ::Ifc2x3::IfcReinforcingBarRoleEnum::Value Ifc2x3::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc2x3::IfcReinforcingBarRoleEnum::FromString(*data_->getArgument(3)); } void Ifc2x3::IfcSectionReinforcementProperties::setReinforcementRole(::Ifc2x3::IfcReinforcingBarRoleEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcReinforcingBarRoleEnum::ToString(v)));data_->setArgument(3,attr);} } -::Ifc2x3::IfcSectionProperties* Ifc2x3::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcSectionProperties>(); } +::Ifc2x3::IfcSectionProperties* Ifc2x3::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcSectionProperties>(true); } void Ifc2x3::IfcSectionReinforcementProperties::setSectionDefinition(::Ifc2x3::IfcSectionProperties* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc2x3::IfcReinforcementBarProperties >::ptr Ifc2x3::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc2x3::IfcReinforcementBarProperties >(); } void Ifc2x3::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(aggregate_of< ::Ifc2x3::IfcReinforcementBarProperties >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -14916,7 +15054,7 @@ Ifc2x3::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(Ifc Ifc2x3::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, ::Ifc2x3::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc2x3::IfcSectionProperties* v5_SectionDefinition, aggregate_of< ::Ifc2x3::IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcSectionReinforcementProperties_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_LongitudinalStartPosition));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LongitudinalEndPosition));data_->setArgument(1,attr);} if (v3_TransversePosition) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_TransversePosition));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v4_ReinforcementRole,::Ifc2x3::IfcReinforcingBarRoleEnum::ToString(v4_ReinforcementRole))));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_SectionDefinition));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_CrossSectionReinforcementDefinitions)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcSectionedSpine -::Ifc2x3::IfcCompositeCurve* Ifc2x3::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcCompositeCurve>(); } +::Ifc2x3::IfcCompositeCurve* Ifc2x3::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcCompositeCurve>(true); } void Ifc2x3::IfcSectionedSpine::setSpineCurve(::Ifc2x3::IfcCompositeCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc2x3::IfcProfileDef >::ptr Ifc2x3::IfcSectionedSpine::CrossSections() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc2x3::IfcProfileDef >(); } void Ifc2x3::IfcSectionedSpine::setCrossSections(aggregate_of< ::Ifc2x3::IfcProfileDef >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -14954,11 +15092,11 @@ Ifc2x3::IfcServiceLife::IfcServiceLife(std::string v1_GlobalId, ::Ifc2x3::IfcOwn // Function implementations for IfcServiceLifeFactor ::Ifc2x3::IfcServiceLifeFactorTypeEnum::Value Ifc2x3::IfcServiceLifeFactor::PredefinedType() const { return ::Ifc2x3::IfcServiceLifeFactorTypeEnum::FromString(*data_->getArgument(4)); } void Ifc2x3::IfcServiceLifeFactor::setPredefinedType(::Ifc2x3::IfcServiceLifeFactorTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcServiceLifeFactorTypeEnum::ToString(v)));data_->setArgument(4,attr);} } -::Ifc2x3::IfcMeasureValue* Ifc2x3::IfcServiceLifeFactor::UpperValue() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcMeasureValue>(); } +::Ifc2x3::IfcMeasureValue* Ifc2x3::IfcServiceLifeFactor::UpperValue() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcMeasureValue>(true); } void Ifc2x3::IfcServiceLifeFactor::setUpperValue(::Ifc2x3::IfcMeasureValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc2x3::IfcMeasureValue* Ifc2x3::IfcServiceLifeFactor::MostUsedValue() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcMeasureValue>(); } +::Ifc2x3::IfcMeasureValue* Ifc2x3::IfcServiceLifeFactor::MostUsedValue() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcMeasureValue>(true); } void Ifc2x3::IfcServiceLifeFactor::setMostUsedValue(::Ifc2x3::IfcMeasureValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc2x3::IfcMeasureValue* Ifc2x3::IfcServiceLifeFactor::LowerValue() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcMeasureValue>(); } +::Ifc2x3::IfcMeasureValue* Ifc2x3::IfcServiceLifeFactor::LowerValue() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcMeasureValue>(true); } void Ifc2x3::IfcServiceLifeFactor::setLowerValue(::Ifc2x3::IfcMeasureValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -14976,7 +15114,7 @@ boost::optional< std::string > Ifc2x3::IfcShapeAspect::Description() const { if( void Ifc2x3::IfcShapeAspect::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } boost::logic::tribool Ifc2x3::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = *data_->getArgument(3); return v; } void Ifc2x3::IfcShapeAspect::setProductDefinitional(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc2x3::IfcProductDefinitionShape* Ifc2x3::IfcShapeAspect::PartOfProductDefinitionShape() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcProductDefinitionShape>(); } +::Ifc2x3::IfcProductDefinitionShape* Ifc2x3::IfcShapeAspect::PartOfProductDefinitionShape() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcProductDefinitionShape>(true); } void Ifc2x3::IfcShapeAspect::setPartOfProductDefinitionShape(::Ifc2x3::IfcProductDefinitionShape* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -15029,7 +15167,7 @@ boost::optional< double > Ifc2x3::IfcSite::RefElevation() const { if(!data_->get void Ifc2x3::IfcSite::setRefElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } boost::optional< std::string > Ifc2x3::IfcSite::LandTitleNumber() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } void Ifc2x3::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } -::Ifc2x3::IfcPostalAddress* Ifc2x3::IfcSite::SiteAddress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc2x3::IfcPostalAddress>(); } +::Ifc2x3::IfcPostalAddress* Ifc2x3::IfcSite::SiteAddress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc2x3::IfcPostalAddress>(true); } void Ifc2x3::IfcSite::setSiteAddress(::Ifc2x3::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } @@ -15095,11 +15233,11 @@ Ifc2x3::IfcSoundProperties::IfcSoundProperties(IfcEntityInstanceData* e) : IfcPr Ifc2x3::IfcSoundProperties::IfcSoundProperties(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, bool v5_IsAttenuating, boost::optional< ::Ifc2x3::IfcSoundScaleEnum::Value > v6_SoundScale, aggregate_of< ::Ifc2x3::IfcSoundValue >::ptr v7_SoundValues) : IfcPropertySetDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcSoundProperties_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_IsAttenuating));data_->setArgument(4,attr);} if (v6_SoundScale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_SoundScale,::Ifc2x3::IfcSoundScaleEnum::ToString(*v6_SoundScale))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_SoundValues)->generalize());data_->setArgument(6,attr);} } // Function implementations for IfcSoundValue -::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcSoundValue::SoundLevelTimeSeries() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcTimeSeries>(); } +::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcSoundValue::SoundLevelTimeSeries() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcTimeSeries>(true); } void Ifc2x3::IfcSoundValue::setSoundLevelTimeSeries(::Ifc2x3::IfcTimeSeries* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } double Ifc2x3::IfcSoundValue::Frequency() const { double v = *data_->getArgument(5); return v; } void Ifc2x3::IfcSoundValue::setFrequency(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc2x3::IfcDerivedMeasureValue* Ifc2x3::IfcSoundValue::SoundLevelSingleValue() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcDerivedMeasureValue>(); } +::Ifc2x3::IfcDerivedMeasureValue* Ifc2x3::IfcSoundValue::SoundLevelSingleValue() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcDerivedMeasureValue>(true); } void Ifc2x3::IfcSoundValue::setSoundLevelSingleValue(::Ifc2x3::IfcDerivedMeasureValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -15139,7 +15277,7 @@ boost::optional< double > Ifc2x3::IfcSpaceProgram::MaxRequiredArea() const { if( void Ifc2x3::IfcSpaceProgram::setMaxRequiredArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } boost::optional< double > Ifc2x3::IfcSpaceProgram::MinRequiredArea() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc2x3::IfcSpaceProgram::setMinRequiredArea(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } -::Ifc2x3::IfcSpatialStructureElement* Ifc2x3::IfcSpaceProgram::RequestedLocation() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcSpatialStructureElement>(); } +::Ifc2x3::IfcSpatialStructureElement* Ifc2x3::IfcSpaceProgram::RequestedLocation() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcSpatialStructureElement>(true); } void Ifc2x3::IfcSpaceProgram::setRequestedLocation(::Ifc2x3::IfcSpatialStructureElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } double Ifc2x3::IfcSpaceProgram::StandardRequiredArea() const { double v = *data_->getArgument(9); return v; } void Ifc2x3::IfcSpaceProgram::setStandardRequiredArea(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -15165,7 +15303,7 @@ double Ifc2x3::IfcSpaceThermalLoadProperties::MaximumValue() const { double v = void Ifc2x3::IfcSpaceThermalLoadProperties::setMaximumValue(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } boost::optional< double > Ifc2x3::IfcSpaceThermalLoadProperties::MinimumValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } double v = *data_->getArgument(9); return v; } void Ifc2x3::IfcSpaceThermalLoadProperties::setMinimumValue(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } -::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcSpaceThermalLoadProperties::ThermalLoadTimeSeriesValues() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc2x3::IfcTimeSeries>(); } +::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcSpaceThermalLoadProperties::ThermalLoadTimeSeriesValues() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc2x3::IfcTimeSeries>(true); } void Ifc2x3::IfcSpaceThermalLoadProperties::setThermalLoadTimeSeriesValues(::Ifc2x3::IfcTimeSeries* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } boost::optional< std::string > Ifc2x3::IfcSpaceThermalLoadProperties::UserDefinedThermalLoadSource() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } std::string v = *data_->getArgument(11); return v; } void Ifc2x3::IfcSpaceThermalLoadProperties::setUserDefinedThermalLoadSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } @@ -15272,7 +15410,7 @@ Ifc2x3::IfcStairFlightType::IfcStairFlightType(std::string v1_GlobalId, ::Ifc2x3 // Function implementations for IfcStructuralAction bool Ifc2x3::IfcStructuralAction::DestabilizingLoad() const { bool v = *data_->getArgument(9); return v; } void Ifc2x3::IfcStructuralAction::setDestabilizingLoad(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -::Ifc2x3::IfcStructuralReaction* Ifc2x3::IfcStructuralAction::CausedBy() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc2x3::IfcStructuralReaction>(); } +::Ifc2x3::IfcStructuralReaction* Ifc2x3::IfcStructuralAction::CausedBy() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc2x3::IfcStructuralReaction>(true); } void Ifc2x3::IfcStructuralAction::setCausedBy(::Ifc2x3::IfcStructuralReaction* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -15282,7 +15420,7 @@ Ifc2x3::IfcStructuralAction::IfcStructuralAction(IfcEntityInstanceData* e) : Ifc Ifc2x3::IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction* v11_CausedBy) : IfcStructuralActivity((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcStructuralAction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc2x3::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_DestabilizingLoad));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_CausedBy));data_->setArgument(10,attr);} } // Function implementations for IfcStructuralActivity -::Ifc2x3::IfcStructuralLoad* Ifc2x3::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcStructuralLoad>(); } +::Ifc2x3::IfcStructuralLoad* Ifc2x3::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcStructuralLoad>(true); } void Ifc2x3::IfcStructuralActivity::setAppliedLoad(::Ifc2x3::IfcStructuralLoad* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc2x3::IfcGlobalOrLocalEnum::Value Ifc2x3::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc2x3::IfcGlobalOrLocalEnum::FromString(*data_->getArgument(8)); } void Ifc2x3::IfcStructuralActivity::setGlobalOrLocal(::Ifc2x3::IfcGlobalOrLocalEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcGlobalOrLocalEnum::ToString(v)));data_->setArgument(8,attr);} } @@ -15297,7 +15435,7 @@ Ifc2x3::IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId, :: // Function implementations for IfcStructuralAnalysisModel ::Ifc2x3::IfcAnalysisModelTypeEnum::Value Ifc2x3::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc2x3::IfcAnalysisModelTypeEnum::FromString(*data_->getArgument(5)); } void Ifc2x3::IfcStructuralAnalysisModel::setPredefinedType(::Ifc2x3::IfcAnalysisModelTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcAnalysisModelTypeEnum::ToString(v)));data_->setArgument(5,attr);} } -::Ifc2x3::IfcAxis2Placement3D* Ifc2x3::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcAxis2Placement3D>(); } +::Ifc2x3::IfcAxis2Placement3D* Ifc2x3::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcAxis2Placement3D>(true); } void Ifc2x3::IfcStructuralAnalysisModel::setOrientationOf2DPlane(::Ifc2x3::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc2x3::IfcStructuralLoadGroup >::ptr > Ifc2x3::IfcStructuralAnalysisModel::LoadedBy() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc2x3::IfcStructuralLoadGroup >(); } void Ifc2x3::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc2x3::IfcStructuralLoadGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } @@ -15311,7 +15449,7 @@ Ifc2x3::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(IfcEntityInstance Ifc2x3::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc2x3::IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< aggregate_of< ::Ifc2x3::IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< aggregate_of< ::Ifc2x3::IfcStructuralResultGroup >::ptr > v9_HasResults) : IfcSystem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcStructuralAnalysisModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_PredefinedType,::Ifc2x3::IfcAnalysisModelTypeEnum::ToString(v6_PredefinedType))));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_OrientationOf2DPlane));data_->setArgument(6,attr);} if (v8_LoadedBy) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LoadedBy)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_HasResults) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_HasResults)->generalize());data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcStructuralConnection -::Ifc2x3::IfcBoundaryCondition* Ifc2x3::IfcStructuralConnection::AppliedCondition() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcBoundaryCondition>(); } +::Ifc2x3::IfcBoundaryCondition* Ifc2x3::IfcStructuralConnection::AppliedCondition() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcBoundaryCondition>(true); } void Ifc2x3::IfcStructuralConnection::setAppliedCondition(::Ifc2x3::IfcBoundaryCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc2x3::IfcRelConnectsStructuralMember::list::ptr Ifc2x3::IfcStructuralConnection::ConnectsStructuralMembers() const { return data_->getInverse(IFC2X3_IfcRelConnectsStructuralMember_type, 5)->as(); } @@ -15377,7 +15515,7 @@ Ifc2x3::IfcStructuralLinearAction::IfcStructuralLinearAction(IfcEntityInstanceDa Ifc2x3::IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction* v11_CausedBy, ::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value v12_ProjectedOrTrue) : IfcStructuralAction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcStructuralLinearAction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc2x3::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_DestabilizingLoad));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_CausedBy));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_ProjectedOrTrue,::Ifc2x3::IfcProjectedOrTrueLengthEnum::ToString(v12_ProjectedOrTrue))));data_->setArgument(11,attr);} } // Function implementations for IfcStructuralLinearActionVarying -::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcStructuralLinearActionVarying::VaryingAppliedLoadLocation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc2x3::IfcShapeAspect>(); } +::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcStructuralLinearActionVarying::VaryingAppliedLoadLocation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc2x3::IfcShapeAspect>(true); } void Ifc2x3::IfcStructuralLinearActionVarying::setVaryingAppliedLoadLocation(::Ifc2x3::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } aggregate_of< ::Ifc2x3::IfcStructuralLoad >::ptr Ifc2x3::IfcStructuralLinearActionVarying::SubsequentAppliedLoads() const { aggregate_of_instance::ptr es = *data_->getArgument(13); return es->as< ::Ifc2x3::IfcStructuralLoad >(); } void Ifc2x3::IfcStructuralLinearActionVarying::setSubsequentAppliedLoads(aggregate_of< ::Ifc2x3::IfcStructuralLoad >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(13,attr);} } @@ -15555,7 +15693,7 @@ Ifc2x3::IfcStructuralPlanarAction::IfcStructuralPlanarAction(IfcEntityInstanceDa Ifc2x3::IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction* v11_CausedBy, ::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value v12_ProjectedOrTrue) : IfcStructuralAction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcStructuralPlanarAction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc2x3::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_DestabilizingLoad));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_CausedBy));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_ProjectedOrTrue,::Ifc2x3::IfcProjectedOrTrueLengthEnum::ToString(v12_ProjectedOrTrue))));data_->setArgument(11,attr);} } // Function implementations for IfcStructuralPlanarActionVarying -::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcStructuralPlanarActionVarying::VaryingAppliedLoadLocation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc2x3::IfcShapeAspect>(); } +::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcStructuralPlanarActionVarying::VaryingAppliedLoadLocation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc2x3::IfcShapeAspect>(true); } void Ifc2x3::IfcStructuralPlanarActionVarying::setVaryingAppliedLoadLocation(::Ifc2x3::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } aggregate_of< ::Ifc2x3::IfcStructuralLoad >::ptr Ifc2x3::IfcStructuralPlanarActionVarying::SubsequentAppliedLoads() const { aggregate_of_instance::ptr es = *data_->getArgument(13); return es->as< ::Ifc2x3::IfcStructuralLoad >(); } void Ifc2x3::IfcStructuralPlanarActionVarying::setSubsequentAppliedLoads(aggregate_of< ::Ifc2x3::IfcStructuralLoad >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(13,attr);} } @@ -15642,7 +15780,7 @@ Ifc2x3::IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId, :: // Function implementations for IfcStructuralResultGroup ::Ifc2x3::IfcAnalysisTheoryTypeEnum::Value Ifc2x3::IfcStructuralResultGroup::TheoryType() const { return ::Ifc2x3::IfcAnalysisTheoryTypeEnum::FromString(*data_->getArgument(5)); } void Ifc2x3::IfcStructuralResultGroup::setTheoryType(::Ifc2x3::IfcAnalysisTheoryTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcAnalysisTheoryTypeEnum::ToString(v)));data_->setArgument(5,attr);} } -::Ifc2x3::IfcStructuralLoadGroup* Ifc2x3::IfcStructuralResultGroup::ResultForLoadGroup() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcStructuralLoadGroup>(); } +::Ifc2x3::IfcStructuralLoadGroup* Ifc2x3::IfcStructuralResultGroup::ResultForLoadGroup() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcStructuralLoadGroup>(true); } void Ifc2x3::IfcStructuralResultGroup::setResultForLoadGroup(::Ifc2x3::IfcStructuralLoadGroup* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } bool Ifc2x3::IfcStructuralResultGroup::IsLinear() const { bool v = *data_->getArgument(7); return v; } void Ifc2x3::IfcStructuralResultGroup::setIsLinear(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -15693,7 +15831,7 @@ Ifc2x3::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v1_Gl // Function implementations for IfcStructuralSurfaceMemberVarying std::vector< double > /*[2:?]*/ Ifc2x3::IfcStructuralSurfaceMemberVarying::SubsequentThickness() const { std::vector< double > /*[2:?]*/ v = *data_->getArgument(9); return v; } void Ifc2x3::IfcStructuralSurfaceMemberVarying::setSubsequentThickness(std::vector< double > /*[2:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcStructuralSurfaceMemberVarying::VaryingThicknessLocation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc2x3::IfcShapeAspect>(); } +::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcStructuralSurfaceMemberVarying::VaryingThicknessLocation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc2x3::IfcShapeAspect>(true); } void Ifc2x3::IfcStructuralSurfaceMemberVarying::setVaryingThicknessLocation(::Ifc2x3::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -15719,7 +15857,7 @@ Ifc2x3::IfcStyleModel::IfcStyleModel(IfcEntityInstanceData* e) : IfcRepresentati Ifc2x3::IfcStyleModel::IfcStyleModel(::Ifc2x3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc2x3::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcStyleModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcStyledItem -::Ifc2x3::IfcRepresentationItem* Ifc2x3::IfcStyledItem::Item() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcRepresentationItem>(); } +::Ifc2x3::IfcRepresentationItem* Ifc2x3::IfcStyledItem::Item() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcRepresentationItem>(true); } void Ifc2x3::IfcStyledItem::setItem(::Ifc2x3::IfcRepresentationItem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc2x3::IfcPresentationStyleAssignment >::ptr Ifc2x3::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc2x3::IfcPresentationStyleAssignment >(); } void Ifc2x3::IfcStyledItem::setStyles(aggregate_of< ::Ifc2x3::IfcPresentationStyleAssignment >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -15741,7 +15879,7 @@ Ifc2x3::IfcStyledRepresentation::IfcStyledRepresentation(IfcEntityInstanceData* Ifc2x3::IfcStyledRepresentation::IfcStyledRepresentation(::Ifc2x3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc2x3::IfcRepresentationItem >::ptr v4_Items) : IfcStyleModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcStyledRepresentation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcSubContractResource -::Ifc2x3::IfcActorSelect* Ifc2x3::IfcSubContractResource::SubContractor() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc2x3::IfcActorSelect>(); } +::Ifc2x3::IfcActorSelect* Ifc2x3::IfcSubContractResource::SubContractor() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc2x3::IfcActorSelect>(true); } void Ifc2x3::IfcSubContractResource::setSubContractor(::Ifc2x3::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< std::string > Ifc2x3::IfcSubContractResource::JobDescription() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc2x3::IfcSubContractResource::setJobDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } @@ -15753,7 +15891,7 @@ Ifc2x3::IfcSubContractResource::IfcSubContractResource(IfcEntityInstanceData* e) Ifc2x3::IfcSubContractResource::IfcSubContractResource(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit* v9_BaseQuantity, ::Ifc2x3::IfcActorSelect* v10_SubContractor, boost::optional< std::string > v11_JobDescription) : IfcConstructionResource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcSubContractResource_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ResourceIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ResourceIdentifier));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ResourceGroup) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ResourceGroup));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_ResourceConsumption) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_ResourceConsumption,::Ifc2x3::IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_BaseQuantity));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_SubContractor));data_->setArgument(9,attr);} if (v11_JobDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_JobDescription));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } } // Function implementations for IfcSubedge -::Ifc2x3::IfcEdge* Ifc2x3::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcEdge>(); } +::Ifc2x3::IfcEdge* Ifc2x3::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcEdge>(true); } void Ifc2x3::IfcSubedge::setParentEdge(::Ifc2x3::IfcEdge* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -15771,13 +15909,13 @@ Ifc2x3::IfcSurface::IfcSurface(IfcEntityInstanceData* e) : IfcGeometricRepresent Ifc2x3::IfcSurface::IfcSurface() : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcSurface_type); } // Function implementations for IfcSurfaceCurveSweptAreaSolid -::Ifc2x3::IfcCurve* Ifc2x3::IfcSurfaceCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcCurve>(); } +::Ifc2x3::IfcCurve* Ifc2x3::IfcSurfaceCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcCurve>(true); } void Ifc2x3::IfcSurfaceCurveSweptAreaSolid::setDirectrix(::Ifc2x3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc2x3::IfcSurfaceCurveSweptAreaSolid::StartParam() const { double v = *data_->getArgument(3); return v; } void Ifc2x3::IfcSurfaceCurveSweptAreaSolid::setStartParam(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } double Ifc2x3::IfcSurfaceCurveSweptAreaSolid::EndParam() const { double v = *data_->getArgument(4); return v; } void Ifc2x3::IfcSurfaceCurveSweptAreaSolid::setEndParam(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc2x3::IfcSurface* Ifc2x3::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcSurface>(); } +::Ifc2x3::IfcSurface* Ifc2x3::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcSurface>(true); } void Ifc2x3::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(::Ifc2x3::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -15787,7 +15925,7 @@ Ifc2x3::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(IfcEntityIn Ifc2x3::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(::Ifc2x3::IfcProfileDef* v1_SweptArea, ::Ifc2x3::IfcAxis2Placement3D* v2_Position, ::Ifc2x3::IfcCurve* v3_Directrix, double v4_StartParam, double v5_EndParam, ::Ifc2x3::IfcSurface* v6_ReferenceSurface) : IfcSweptAreaSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcSurfaceCurveSweptAreaSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Directrix));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_StartParam));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_EndParam));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ReferenceSurface));data_->setArgument(5,attr);} } // Function implementations for IfcSurfaceOfLinearExtrusion -::Ifc2x3::IfcDirection* Ifc2x3::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcDirection>(); } +::Ifc2x3::IfcDirection* Ifc2x3::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcDirection>(true); } void Ifc2x3::IfcSurfaceOfLinearExtrusion::setExtrudedDirection(::Ifc2x3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc2x3::IfcSurfaceOfLinearExtrusion::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc2x3::IfcSurfaceOfLinearExtrusion::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -15799,7 +15937,7 @@ Ifc2x3::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcEntityInstan Ifc2x3::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(::Ifc2x3::IfcProfileDef* v1_SweptCurve, ::Ifc2x3::IfcAxis2Placement3D* v2_Position, ::Ifc2x3::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcSurfaceOfLinearExtrusion_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ExtrudedDirection));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);} } // Function implementations for IfcSurfaceOfRevolution -::Ifc2x3::IfcAxis1Placement* Ifc2x3::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcAxis1Placement>(); } +::Ifc2x3::IfcAxis1Placement* Ifc2x3::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcAxis1Placement>(true); } void Ifc2x3::IfcSurfaceOfRevolution::setAxisPosition(::Ifc2x3::IfcAxis1Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -15821,13 +15959,13 @@ Ifc2x3::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData* e) : IfcPresenta Ifc2x3::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc2x3::IfcSurfaceSide::Value v2_Side, aggregate_of_instance::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc2x3::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceStyleLighting -::Ifc2x3::IfcColourRgb* Ifc2x3::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcColourRgb>(); } +::Ifc2x3::IfcColourRgb* Ifc2x3::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcColourRgb>(true); } void Ifc2x3::IfcSurfaceStyleLighting::setDiffuseTransmissionColour(::Ifc2x3::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcColourRgb* Ifc2x3::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcColourRgb>(); } +::Ifc2x3::IfcColourRgb* Ifc2x3::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcColourRgb>(true); } void Ifc2x3::IfcSurfaceStyleLighting::setDiffuseReflectionColour(::Ifc2x3::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc2x3::IfcColourRgb* Ifc2x3::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcColourRgb>(); } +::Ifc2x3::IfcColourRgb* Ifc2x3::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcColourRgb>(true); } void Ifc2x3::IfcSurfaceStyleLighting::setTransmissionColour(::Ifc2x3::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc2x3::IfcColourRgb* Ifc2x3::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcColourRgb>(); } +::Ifc2x3::IfcColourRgb* Ifc2x3::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcColourRgb>(true); } void Ifc2x3::IfcSurfaceStyleLighting::setReflectanceColour(::Ifc2x3::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -15851,17 +15989,17 @@ Ifc2x3::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< do // Function implementations for IfcSurfaceStyleRendering boost::optional< double > Ifc2x3::IfcSurfaceStyleRendering::Transparency() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } void Ifc2x3::IfcSurfaceStyleRendering::setTransparency(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc2x3::IfcColourOrFactor* Ifc2x3::IfcSurfaceStyleRendering::DiffuseColour() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcColourOrFactor>(); } +::Ifc2x3::IfcColourOrFactor* Ifc2x3::IfcSurfaceStyleRendering::DiffuseColour() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcColourOrFactor>(true); } void Ifc2x3::IfcSurfaceStyleRendering::setDiffuseColour(::Ifc2x3::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc2x3::IfcColourOrFactor* Ifc2x3::IfcSurfaceStyleRendering::TransmissionColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcColourOrFactor>(); } +::Ifc2x3::IfcColourOrFactor* Ifc2x3::IfcSurfaceStyleRendering::TransmissionColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcColourOrFactor>(true); } void Ifc2x3::IfcSurfaceStyleRendering::setTransmissionColour(::Ifc2x3::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc2x3::IfcColourOrFactor* Ifc2x3::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcColourOrFactor>(); } +::Ifc2x3::IfcColourOrFactor* Ifc2x3::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcColourOrFactor>(true); } void Ifc2x3::IfcSurfaceStyleRendering::setDiffuseTransmissionColour(::Ifc2x3::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc2x3::IfcColourOrFactor* Ifc2x3::IfcSurfaceStyleRendering::ReflectionColour() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcColourOrFactor>(); } +::Ifc2x3::IfcColourOrFactor* Ifc2x3::IfcSurfaceStyleRendering::ReflectionColour() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcColourOrFactor>(true); } void Ifc2x3::IfcSurfaceStyleRendering::setReflectionColour(::Ifc2x3::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc2x3::IfcColourOrFactor* Ifc2x3::IfcSurfaceStyleRendering::SpecularColour() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcColourOrFactor>(); } +::Ifc2x3::IfcColourOrFactor* Ifc2x3::IfcSurfaceStyleRendering::SpecularColour() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcColourOrFactor>(true); } void Ifc2x3::IfcSurfaceStyleRendering::setSpecularColour(::Ifc2x3::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc2x3::IfcSpecularHighlightSelect* Ifc2x3::IfcSurfaceStyleRendering::SpecularHighlight() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcSpecularHighlightSelect>(); } +::Ifc2x3::IfcSpecularHighlightSelect* Ifc2x3::IfcSurfaceStyleRendering::SpecularHighlight() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcSpecularHighlightSelect>(true); } void Ifc2x3::IfcSurfaceStyleRendering::setSpecularHighlight(::Ifc2x3::IfcSpecularHighlightSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc2x3::IfcReflectanceMethodEnum::Value Ifc2x3::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc2x3::IfcReflectanceMethodEnum::FromString(*data_->getArgument(8)); } void Ifc2x3::IfcSurfaceStyleRendering::setReflectanceMethod(::Ifc2x3::IfcReflectanceMethodEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcReflectanceMethodEnum::ToString(v)));data_->setArgument(8,attr);} } @@ -15873,7 +16011,7 @@ Ifc2x3::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcEntityInstanceData Ifc2x3::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc2x3::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, ::Ifc2x3::IfcColourOrFactor* v3_DiffuseColour, ::Ifc2x3::IfcColourOrFactor* v4_TransmissionColour, ::Ifc2x3::IfcColourOrFactor* v5_DiffuseTransmissionColour, ::Ifc2x3::IfcColourOrFactor* v6_ReflectionColour, ::Ifc2x3::IfcColourOrFactor* v7_SpecularColour, ::Ifc2x3::IfcSpecularHighlightSelect* v8_SpecularHighlight, ::Ifc2x3::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) : IfcSurfaceStyleShading((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcSurfaceStyleRendering_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SurfaceColour));data_->setArgument(0,attr);} if (v2_Transparency) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Transparency));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DiffuseColour));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TransmissionColour));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_DiffuseTransmissionColour));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ReflectionColour));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_SpecularColour));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_SpecularHighlight));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_ReflectanceMethod,::Ifc2x3::IfcReflectanceMethodEnum::ToString(v9_ReflectanceMethod))));data_->setArgument(8,attr);} } // Function implementations for IfcSurfaceStyleShading -::Ifc2x3::IfcColourRgb* Ifc2x3::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcColourRgb>(); } +::Ifc2x3::IfcColourRgb* Ifc2x3::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcColourRgb>(true); } void Ifc2x3::IfcSurfaceStyleShading::setSurfaceColour(::Ifc2x3::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -15899,7 +16037,7 @@ bool Ifc2x3::IfcSurfaceTexture::RepeatT() const { bool v = *data_->getArgument( void Ifc2x3::IfcSurfaceTexture::setRepeatT(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc2x3::IfcSurfaceTextureEnum::Value Ifc2x3::IfcSurfaceTexture::TextureType() const { return ::Ifc2x3::IfcSurfaceTextureEnum::FromString(*data_->getArgument(2)); } void Ifc2x3::IfcSurfaceTexture::setTextureType(::Ifc2x3::IfcSurfaceTextureEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcSurfaceTextureEnum::ToString(v)));data_->setArgument(2,attr);} } -::Ifc2x3::IfcCartesianTransformationOperator2D* Ifc2x3::IfcSurfaceTexture::TextureTransform() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcCartesianTransformationOperator2D>(); } +::Ifc2x3::IfcCartesianTransformationOperator2D* Ifc2x3::IfcSurfaceTexture::TextureTransform() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcCartesianTransformationOperator2D>(true); } void Ifc2x3::IfcSurfaceTexture::setTextureTransform(::Ifc2x3::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -15909,9 +16047,9 @@ Ifc2x3::IfcSurfaceTexture::IfcSurfaceTexture(IfcEntityInstanceData* e) : IfcUtil Ifc2x3::IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, ::Ifc2x3::IfcSurfaceTextureEnum::Value v3_TextureType, ::Ifc2x3::IfcCartesianTransformationOperator2D* v4_TextureTransform) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcSurfaceTexture_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_RepeatS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RepeatT));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_TextureType,::Ifc2x3::IfcSurfaceTextureEnum::ToString(v3_TextureType))));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TextureTransform));data_->setArgument(3,attr);} } // Function implementations for IfcSweptAreaSolid -::Ifc2x3::IfcProfileDef* Ifc2x3::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcProfileDef>(); } +::Ifc2x3::IfcProfileDef* Ifc2x3::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcProfileDef>(true); } void Ifc2x3::IfcSweptAreaSolid::setSweptArea(::Ifc2x3::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcAxis2Placement3D* Ifc2x3::IfcSweptAreaSolid::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcAxis2Placement3D>(); } +::Ifc2x3::IfcAxis2Placement3D* Ifc2x3::IfcSweptAreaSolid::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcAxis2Placement3D>(true); } void Ifc2x3::IfcSweptAreaSolid::setPosition(::Ifc2x3::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15921,7 +16059,7 @@ Ifc2x3::IfcSweptAreaSolid::IfcSweptAreaSolid(IfcEntityInstanceData* e) : IfcSoli Ifc2x3::IfcSweptAreaSolid::IfcSweptAreaSolid(::Ifc2x3::IfcProfileDef* v1_SweptArea, ::Ifc2x3::IfcAxis2Placement3D* v2_Position) : IfcSolidModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcSweptAreaSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);} } // Function implementations for IfcSweptDiskSolid -::Ifc2x3::IfcCurve* Ifc2x3::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcCurve>(); } +::Ifc2x3::IfcCurve* Ifc2x3::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcCurve>(true); } void Ifc2x3::IfcSweptDiskSolid::setDirectrix(::Ifc2x3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc2x3::IfcSweptDiskSolid::Radius() const { double v = *data_->getArgument(1); return v; } void Ifc2x3::IfcSweptDiskSolid::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15939,9 +16077,9 @@ Ifc2x3::IfcSweptDiskSolid::IfcSweptDiskSolid(IfcEntityInstanceData* e) : IfcSoli Ifc2x3::IfcSweptDiskSolid::IfcSweptDiskSolid(::Ifc2x3::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, double v4_StartParam, double v5_EndParam) : IfcSolidModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcSweptDiskSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Directrix));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Radius));data_->setArgument(1,attr);} if (v3_InnerRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_InnerRadius));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_StartParam));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_EndParam));data_->setArgument(4,attr);} } // Function implementations for IfcSweptSurface -::Ifc2x3::IfcProfileDef* Ifc2x3::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcProfileDef>(); } +::Ifc2x3::IfcProfileDef* Ifc2x3::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcProfileDef>(true); } void Ifc2x3::IfcSweptSurface::setSweptCurve(::Ifc2x3::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcAxis2Placement3D* Ifc2x3::IfcSweptSurface::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcAxis2Placement3D>(); } +::Ifc2x3::IfcAxis2Placement3D* Ifc2x3::IfcSweptSurface::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcAxis2Placement3D>(true); } void Ifc2x3::IfcSweptSurface::setPosition(::Ifc2x3::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15961,7 +16099,7 @@ Ifc2x3::IfcSwitchingDeviceType::IfcSwitchingDeviceType(IfcEntityInstanceData* e) Ifc2x3::IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcSwitchingDeviceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc2x3::IfcSwitchingDeviceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcSymbolStyle -::Ifc2x3::IfcSymbolStyleSelect* Ifc2x3::IfcSymbolStyle::StyleOfSymbol() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcSymbolStyleSelect>(); } +::Ifc2x3::IfcSymbolStyleSelect* Ifc2x3::IfcSymbolStyle::StyleOfSymbol() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcSymbolStyleSelect>(true); } void Ifc2x3::IfcSymbolStyle::setStyleOfSymbol(::Ifc2x3::IfcSymbolStyleSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -16119,7 +16257,7 @@ Ifc2x3::IfcTendonAnchor::IfcTendonAnchor(IfcEntityInstanceData* e) : IfcReinforc Ifc2x3::IfcTendonAnchor::IfcTendonAnchor(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade) : IfcReinforcingElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcTendonAnchor_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_SteelGrade) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_SteelGrade));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcTerminatorSymbol -::Ifc2x3::IfcAnnotationCurveOccurrence* Ifc2x3::IfcTerminatorSymbol::AnnotatedCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcAnnotationCurveOccurrence>(); } +::Ifc2x3::IfcAnnotationCurveOccurrence* Ifc2x3::IfcTerminatorSymbol::AnnotatedCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcAnnotationCurveOccurrence>(true); } void Ifc2x3::IfcTerminatorSymbol::setAnnotatedCurve(::Ifc2x3::IfcAnnotationCurveOccurrence* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16131,7 +16269,7 @@ Ifc2x3::IfcTerminatorSymbol::IfcTerminatorSymbol(::Ifc2x3::IfcRepresentationItem // Function implementations for IfcTextLiteral std::string Ifc2x3::IfcTextLiteral::Literal() const { std::string v = *data_->getArgument(0); return v; } void Ifc2x3::IfcTextLiteral::setLiteral(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcAxis2Placement* Ifc2x3::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcAxis2Placement>(); } +::Ifc2x3::IfcAxis2Placement* Ifc2x3::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcAxis2Placement>(true); } void Ifc2x3::IfcTextLiteral::setPlacement(::Ifc2x3::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc2x3::IfcTextPath::Value Ifc2x3::IfcTextLiteral::Path() const { return ::Ifc2x3::IfcTextPath::FromString(*data_->getArgument(2)); } void Ifc2x3::IfcTextLiteral::setPath(::Ifc2x3::IfcTextPath::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcTextPath::ToString(v)));data_->setArgument(2,attr);} } @@ -16143,7 +16281,7 @@ Ifc2x3::IfcTextLiteral::IfcTextLiteral(IfcEntityInstanceData* e) : IfcGeometricR Ifc2x3::IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, ::Ifc2x3::IfcAxis2Placement* v2_Placement, ::Ifc2x3::IfcTextPath::Value v3_Path) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcTextLiteral_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Literal));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Placement));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_Path,::Ifc2x3::IfcTextPath::ToString(v3_Path))));data_->setArgument(2,attr);} } // Function implementations for IfcTextLiteralWithExtent -::Ifc2x3::IfcPlanarExtent* Ifc2x3::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcPlanarExtent>(); } +::Ifc2x3::IfcPlanarExtent* Ifc2x3::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcPlanarExtent>(true); } void Ifc2x3::IfcTextLiteralWithExtent::setExtent(::Ifc2x3::IfcPlanarExtent* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } std::string Ifc2x3::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = *data_->getArgument(4); return v; } void Ifc2x3::IfcTextLiteralWithExtent::setBoxAlignment(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -16155,11 +16293,11 @@ Ifc2x3::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcEntityInstanceData Ifc2x3::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(std::string v1_Literal, ::Ifc2x3::IfcAxis2Placement* v2_Placement, ::Ifc2x3::IfcTextPath::Value v3_Path, ::Ifc2x3::IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment) : IfcTextLiteral((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcTextLiteralWithExtent_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Literal));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Placement));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_Path,::Ifc2x3::IfcTextPath::ToString(v3_Path))));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Extent));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_BoxAlignment));data_->setArgument(4,attr);} } // Function implementations for IfcTextStyle -::Ifc2x3::IfcCharacterStyleSelect* Ifc2x3::IfcTextStyle::TextCharacterAppearance() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcCharacterStyleSelect>(); } +::Ifc2x3::IfcCharacterStyleSelect* Ifc2x3::IfcTextStyle::TextCharacterAppearance() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcCharacterStyleSelect>(true); } void Ifc2x3::IfcTextStyle::setTextCharacterAppearance(::Ifc2x3::IfcCharacterStyleSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc2x3::IfcTextStyleSelect* Ifc2x3::IfcTextStyle::TextStyle() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcTextStyleSelect>(); } +::Ifc2x3::IfcTextStyleSelect* Ifc2x3::IfcTextStyle::TextStyle() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcTextStyleSelect>(true); } void Ifc2x3::IfcTextStyle::setTextStyle(::Ifc2x3::IfcTextStyleSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc2x3::IfcTextFontSelect* Ifc2x3::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcTextFontSelect>(); } +::Ifc2x3::IfcTextFontSelect* Ifc2x3::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcTextFontSelect>(true); } void Ifc2x3::IfcTextStyle::setTextFontStyle(::Ifc2x3::IfcTextFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16177,7 +16315,7 @@ boost::optional< std::string > Ifc2x3::IfcTextStyleFontModel::FontVariant() cons void Ifc2x3::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc2x3::IfcTextStyleFontModel::FontWeight() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc2x3::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc2x3::IfcSizeSelect* Ifc2x3::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcSizeSelect>(); } +::Ifc2x3::IfcSizeSelect* Ifc2x3::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc2x3::IfcSizeSelect>(true); } void Ifc2x3::IfcTextStyleFontModel::setFontSize(::Ifc2x3::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -16187,9 +16325,9 @@ Ifc2x3::IfcTextStyleFontModel::IfcTextStyleFontModel(IfcEntityInstanceData* e) : Ifc2x3::IfcTextStyleFontModel::IfcTextStyleFontModel(std::string v1_Name, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_FontFamily, boost::optional< std::string > v3_FontStyle, boost::optional< std::string > v4_FontVariant, boost::optional< std::string > v5_FontWeight, ::Ifc2x3::IfcSizeSelect* v6_FontSize) : IfcPreDefinedTextFont((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcTextStyleFontModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_FontFamily) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_FontFamily));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_FontStyle) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_FontStyle));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_FontVariant) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_FontVariant));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_FontWeight) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_FontWeight));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_FontSize));data_->setArgument(5,attr);} } // Function implementations for IfcTextStyleForDefinedFont -::Ifc2x3::IfcColour* Ifc2x3::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcColour>(); } +::Ifc2x3::IfcColour* Ifc2x3::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcColour>(true); } void Ifc2x3::IfcTextStyleForDefinedFont::setColour(::Ifc2x3::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc2x3::IfcColour* Ifc2x3::IfcTextStyleForDefinedFont::BackgroundColour() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcColour>(); } +::Ifc2x3::IfcColour* Ifc2x3::IfcTextStyleForDefinedFont::BackgroundColour() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcColour>(true); } void Ifc2x3::IfcTextStyleForDefinedFont::setBackgroundColour(::Ifc2x3::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -16199,19 +16337,19 @@ Ifc2x3::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcEntityInstance Ifc2x3::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc2x3::IfcColour* v1_Colour, ::Ifc2x3::IfcColour* v2_BackgroundColour) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcTextStyleForDefinedFont_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Colour));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_BackgroundColour));data_->setArgument(1,attr);} } // Function implementations for IfcTextStyleTextModel -::Ifc2x3::IfcSizeSelect* Ifc2x3::IfcTextStyleTextModel::TextIndent() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcSizeSelect>(); } +::Ifc2x3::IfcSizeSelect* Ifc2x3::IfcTextStyleTextModel::TextIndent() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcSizeSelect>(true); } void Ifc2x3::IfcTextStyleTextModel::setTextIndent(::Ifc2x3::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc2x3::IfcTextStyleTextModel::TextAlign() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc2x3::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc2x3::IfcTextStyleTextModel::TextDecoration() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc2x3::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc2x3::IfcSizeSelect* Ifc2x3::IfcTextStyleTextModel::LetterSpacing() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcSizeSelect>(); } +::Ifc2x3::IfcSizeSelect* Ifc2x3::IfcTextStyleTextModel::LetterSpacing() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcSizeSelect>(true); } void Ifc2x3::IfcTextStyleTextModel::setLetterSpacing(::Ifc2x3::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc2x3::IfcSizeSelect* Ifc2x3::IfcTextStyleTextModel::WordSpacing() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcSizeSelect>(); } +::Ifc2x3::IfcSizeSelect* Ifc2x3::IfcTextStyleTextModel::WordSpacing() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcSizeSelect>(true); } void Ifc2x3::IfcTextStyleTextModel::setWordSpacing(::Ifc2x3::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc2x3::IfcTextStyleTextModel::TextTransform() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc2x3::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc2x3::IfcSizeSelect* Ifc2x3::IfcTextStyleTextModel::LineHeight() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcSizeSelect>(); } +::Ifc2x3::IfcSizeSelect* Ifc2x3::IfcTextStyleTextModel::LineHeight() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcSizeSelect>(true); } void Ifc2x3::IfcTextStyleTextModel::setLineHeight(::Ifc2x3::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -16229,7 +16367,7 @@ boost::optional< double > Ifc2x3::IfcTextStyleWithBoxCharacteristics::BoxSlantAn void Ifc2x3::IfcTextStyleWithBoxCharacteristics::setBoxSlantAngle(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } boost::optional< double > Ifc2x3::IfcTextStyleWithBoxCharacteristics::BoxRotateAngle() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc2x3::IfcTextStyleWithBoxCharacteristics::setBoxRotateAngle(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } -::Ifc2x3::IfcSizeSelect* Ifc2x3::IfcTextStyleWithBoxCharacteristics::CharacterSpacing() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcSizeSelect>(); } +::Ifc2x3::IfcSizeSelect* Ifc2x3::IfcTextStyleWithBoxCharacteristics::CharacterSpacing() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc2x3::IfcSizeSelect>(true); } void Ifc2x3::IfcTextStyleWithBoxCharacteristics::setCharacterSpacing(::Ifc2x3::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -16300,9 +16438,9 @@ std::string Ifc2x3::IfcTimeSeries::Name() const { std::string v = *data_->getAr void Ifc2x3::IfcTimeSeries::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc2x3::IfcTimeSeries::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc2x3::IfcTimeSeries::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcTimeSeries::StartTime() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcTimeSeries::StartTime() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcTimeSeries::setStartTime(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcTimeSeries::EndTime() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcTimeSeries::EndTime() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcTimeSeries::setEndTime(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc2x3::IfcTimeSeriesDataTypeEnum::Value Ifc2x3::IfcTimeSeries::TimeSeriesDataType() const { return ::Ifc2x3::IfcTimeSeriesDataTypeEnum::FromString(*data_->getArgument(4)); } void Ifc2x3::IfcTimeSeries::setTimeSeriesDataType(::Ifc2x3::IfcTimeSeriesDataTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcTimeSeriesDataTypeEnum::ToString(v)));data_->setArgument(4,attr);} } @@ -16310,7 +16448,7 @@ void Ifc2x3::IfcTimeSeries::setTimeSeriesDataType(::Ifc2x3::IfcTimeSeriesDataTyp void Ifc2x3::IfcTimeSeries::setDataOrigin(::Ifc2x3::IfcDataOriginEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcDataOriginEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< std::string > Ifc2x3::IfcTimeSeries::UserDefinedDataOrigin() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc2x3::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } -::Ifc2x3::IfcUnit* Ifc2x3::IfcTimeSeries::Unit() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcUnit>(); } +::Ifc2x3::IfcUnit* Ifc2x3::IfcTimeSeries::Unit() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcUnit>(true); } void Ifc2x3::IfcTimeSeries::setUnit(::Ifc2x3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc2x3::IfcTimeSeriesReferenceRelationship::list::ptr Ifc2x3::IfcTimeSeries::DocumentedBy() const { return data_->getInverse(IFC2X3_IfcTimeSeriesReferenceRelationship_type, 0)->as(); } @@ -16321,7 +16459,7 @@ Ifc2x3::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData* e) : IfcUtil::IfcBas Ifc2x3::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcDateTimeSelect* v3_StartTime, ::Ifc2x3::IfcDateTimeSelect* v4_EndTime, ::Ifc2x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc2x3::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc2x3::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcTimeSeries_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_StartTime));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_EndTime));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v5_TimeSeriesDataType,::Ifc2x3::IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType))));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_DataOrigin,::Ifc2x3::IfcDataOriginEnum::ToString(v6_DataOrigin))));data_->setArgument(5,attr);} if (v7_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_UserDefinedDataOrigin));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Unit));data_->setArgument(7,attr);} } // Function implementations for IfcTimeSeriesReferenceRelationship -::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcTimeSeriesReferenceRelationship::ReferencedTimeSeries() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcTimeSeries>(); } +::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcTimeSeriesReferenceRelationship::ReferencedTimeSeries() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcTimeSeries>(true); } void Ifc2x3::IfcTimeSeriesReferenceRelationship::setReferencedTimeSeries(::Ifc2x3::IfcTimeSeries* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of_instance::ptr Ifc2x3::IfcTimeSeriesReferenceRelationship::TimeSeriesReferences() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc2x3::IfcTimeSeriesReferenceRelationship::setTimeSeriesReferences(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -16337,7 +16475,7 @@ boost::optional< aggregate_of_instance::ptr > Ifc2x3::IfcTimeSeriesSchedule::App void Ifc2x3::IfcTimeSeriesSchedule::setApplicableDates(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } ::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Value Ifc2x3::IfcTimeSeriesSchedule::TimeSeriesScheduleType() const { return ::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::FromString(*data_->getArgument(6)); } void Ifc2x3::IfcTimeSeriesSchedule::setTimeSeriesScheduleType(::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::ToString(v)));data_->setArgument(6,attr);} } -::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcTimeSeriesSchedule::TimeSeries() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcTimeSeries>(); } +::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcTimeSeriesSchedule::TimeSeries() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc2x3::IfcTimeSeries>(true); } void Ifc2x3::IfcTimeSeriesSchedule::setTimeSeries(::Ifc2x3::IfcTimeSeries* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -16423,7 +16561,7 @@ Ifc2x3::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(IfcEntityInstanceData* e) Ifc2x3::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D* v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) : IfcParameterizedProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcTrapeziumProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc2x3::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Position));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_BottomXDim));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_TopXDim));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_YDim));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_TopXOffset));data_->setArgument(6,attr);} } // Function implementations for IfcTrimmedCurve -::Ifc2x3::IfcCurve* Ifc2x3::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcCurve>(); } +::Ifc2x3::IfcCurve* Ifc2x3::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcCurve>(true); } void Ifc2x3::IfcTrimmedCurve::setBasisCurve(::Ifc2x3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of_instance::ptr Ifc2x3::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc2x3::IfcTrimmedCurve::setTrim1(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -16451,7 +16589,7 @@ Ifc2x3::IfcTubeBundleType::IfcTubeBundleType(IfcEntityInstanceData* e) : IfcEner Ifc2x3::IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcTubeBundleTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcTubeBundleType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc2x3::IfcTubeBundleTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcTwoDirectionRepeatFactor -::Ifc2x3::IfcVector* Ifc2x3::IfcTwoDirectionRepeatFactor::SecondRepeatFactor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcVector>(); } +::Ifc2x3::IfcVector* Ifc2x3::IfcTwoDirectionRepeatFactor::SecondRepeatFactor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc2x3::IfcVector>(true); } void Ifc2x3::IfcTwoDirectionRepeatFactor::setSecondRepeatFactor(::Ifc2x3::IfcVector* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -16540,7 +16678,7 @@ Ifc2x3::IfcValveType::IfcValveType(IfcEntityInstanceData* e) : IfcFlowController Ifc2x3::IfcValveType::IfcValveType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcValveTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcValveType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc2x3::IfcValveTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcVector -::Ifc2x3::IfcDirection* Ifc2x3::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcDirection>(); } +::Ifc2x3::IfcDirection* Ifc2x3::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcDirection>(true); } void Ifc2x3::IfcVector::setOrientation(::Ifc2x3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc2x3::IfcVector::Magnitude() const { double v = *data_->getArgument(1); return v; } void Ifc2x3::IfcVector::setMagnitude(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -16572,7 +16710,7 @@ Ifc2x3::IfcVertexBasedTextureMap::IfcVertexBasedTextureMap(IfcEntityInstanceData Ifc2x3::IfcVertexBasedTextureMap::IfcVertexBasedTextureMap(aggregate_of< ::Ifc2x3::IfcTextureVertex >::ptr v1_TextureVertices, aggregate_of< ::Ifc2x3::IfcCartesianPoint >::ptr v2_TexturePoints) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC2X3_IfcVertexBasedTextureMap_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TextureVertices)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TexturePoints)->generalize());data_->setArgument(1,attr);} } // Function implementations for IfcVertexLoop -::Ifc2x3::IfcVertex* Ifc2x3::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcVertex>(); } +::Ifc2x3::IfcVertex* Ifc2x3::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcVertex>(true); } void Ifc2x3::IfcVertexLoop::setLoopVertex(::Ifc2x3::IfcVertex* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -16582,7 +16720,7 @@ Ifc2x3::IfcVertexLoop::IfcVertexLoop(IfcEntityInstanceData* e) : IfcLoop((IfcEnt Ifc2x3::IfcVertexLoop::IfcVertexLoop(::Ifc2x3::IfcVertex* v1_LoopVertex) : IfcLoop((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC2X3_IfcVertexLoop_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_LoopVertex));data_->setArgument(0,attr);} } // Function implementations for IfcVertexPoint -::Ifc2x3::IfcPoint* Ifc2x3::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcPoint>(); } +::Ifc2x3::IfcPoint* Ifc2x3::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc2x3::IfcPoint>(true); } void Ifc2x3::IfcVertexPoint::setVertexGeometry(::Ifc2x3::IfcPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -16708,7 +16846,7 @@ boost::optional< double > Ifc2x3::IfcWindowLiningProperties::FirstMullionOffset( void Ifc2x3::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } boost::optional< double > Ifc2x3::IfcWindowLiningProperties::SecondMullionOffset() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } void Ifc2x3::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } -::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcWindowLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc2x3::IfcShapeAspect>(); } +::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcWindowLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc2x3::IfcShapeAspect>(true); } void Ifc2x3::IfcWindowLiningProperties::setShapeAspectStyle(::Ifc2x3::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } @@ -16726,7 +16864,7 @@ boost::optional< double > Ifc2x3::IfcWindowPanelProperties::FrameDepth() const { void Ifc2x3::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } boost::optional< double > Ifc2x3::IfcWindowPanelProperties::FrameThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc2x3::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } -::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcWindowPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcShapeAspect>(); } +::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcWindowPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc2x3::IfcShapeAspect>(true); } void Ifc2x3::IfcWindowPanelProperties::setShapeAspectStyle(::Ifc2x3::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -16754,7 +16892,7 @@ Ifc2x3::IfcWindowStyle::IfcWindowStyle(std::string v1_GlobalId, ::Ifc2x3::IfcOwn // Function implementations for IfcWorkControl std::string Ifc2x3::IfcWorkControl::Identifier() const { std::string v = *data_->getArgument(5); return v; } void Ifc2x3::IfcWorkControl::setIdentifier(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcWorkControl::CreationDate() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcWorkControl::CreationDate() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcWorkControl::setCreationDate(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc2x3::IfcPerson >::ptr > Ifc2x3::IfcWorkControl::Creators() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc2x3::IfcPerson >(); } void Ifc2x3::IfcWorkControl::setCreators(boost::optional< aggregate_of< ::Ifc2x3::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } @@ -16764,9 +16902,9 @@ boost::optional< double > Ifc2x3::IfcWorkControl::Duration() const { if(!data_-> void Ifc2x3::IfcWorkControl::setDuration(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } boost::optional< double > Ifc2x3::IfcWorkControl::TotalFloat() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } void Ifc2x3::IfcWorkControl::setTotalFloat(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcWorkControl::StartTime() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcWorkControl::StartTime() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcWorkControl::setStartTime(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcWorkControl::FinishTime() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc2x3::IfcDateTimeSelect>(); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcWorkControl::FinishTime() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcWorkControl::setFinishTime(::Ifc2x3::IfcDateTimeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } boost::optional< ::Ifc2x3::IfcWorkControlTypeEnum::Value > Ifc2x3::IfcWorkControl::WorkControlType() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } return ::Ifc2x3::IfcWorkControlTypeEnum::FromString(*data_->getArgument(13)); } void Ifc2x3::IfcWorkControl::setWorkControlType(boost::optional< ::Ifc2x3::IfcWorkControlTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc2x3::IfcWorkControlTypeEnum::ToString(*v)));data_->setArgument(13,attr);} } diff --git a/src/ifcparse/Ifc2x3.h b/src/ifcparse/Ifc2x3.h index 78ef08c18c..8a64b9eafa 100644 --- a/src/ifcparse/Ifc2x3.h +++ b/src/ifcparse/Ifc2x3.h @@ -60,7 +60,10 @@ class Ifc2DCompositeCurve; class IfcActionRequest; class IfcActor; class IfcActo /// IfcOrganization An organization. /// IfcPerson A person. /// IfcPersonAndOrganization A person related to an organization. -class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. /// /// Select from: @@ -75,13 +78,19 @@ class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface {} /// Selecting IfcMeasureWithUnit allows the specification of both the actual figure for the value together with the currency in which the value is represented. /// Selecting IfcMonetaryMeasure allows the specification only of the value, the currency being as set by the global context /// Selecting IfcRatioMeasure assumes that the amount is a percentage or other REAL number. Note that if the amount is normally specified as -20%, then this figure will need to be converted to a multiplier of 0.8 -class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. /// /// NOTE: Corresponding STEP type: axis2_placement, please refer to ISO/IS 10303-42:1994, p. 19 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 1.5 -class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This select type identifies /// all those types of entities which may participate in a Boolean operation to /// form a CSG solid. @@ -98,7 +107,10 @@ class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface /// (IfcSolidModel) are defined for being valid Boolean operands. /// /// HISTORY: New Type in IFC Release 1.5.1 -class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The character style select allows for a selection of character styles for text. Currently only text color and background color is selectable. /// /// NOTE  Corresponding ISO 10303 name: character_style_select. Please refer to ISO/IS @@ -107,34 +119,55 @@ class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The SELECT item IfcTextStyleForDefinedFont replaces the old IfcColour. -class IFC_PARSE_API IfcCharacterStyleSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCharacterStyleSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcClassificationNotationSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcClassificationNotationSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. /// /// NOTE  Corresponding STEP name: colour. It has been made into a SELECT type in IFC to avoid multiple inheritance for pre defined colour. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcConditionCriterionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcConditionCriterionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. /// Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive. /// /// NOTE Corresponding ISO 10303-42 type: csg_select, please refer to ISO/IS 10303-42:1994, p.168 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5.1. -class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. /// /// NOTE Corresponding ISO 10303 name: curve_font_or_scaled_curve_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve /// and subtypes) within a geometric model, or a curve with associated geometry and coordinates (IfcEdgeCurve) within a topological model. /// SELECT @@ -143,21 +176,33 @@ class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil /// IfcEdgeCurve /// /// HISTORY  New select type in IFC2x Edition 3. -class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. /// /// NOTE Corresponding ISO 10303 name: curve_style_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcDateTimeSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcDateTimeSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The defined symbol select is a selection between a predefined symbol and an externally defined symbol. /// /// NOTE Corresponding ISO 10303 name: defined_symbol_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcDefinedSymbolSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcDefinedSymbolSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// /// SELECT @@ -232,7 +277,10 @@ class IFC_PARSE_API IfcDefinedSymbolSelect : public virtual IfcUtil::IfcBaseInte /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. -class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. /// /// HISTORY: New Select Type in IFC 2x @@ -241,9 +289,15 @@ class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInte /// /// IfcDocumentInformation (for "metadata" of an external document) /// IfcDocumentReference (for reference within a document) -class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcDraughtingCalloutElement : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcDraughtingCalloutElement : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The fill area style tile shape select is used to make a selection for the style of the fill area style tile. /// /// NOTE: The IfcFillAreaStyleTileShapeSelect is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation. @@ -251,24 +305,36 @@ class IFC_PARSE_API IfcDraughtingCalloutElement : public virtual IfcUtil::IfcBas /// NOTE Corresponding ISO 10303 name: fill_area_style_tile_shape_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcFillAreaStyleTileShapeSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcFillAreaStyleTileShapeSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. /// /// NOTE Corresponding ISO 10303 name: fill_style_select. Please refer to ISO/IS 10303-46:1994 for /// the final definition of the formal standard. /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. /// /// NOTE: Corresponding ISO 10303 type: geometric_set_select. Please refer to ISO/IS 10303-42:1994, p. 169 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 2x. -class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. /// /// It is the collection of all those items, that are assigned to a single layer. These items are representation items or complete representations (IfcRepresentationItem, IfcRepresentation). If an IfcRepresentation is referenced, all IfcRepresentationItem within its set of Items are assigned to the same layer. @@ -276,7 +342,10 @@ class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBase /// NOTE: Corresponding ISO 10303 name: layered_item. It was called layered_things in the ISO/CD version and had been renamed to layered_item in the ISO/IS final version. Please refer to ISO/IS 10303-46:1994, p. 13 for the final definition of the formal standard. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. /// /// HISTORY: New Select Type in IFC2x @@ -287,7 +356,10 @@ class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface {} /// IfcLibraryReference (for reference into a library of information by location) /// /// Generally, it is expected that selection will be IfcLibraryReference and only rarely IfcLibraryInformation. IfcLibraryInformation should only be selected in circumstances where there could be a need to indicate the libraries that will be used without making individual references. This may occur for higher level objects such as a project or building. -class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. /// /// The light distribution provides the luminous intensity distribution according to some standardized light distribution curves. @@ -310,7 +382,10 @@ class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface /// directions covers all cases. /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcMaterialSelect provides selection of either a material /// definition or a material usage definition that can be assigned to /// an element, a resource or another entity within IFC. @@ -337,7 +412,10 @@ class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUti /// /// IFC2x4 CHANGE The select now includes two new abstract entities IfcMaterialDefinition /// and IfcMaterialUsageDefinition with upward compatibility. The use of IfcMaterialList is deprecated from IFC2x4 onwards. -class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). /// /// NOTE IfcMeasureValue is a select data type for most basic measure types coming from ISO 10303-41. Select item IfcNonNegativeLengthMeasure is in addition to ISO 10303-41. @@ -347,7 +425,10 @@ class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface /// HISTORY New type in IFC Release 1.5.1. /// /// IFC 2x4 change: added IfcNonNegativeLengthMeasure -class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. /// /// HISTORY: New type in IFC Release 2.0 @@ -360,13 +441,22 @@ class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { /// IfcTable /// IfcText /// IfcTimeSeries -class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// /// HISTORY  New select type in IFC Release 2.0. -class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcOrientationSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcOrientationSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. /// SELECT /// @@ -374,7 +464,10 @@ class IFC_PARSE_API IfcOrientationSelect : public virtual IfcUtil::IfcBaseInterf /// IfcVertexPoint /// /// HISTORY  New select type in IFC2x Edition 3. -class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The presentation style select is a selection of one of many kinds of styles, a different one for each kind of geometric representation item to be styled. /// /// NOTE Corresponding ISO 10303 name: presentation_style_Select. Please refer to ISO/IS @@ -383,7 +476,10 @@ class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInter /// HISTORY New type in IFC2x2. /// /// IFC2x4 CHANGE The select type has been deprecated. -class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < ¥. /// /// A shell of dimensionality 0 is represented by a graph consisting of a single vertex. The vertex shall not have any associated edges. @@ -395,7 +491,10 @@ class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBase /// NOTE  Corresponding ISO 10303 type: shell. Please refer to ISO/IS 10303-42:1994, p. 127 for the final definition of the formal standard. Only the select items closed_shell (IfcClosedShell) and open_shell (IfcOpenShell) have been incorporated in the current IFC release. /// /// HISTORY  New type in IFC2x. -class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcSimpleValue is a select type for selecting between simple value types. /// /// SELECT @@ -415,7 +514,10 @@ class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface {}; /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. -class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. /// /// Definition from ISO: The size (or width) measure value is given in the global drawing length units. @@ -428,7 +530,10 @@ class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface {} /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. -class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. /// /// NOTE: The two select types relate to the different ways to specifiy the sharpness (or shininess) of the specular part of the reflectance equation. It relates to the attributes: @@ -439,7 +544,10 @@ class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface {}; /// For each surface side style only one of the two methods is needed for calculating the specular part of the equation. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of /// IfcStructuralItem or IfcBuildingElement. The @@ -449,7 +557,10 @@ class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBase /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface /// and subtypes) within a geometric model, or a face with associated surface geometry and coordinates (IfcFaceSurface) within a topological model. /// SELECT @@ -459,7 +570,10 @@ class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUt /// IfcFaceBasedSurfaceModel (a connected face set, representing a faceted surface as an approximation of a non planar, non rectangular bounded surface) /// /// HISTORY  New select type in IFC2x3. -class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. /// /// The select type only includes the IfcSurfaceStyleRendering (which is the equivalent to surface_style_rendering) from the select type surface_style_element_select. In addition it has the IfcSurfaceStyleLighting, which holds the exact physically based lighting properties for lighting based calculation algorithms (as the opposite to the rendering based calculation), the IfcSurfaceStyleRefraction (for more advanced refraction indices) and IfcSurfaceStyleWithTextures (to allow for image textures applied to surfaces). In addition an IfcExternallyDefinedSurfaceStyle can be selected that points into an external material library. @@ -469,7 +583,10 @@ class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInt /// NOTE: Corresponding ISO 10303 type: surface_style_element_select. Please refer to ISO/IS 10303-46:1994, p. 85 for the final definition of the formal standard. /// /// HISTORY: New Select type in IFC2x2. -class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The symbol style select allows for the selection of styles to be assigned to an annotated symbol. /// /// NOTE: The selection is restricted to colour within the current release of IFC @@ -477,7 +594,10 @@ class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBa /// NOTE Corresponding ISO 10303 name: symbol_style_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcSymbolStyleSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSymbolStyleSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. /// /// NOTE  IfcTextFontSelect is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation. Corresponding ISO 10303 name: font_select. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard. @@ -485,7 +605,10 @@ class IFC_PARSE_API IfcSymbolStyleSelect : public virtual IfcUtil::IfcBaseInterf /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. -class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The text style select allows for the selection of styles to be assigned to an annotated text. The text style determines the text model that affect the visual presentation of characters, spaces, words, and paragraphs. There are two choices: /// /// IfcTextStyleWithBoxCharacteristics for definitions from ISO/IS 10303-46:1994 for (old) vector based and monospace text. @@ -495,13 +618,19 @@ class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The items within the IfcTextStyleSelect have changed to IfcTextStyleWithBoxCharacteristics and IfcTextStyleTextModel. -class IFC_PARSE_API IfcTextStyleSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTextStyleSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. /// /// NOTE Corresponding ISO 10303 type: trimming_select, please refer to ISO/IS 10303-42:1994, p. 20 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.0 -class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. /// /// NOTE: Select item IfcMonetaryUnit is an addition to ISO 10303-41. @@ -515,7 +644,10 @@ class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface /// IfcMonetaryUnit: A unit for defining currencies. /// /// HISTORY: New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. /// @@ -526,7 +658,10 @@ class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface {}; /// IfcDerivedMeasureValue A select type for derived measure types. /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. /// @@ -535,7 +670,10 @@ class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface {}; /// definition of the formal standard. /// HISTORY New Type in IFC Release /// 1.5 -class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; class IFC_PARSE_API IfcActionSourceTypeEnum : public IfcUtil::IfcBaseType { /// Definition from IAI:This enumeration type contains possible /// action sources. diff --git a/src/ifcparse/Ifc4.cpp b/src/ifcparse/Ifc4.cpp index 4b27bdb90f..32576d5748 100644 --- a/src/ifcparse/Ifc4.cpp +++ b/src/ifcparse/Ifc4.cpp @@ -1150,6 +1150,66 @@ extern enumeration_type* IFC4_IfcWindowTypePartitioningEnum_type; extern enumeration_type* IFC4_IfcWorkCalendarTypeEnum_type; extern enumeration_type* IFC4_IfcWorkPlanTypeEnum_type; extern enumeration_type* IFC4_IfcWorkScheduleTypeEnum_type; +extern select_type* IFC4_IfcActorSelect_type; +extern select_type* IFC4_IfcAppliedValueSelect_type; +extern select_type* IFC4_IfcAxis2Placement_type; +extern select_type* IFC4_IfcBendingParameterSelect_type; +extern select_type* IFC4_IfcBooleanOperand_type; +extern select_type* IFC4_IfcClassificationReferenceSelect_type; +extern select_type* IFC4_IfcClassificationSelect_type; +extern select_type* IFC4_IfcColour_type; +extern select_type* IFC4_IfcColourOrFactor_type; +extern select_type* IFC4_IfcCoordinateReferenceSystemSelect_type; +extern select_type* IFC4_IfcCsgSelect_type; +extern select_type* IFC4_IfcCurveFontOrScaledCurveFontSelect_type; +extern select_type* IFC4_IfcCurveOnSurface_type; +extern select_type* IFC4_IfcCurveOrEdgeCurve_type; +extern select_type* IFC4_IfcCurveStyleFontSelect_type; +extern select_type* IFC4_IfcDefinitionSelect_type; +extern select_type* IFC4_IfcDerivedMeasureValue_type; +extern select_type* IFC4_IfcDocumentSelect_type; +extern select_type* IFC4_IfcFillStyleSelect_type; +extern select_type* IFC4_IfcGeometricSetSelect_type; +extern select_type* IFC4_IfcGridPlacementDirectionSelect_type; +extern select_type* IFC4_IfcHatchLineDistanceSelect_type; +extern select_type* IFC4_IfcLayeredItem_type; +extern select_type* IFC4_IfcLibrarySelect_type; +extern select_type* IFC4_IfcLightDistributionDataSourceSelect_type; +extern select_type* IFC4_IfcMaterialSelect_type; +extern select_type* IFC4_IfcMeasureValue_type; +extern select_type* IFC4_IfcMetricValueSelect_type; +extern select_type* IFC4_IfcModulusOfRotationalSubgradeReactionSelect_type; +extern select_type* IFC4_IfcModulusOfSubgradeReactionSelect_type; +extern select_type* IFC4_IfcModulusOfTranslationalSubgradeReactionSelect_type; +extern select_type* IFC4_IfcObjectReferenceSelect_type; +extern select_type* IFC4_IfcPointOrVertexPoint_type; +extern select_type* IFC4_IfcPresentationStyleSelect_type; +extern select_type* IFC4_IfcProcessSelect_type; +extern select_type* IFC4_IfcProductRepresentationSelect_type; +extern select_type* IFC4_IfcProductSelect_type; +extern select_type* IFC4_IfcPropertySetDefinitionSelect_type; +extern select_type* IFC4_IfcResourceObjectSelect_type; +extern select_type* IFC4_IfcResourceSelect_type; +extern select_type* IFC4_IfcRotationalStiffnessSelect_type; +extern select_type* IFC4_IfcSegmentIndexSelect_type; +extern select_type* IFC4_IfcShell_type; +extern select_type* IFC4_IfcSimpleValue_type; +extern select_type* IFC4_IfcSizeSelect_type; +extern select_type* IFC4_IfcSolidOrShell_type; +extern select_type* IFC4_IfcSpaceBoundarySelect_type; +extern select_type* IFC4_IfcSpecularHighlightSelect_type; +extern select_type* IFC4_IfcStructuralActivityAssignmentSelect_type; +extern select_type* IFC4_IfcStyleAssignmentSelect_type; +extern select_type* IFC4_IfcSurfaceOrFaceSurface_type; +extern select_type* IFC4_IfcSurfaceStyleElementSelect_type; +extern select_type* IFC4_IfcTextFontSelect_type; +extern select_type* IFC4_IfcTimeOrRatioSelect_type; +extern select_type* IFC4_IfcTranslationalStiffnessSelect_type; +extern select_type* IFC4_IfcTrimmingSelect_type; +extern select_type* IFC4_IfcUnit_type; +extern select_type* IFC4_IfcValue_type; +extern select_type* IFC4_IfcVectorOrDirection_type; +extern select_type* IFC4_IfcWarpingStiffnessSelect_type; const IfcParse::enumeration_type& Ifc4::IfcActionRequestTypeEnum::declaration() const { return *IFC4_IfcActionRequestTypeEnum_type; } @@ -10029,6 +10089,126 @@ Ifc4::IfcWorkScheduleTypeEnum::operator Ifc4::IfcWorkScheduleTypeEnum::Value() c return FromString((std::string) *data_->getArgument(0)); } +const IfcParse::select_type& Ifc4::IfcActorSelect::Class() { return *IFC4_IfcActorSelect_type; } + +const IfcParse::select_type& Ifc4::IfcAppliedValueSelect::Class() { return *IFC4_IfcAppliedValueSelect_type; } + +const IfcParse::select_type& Ifc4::IfcAxis2Placement::Class() { return *IFC4_IfcAxis2Placement_type; } + +const IfcParse::select_type& Ifc4::IfcBendingParameterSelect::Class() { return *IFC4_IfcBendingParameterSelect_type; } + +const IfcParse::select_type& Ifc4::IfcBooleanOperand::Class() { return *IFC4_IfcBooleanOperand_type; } + +const IfcParse::select_type& Ifc4::IfcClassificationReferenceSelect::Class() { return *IFC4_IfcClassificationReferenceSelect_type; } + +const IfcParse::select_type& Ifc4::IfcClassificationSelect::Class() { return *IFC4_IfcClassificationSelect_type; } + +const IfcParse::select_type& Ifc4::IfcColour::Class() { return *IFC4_IfcColour_type; } + +const IfcParse::select_type& Ifc4::IfcColourOrFactor::Class() { return *IFC4_IfcColourOrFactor_type; } + +const IfcParse::select_type& Ifc4::IfcCoordinateReferenceSystemSelect::Class() { return *IFC4_IfcCoordinateReferenceSystemSelect_type; } + +const IfcParse::select_type& Ifc4::IfcCsgSelect::Class() { return *IFC4_IfcCsgSelect_type; } + +const IfcParse::select_type& Ifc4::IfcCurveFontOrScaledCurveFontSelect::Class() { return *IFC4_IfcCurveFontOrScaledCurveFontSelect_type; } + +const IfcParse::select_type& Ifc4::IfcCurveOnSurface::Class() { return *IFC4_IfcCurveOnSurface_type; } + +const IfcParse::select_type& Ifc4::IfcCurveOrEdgeCurve::Class() { return *IFC4_IfcCurveOrEdgeCurve_type; } + +const IfcParse::select_type& Ifc4::IfcCurveStyleFontSelect::Class() { return *IFC4_IfcCurveStyleFontSelect_type; } + +const IfcParse::select_type& Ifc4::IfcDefinitionSelect::Class() { return *IFC4_IfcDefinitionSelect_type; } + +const IfcParse::select_type& Ifc4::IfcDerivedMeasureValue::Class() { return *IFC4_IfcDerivedMeasureValue_type; } + +const IfcParse::select_type& Ifc4::IfcDocumentSelect::Class() { return *IFC4_IfcDocumentSelect_type; } + +const IfcParse::select_type& Ifc4::IfcFillStyleSelect::Class() { return *IFC4_IfcFillStyleSelect_type; } + +const IfcParse::select_type& Ifc4::IfcGeometricSetSelect::Class() { return *IFC4_IfcGeometricSetSelect_type; } + +const IfcParse::select_type& Ifc4::IfcGridPlacementDirectionSelect::Class() { return *IFC4_IfcGridPlacementDirectionSelect_type; } + +const IfcParse::select_type& Ifc4::IfcHatchLineDistanceSelect::Class() { return *IFC4_IfcHatchLineDistanceSelect_type; } + +const IfcParse::select_type& Ifc4::IfcLayeredItem::Class() { return *IFC4_IfcLayeredItem_type; } + +const IfcParse::select_type& Ifc4::IfcLibrarySelect::Class() { return *IFC4_IfcLibrarySelect_type; } + +const IfcParse::select_type& Ifc4::IfcLightDistributionDataSourceSelect::Class() { return *IFC4_IfcLightDistributionDataSourceSelect_type; } + +const IfcParse::select_type& Ifc4::IfcMaterialSelect::Class() { return *IFC4_IfcMaterialSelect_type; } + +const IfcParse::select_type& Ifc4::IfcMeasureValue::Class() { return *IFC4_IfcMeasureValue_type; } + +const IfcParse::select_type& Ifc4::IfcMetricValueSelect::Class() { return *IFC4_IfcMetricValueSelect_type; } + +const IfcParse::select_type& Ifc4::IfcModulusOfRotationalSubgradeReactionSelect::Class() { return *IFC4_IfcModulusOfRotationalSubgradeReactionSelect_type; } + +const IfcParse::select_type& Ifc4::IfcModulusOfSubgradeReactionSelect::Class() { return *IFC4_IfcModulusOfSubgradeReactionSelect_type; } + +const IfcParse::select_type& Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect::Class() { return *IFC4_IfcModulusOfTranslationalSubgradeReactionSelect_type; } + +const IfcParse::select_type& Ifc4::IfcObjectReferenceSelect::Class() { return *IFC4_IfcObjectReferenceSelect_type; } + +const IfcParse::select_type& Ifc4::IfcPointOrVertexPoint::Class() { return *IFC4_IfcPointOrVertexPoint_type; } + +const IfcParse::select_type& Ifc4::IfcPresentationStyleSelect::Class() { return *IFC4_IfcPresentationStyleSelect_type; } + +const IfcParse::select_type& Ifc4::IfcProcessSelect::Class() { return *IFC4_IfcProcessSelect_type; } + +const IfcParse::select_type& Ifc4::IfcProductRepresentationSelect::Class() { return *IFC4_IfcProductRepresentationSelect_type; } + +const IfcParse::select_type& Ifc4::IfcProductSelect::Class() { return *IFC4_IfcProductSelect_type; } + +const IfcParse::select_type& Ifc4::IfcPropertySetDefinitionSelect::Class() { return *IFC4_IfcPropertySetDefinitionSelect_type; } + +const IfcParse::select_type& Ifc4::IfcResourceObjectSelect::Class() { return *IFC4_IfcResourceObjectSelect_type; } + +const IfcParse::select_type& Ifc4::IfcResourceSelect::Class() { return *IFC4_IfcResourceSelect_type; } + +const IfcParse::select_type& Ifc4::IfcRotationalStiffnessSelect::Class() { return *IFC4_IfcRotationalStiffnessSelect_type; } + +const IfcParse::select_type& Ifc4::IfcSegmentIndexSelect::Class() { return *IFC4_IfcSegmentIndexSelect_type; } + +const IfcParse::select_type& Ifc4::IfcShell::Class() { return *IFC4_IfcShell_type; } + +const IfcParse::select_type& Ifc4::IfcSimpleValue::Class() { return *IFC4_IfcSimpleValue_type; } + +const IfcParse::select_type& Ifc4::IfcSizeSelect::Class() { return *IFC4_IfcSizeSelect_type; } + +const IfcParse::select_type& Ifc4::IfcSolidOrShell::Class() { return *IFC4_IfcSolidOrShell_type; } + +const IfcParse::select_type& Ifc4::IfcSpaceBoundarySelect::Class() { return *IFC4_IfcSpaceBoundarySelect_type; } + +const IfcParse::select_type& Ifc4::IfcSpecularHighlightSelect::Class() { return *IFC4_IfcSpecularHighlightSelect_type; } + +const IfcParse::select_type& Ifc4::IfcStructuralActivityAssignmentSelect::Class() { return *IFC4_IfcStructuralActivityAssignmentSelect_type; } + +const IfcParse::select_type& Ifc4::IfcStyleAssignmentSelect::Class() { return *IFC4_IfcStyleAssignmentSelect_type; } + +const IfcParse::select_type& Ifc4::IfcSurfaceOrFaceSurface::Class() { return *IFC4_IfcSurfaceOrFaceSurface_type; } + +const IfcParse::select_type& Ifc4::IfcSurfaceStyleElementSelect::Class() { return *IFC4_IfcSurfaceStyleElementSelect_type; } + +const IfcParse::select_type& Ifc4::IfcTextFontSelect::Class() { return *IFC4_IfcTextFontSelect_type; } + +const IfcParse::select_type& Ifc4::IfcTimeOrRatioSelect::Class() { return *IFC4_IfcTimeOrRatioSelect_type; } + +const IfcParse::select_type& Ifc4::IfcTranslationalStiffnessSelect::Class() { return *IFC4_IfcTranslationalStiffnessSelect_type; } + +const IfcParse::select_type& Ifc4::IfcTrimmingSelect::Class() { return *IFC4_IfcTrimmingSelect_type; } + +const IfcParse::select_type& Ifc4::IfcUnit::Class() { return *IFC4_IfcUnit_type; } + +const IfcParse::select_type& Ifc4::IfcValue::Class() { return *IFC4_IfcValue_type; } + +const IfcParse::select_type& Ifc4::IfcVectorOrDirection::Class() { return *IFC4_IfcVectorOrDirection_type; } + +const IfcParse::select_type& Ifc4::IfcWarpingStiffnessSelect::Class() { return *IFC4_IfcWarpingStiffnessSelect_type; } + // Function implementations for IfcAbsorbedDoseMeasure const IfcParse::type_declaration& Ifc4::IfcAbsorbedDoseMeasure::Class() { return *IFC4_IfcAbsorbedDoseMeasure_type; } @@ -10956,7 +11136,7 @@ Ifc4::IfcActionRequest::IfcActionRequest(IfcEntityInstanceData* e) : IfcControl( Ifc4::IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4::IfcActionRequestTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcActionRequest_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v7_PredefinedType,::Ifc4::IfcActionRequestTypeEnum::ToString(*v7_PredefinedType))));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Status));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_LongDescription));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcActor -::Ifc4::IfcActorSelect* Ifc4::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcActorSelect>(); } +::Ifc4::IfcActorSelect* Ifc4::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcActorSelect>(true); } void Ifc4::IfcActor::setTheActor(::Ifc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4::IfcRelAssignsToActor::list::ptr Ifc4::IfcActor::IsActingUpon() const { return data_->getInverse(IFC4_IfcRelAssignsToActor_type, 6)->as(); } @@ -11133,7 +11313,7 @@ Ifc4::IfcAnnotation::IfcAnnotation(IfcEntityInstanceData* e) : IfcProduct((IfcEn Ifc4::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation) : IfcProduct((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcAnnotation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} } // Function implementations for IfcAnnotationFillArea -::Ifc4::IfcCurve* Ifc4::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCurve>(); } +::Ifc4::IfcCurve* Ifc4::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcAnnotationFillArea::setOuterBoundary(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcCurve >::ptr > Ifc4::IfcAnnotationFillArea::InnerBoundaries() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4::IfcCurve >(); } void Ifc4::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc4::IfcCurve >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(1,attr);} } @@ -11145,7 +11325,7 @@ Ifc4::IfcAnnotationFillArea::IfcAnnotationFillArea(IfcEntityInstanceData* e) : I Ifc4::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc4::IfcCurve* v1_OuterBoundary, boost::optional< aggregate_of< ::Ifc4::IfcCurve >::ptr > v2_InnerBoundaries) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcAnnotationFillArea_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_OuterBoundary));data_->setArgument(0,attr);} if (v2_InnerBoundaries) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_InnerBoundaries)->generalize());data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcApplication -::Ifc4::IfcOrganization* Ifc4::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcOrganization>(); } +::Ifc4::IfcOrganization* Ifc4::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcOrganization>(true); } void Ifc4::IfcApplication::setApplicationDeveloper(::Ifc4::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } std::string Ifc4::IfcApplication::Version() const { std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcApplication::setVersion(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -11165,9 +11345,9 @@ boost::optional< std::string > Ifc4::IfcAppliedValue::Name() const { if(!data_-> void Ifc4::IfcAppliedValue::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcAppliedValue::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcAppliedValue::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4::IfcAppliedValueSelect* Ifc4::IfcAppliedValue::AppliedValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcAppliedValueSelect>(); } +::Ifc4::IfcAppliedValueSelect* Ifc4::IfcAppliedValue::AppliedValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcAppliedValueSelect>(true); } void Ifc4::IfcAppliedValue::setAppliedValue(::Ifc4::IfcAppliedValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4::IfcMeasureWithUnit* Ifc4::IfcAppliedValue::UnitBasis() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcMeasureWithUnit>(); } +::Ifc4::IfcMeasureWithUnit* Ifc4::IfcAppliedValue::UnitBasis() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcMeasureWithUnit>(true); } void Ifc4::IfcAppliedValue::setUnitBasis(::Ifc4::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcAppliedValue::ApplicableDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcAppliedValue::setApplicableDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -11204,9 +11384,9 @@ boost::optional< std::string > Ifc4::IfcApproval::Level() const { if(!data_->get void Ifc4::IfcApproval::setLevel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4::IfcApproval::Qualifier() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4::IfcApproval::setQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } -::Ifc4::IfcActorSelect* Ifc4::IfcApproval::RequestingApproval() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcActorSelect>(); } +::Ifc4::IfcActorSelect* Ifc4::IfcApproval::RequestingApproval() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcActorSelect>(true); } void Ifc4::IfcApproval::setRequestingApproval(::Ifc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -::Ifc4::IfcActorSelect* Ifc4::IfcApproval::GivingApproval() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcActorSelect>(); } +::Ifc4::IfcActorSelect* Ifc4::IfcApproval::GivingApproval() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcActorSelect>(true); } void Ifc4::IfcApproval::setGivingApproval(::Ifc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } ::Ifc4::IfcExternalReferenceRelationship::list::ptr Ifc4::IfcApproval::HasExternalReferences() const { return data_->getInverse(IFC4_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -11221,7 +11401,7 @@ Ifc4::IfcApproval::IfcApproval(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntit Ifc4::IfcApproval::IfcApproval(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_TimeOfApproval, boost::optional< std::string > v5_Status, boost::optional< std::string > v6_Level, boost::optional< std::string > v7_Qualifier, ::Ifc4::IfcActorSelect* v8_RequestingApproval, ::Ifc4::IfcActorSelect* v9_GivingApproval) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcApproval_type); if (v1_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Name));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_TimeOfApproval) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_TimeOfApproval));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Status));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Level) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Level));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Qualifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Qualifier));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_RequestingApproval));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_GivingApproval));data_->setArgument(8,attr);} } // Function implementations for IfcApprovalRelationship -::Ifc4::IfcApproval* Ifc4::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcApproval>(); } +::Ifc4::IfcApproval* Ifc4::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcApproval>(true); } void Ifc4::IfcApprovalRelationship::setRelatingApproval(::Ifc4::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4::IfcApproval >::ptr Ifc4::IfcApprovalRelationship::RelatedApprovals() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4::IfcApproval >(); } void Ifc4::IfcApprovalRelationship::setRelatedApprovals(aggregate_of< ::Ifc4::IfcApproval >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -11233,7 +11413,7 @@ Ifc4::IfcApprovalRelationship::IfcApprovalRelationship(IfcEntityInstanceData* e) Ifc4::IfcApprovalRelationship::IfcApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcApproval* v3_RelatingApproval, aggregate_of< ::Ifc4::IfcApproval >::ptr v4_RelatedApprovals) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingApproval));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedApprovals)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcArbitraryClosedProfileDef -::Ifc4::IfcCurve* Ifc4::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcCurve>(); } +::Ifc4::IfcCurve* Ifc4::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcArbitraryClosedProfileDef::setOuterCurve(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -11243,7 +11423,7 @@ Ifc4::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcEntityInstan Ifc4::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcCurve* v3_OuterCurve) : IfcProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcArbitraryClosedProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_OuterCurve));data_->setArgument(2,attr);} } // Function implementations for IfcArbitraryOpenProfileDef -::Ifc4::IfcBoundedCurve* Ifc4::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcBoundedCurve>(); } +::Ifc4::IfcBoundedCurve* Ifc4::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcBoundedCurve>(true); } void Ifc4::IfcArbitraryOpenProfileDef::setCurve(::Ifc4::IfcBoundedCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -11265,21 +11445,21 @@ Ifc4::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::Ifc4::I // Function implementations for IfcAsset boost::optional< std::string > Ifc4::IfcAsset::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcAsset::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4::IfcCostValue* Ifc4::IfcAsset::OriginalValue() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcCostValue>(); } +::Ifc4::IfcCostValue* Ifc4::IfcAsset::OriginalValue() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcCostValue>(true); } void Ifc4::IfcAsset::setOriginalValue(::Ifc4::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4::IfcCostValue* Ifc4::IfcAsset::CurrentValue() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcCostValue>(); } +::Ifc4::IfcCostValue* Ifc4::IfcAsset::CurrentValue() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcCostValue>(true); } void Ifc4::IfcAsset::setCurrentValue(::Ifc4::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -::Ifc4::IfcCostValue* Ifc4::IfcAsset::TotalReplacementCost() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcCostValue>(); } +::Ifc4::IfcCostValue* Ifc4::IfcAsset::TotalReplacementCost() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcCostValue>(true); } void Ifc4::IfcAsset::setTotalReplacementCost(::Ifc4::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -::Ifc4::IfcActorSelect* Ifc4::IfcAsset::Owner() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcActorSelect>(); } +::Ifc4::IfcActorSelect* Ifc4::IfcAsset::Owner() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcActorSelect>(true); } void Ifc4::IfcAsset::setOwner(::Ifc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -::Ifc4::IfcActorSelect* Ifc4::IfcAsset::User() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4::IfcActorSelect>(); } +::Ifc4::IfcActorSelect* Ifc4::IfcAsset::User() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4::IfcActorSelect>(true); } void Ifc4::IfcAsset::setUser(::Ifc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -::Ifc4::IfcPerson* Ifc4::IfcAsset::ResponsiblePerson() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4::IfcPerson>(); } +::Ifc4::IfcPerson* Ifc4::IfcAsset::ResponsiblePerson() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4::IfcPerson>(true); } void Ifc4::IfcAsset::setResponsiblePerson(::Ifc4::IfcPerson* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4::IfcAsset::IncorporationDate() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } void Ifc4::IfcAsset::setIncorporationDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } -::Ifc4::IfcCostValue* Ifc4::IfcAsset::DepreciatedValue() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4::IfcCostValue>(); } +::Ifc4::IfcCostValue* Ifc4::IfcAsset::DepreciatedValue() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4::IfcCostValue>(true); } void Ifc4::IfcAsset::setDepreciatedValue(::Ifc4::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } @@ -11341,7 +11521,7 @@ Ifc4::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(IfcEntityInstance Ifc4::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcAudioVisualApplianceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcAudioVisualApplianceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcAxis1Placement -::Ifc4::IfcDirection* Ifc4::IfcAxis1Placement::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcDirection>(); } +::Ifc4::IfcDirection* Ifc4::IfcAxis1Placement::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcAxis1Placement::setAxis(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -11351,7 +11531,7 @@ Ifc4::IfcAxis1Placement::IfcAxis1Placement(IfcEntityInstanceData* e) : IfcPlacem Ifc4::IfcAxis1Placement::IfcAxis1Placement(::Ifc4::IfcCartesianPoint* v1_Location, ::Ifc4::IfcDirection* v2_Axis) : IfcPlacement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcAxis1Placement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Location));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Axis));data_->setArgument(1,attr);} } // Function implementations for IfcAxis2Placement2D -::Ifc4::IfcDirection* Ifc4::IfcAxis2Placement2D::RefDirection() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcDirection>(); } +::Ifc4::IfcDirection* Ifc4::IfcAxis2Placement2D::RefDirection() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcAxis2Placement2D::setRefDirection(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -11361,9 +11541,9 @@ Ifc4::IfcAxis2Placement2D::IfcAxis2Placement2D(IfcEntityInstanceData* e) : IfcPl Ifc4::IfcAxis2Placement2D::IfcAxis2Placement2D(::Ifc4::IfcCartesianPoint* v1_Location, ::Ifc4::IfcDirection* v2_RefDirection) : IfcPlacement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcAxis2Placement2D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Location));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RefDirection));data_->setArgument(1,attr);} } // Function implementations for IfcAxis2Placement3D -::Ifc4::IfcDirection* Ifc4::IfcAxis2Placement3D::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcDirection>(); } +::Ifc4::IfcDirection* Ifc4::IfcAxis2Placement3D::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcAxis2Placement3D::setAxis(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4::IfcDirection* Ifc4::IfcAxis2Placement3D::RefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcDirection>(); } +::Ifc4::IfcDirection* Ifc4::IfcAxis2Placement3D::RefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcAxis2Placement3D::setRefDirection(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -11529,9 +11709,9 @@ Ifc4::IfcBooleanClippingResult::IfcBooleanClippingResult(::Ifc4::IfcBooleanOpera // Function implementations for IfcBooleanResult ::Ifc4::IfcBooleanOperator::Value Ifc4::IfcBooleanResult::Operator() const { return ::Ifc4::IfcBooleanOperator::FromString(*data_->getArgument(0)); } void Ifc4::IfcBooleanResult::setOperator(::Ifc4::IfcBooleanOperator::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcBooleanOperator::ToString(v)));data_->setArgument(0,attr);} } -::Ifc4::IfcBooleanOperand* Ifc4::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcBooleanOperand>(); } +::Ifc4::IfcBooleanOperand* Ifc4::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcBooleanOperand>(true); } void Ifc4::IfcBooleanResult::setFirstOperand(::Ifc4::IfcBooleanOperand* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4::IfcBooleanOperand* Ifc4::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcBooleanOperand>(); } +::Ifc4::IfcBooleanOperand* Ifc4::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcBooleanOperand>(true); } void Ifc4::IfcBooleanResult::setSecondOperand(::Ifc4::IfcBooleanOperand* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -11559,17 +11739,17 @@ Ifc4::IfcBoundaryCurve::IfcBoundaryCurve(IfcEntityInstanceData* e) : IfcComposit Ifc4::IfcBoundaryCurve::IfcBoundaryCurve(aggregate_of< ::Ifc4::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurveOnSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBoundaryCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Segments)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SelfIntersect));data_->setArgument(1,attr);} } // Function implementations for IfcBoundaryEdgeCondition -::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthX(::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthY(::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthZ(::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -11579,11 +11759,11 @@ Ifc4::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(IfcEntityInstanceData* Ifc4::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std::string > v1_Name, ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect* v2_TranslationalStiffnessByLengthX, ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect* v3_TranslationalStiffnessByLengthY, ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect* v4_TranslationalStiffnessByLengthZ, ::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect* v5_RotationalStiffnessByLengthX, ::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect* v6_RotationalStiffnessByLengthY, ::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect* v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBoundaryEdgeCondition_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TranslationalStiffnessByLengthX));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TranslationalStiffnessByLengthY));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TranslationalStiffnessByLengthZ));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RotationalStiffnessByLengthX));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RotationalStiffnessByLengthY));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RotationalStiffnessByLengthZ));data_->setArgument(6,attr);} } // Function implementations for IfcBoundaryFaceCondition -::Ifc4::IfcModulusOfSubgradeReactionSelect* Ifc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4::IfcModulusOfSubgradeReactionSelect* Ifc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaX(::Ifc4::IfcModulusOfSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4::IfcModulusOfSubgradeReactionSelect* Ifc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4::IfcModulusOfSubgradeReactionSelect* Ifc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaY(::Ifc4::IfcModulusOfSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4::IfcModulusOfSubgradeReactionSelect* Ifc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4::IfcModulusOfSubgradeReactionSelect* Ifc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(::Ifc4::IfcModulusOfSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -11593,17 +11773,17 @@ Ifc4::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(IfcEntityInstanceData* Ifc4::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, ::Ifc4::IfcModulusOfSubgradeReactionSelect* v2_TranslationalStiffnessByAreaX, ::Ifc4::IfcModulusOfSubgradeReactionSelect* v3_TranslationalStiffnessByAreaY, ::Ifc4::IfcModulusOfSubgradeReactionSelect* v4_TranslationalStiffnessByAreaZ) : IfcBoundaryCondition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBoundaryFaceCondition_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TranslationalStiffnessByAreaX));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TranslationalStiffnessByAreaY));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TranslationalStiffnessByAreaZ));data_->setArgument(3,attr);} } // Function implementations for IfcBoundaryNodeCondition -::Ifc4::IfcTranslationalStiffnessSelect* Ifc4::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcTranslationalStiffnessSelect>(); } +::Ifc4::IfcTranslationalStiffnessSelect* Ifc4::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcTranslationalStiffnessSelect>(true); } void Ifc4::IfcBoundaryNodeCondition::setTranslationalStiffnessX(::Ifc4::IfcTranslationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4::IfcTranslationalStiffnessSelect* Ifc4::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcTranslationalStiffnessSelect>(); } +::Ifc4::IfcTranslationalStiffnessSelect* Ifc4::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcTranslationalStiffnessSelect>(true); } void Ifc4::IfcBoundaryNodeCondition::setTranslationalStiffnessY(::Ifc4::IfcTranslationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4::IfcTranslationalStiffnessSelect* Ifc4::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcTranslationalStiffnessSelect>(); } +::Ifc4::IfcTranslationalStiffnessSelect* Ifc4::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcTranslationalStiffnessSelect>(true); } void Ifc4::IfcBoundaryNodeCondition::setTranslationalStiffnessZ(::Ifc4::IfcTranslationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4::IfcRotationalStiffnessSelect* Ifc4::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcRotationalStiffnessSelect>(); } +::Ifc4::IfcRotationalStiffnessSelect* Ifc4::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcRotationalStiffnessSelect>(true); } void Ifc4::IfcBoundaryNodeCondition::setRotationalStiffnessX(::Ifc4::IfcRotationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4::IfcRotationalStiffnessSelect* Ifc4::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcRotationalStiffnessSelect>(); } +::Ifc4::IfcRotationalStiffnessSelect* Ifc4::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcRotationalStiffnessSelect>(true); } void Ifc4::IfcBoundaryNodeCondition::setRotationalStiffnessY(::Ifc4::IfcRotationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4::IfcRotationalStiffnessSelect* Ifc4::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcRotationalStiffnessSelect>(); } +::Ifc4::IfcRotationalStiffnessSelect* Ifc4::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcRotationalStiffnessSelect>(true); } void Ifc4::IfcBoundaryNodeCondition::setRotationalStiffnessZ(::Ifc4::IfcRotationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -11613,7 +11793,7 @@ Ifc4::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(IfcEntityInstanceData* Ifc4::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std::string > v1_Name, ::Ifc4::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ) : IfcBoundaryCondition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBoundaryNodeCondition_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TranslationalStiffnessX));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TranslationalStiffnessY));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TranslationalStiffnessZ));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RotationalStiffnessX));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RotationalStiffnessY));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RotationalStiffnessZ));data_->setArgument(6,attr);} } // Function implementations for IfcBoundaryNodeConditionWarping -::Ifc4::IfcWarpingStiffnessSelect* Ifc4::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcWarpingStiffnessSelect>(); } +::Ifc4::IfcWarpingStiffnessSelect* Ifc4::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcWarpingStiffnessSelect>(true); } void Ifc4::IfcBoundaryNodeConditionWarping::setWarpingStiffness(::Ifc4::IfcWarpingStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -11639,7 +11819,7 @@ Ifc4::IfcBoundedSurface::IfcBoundedSurface(IfcEntityInstanceData* e) : IfcSurfac Ifc4::IfcBoundedSurface::IfcBoundedSurface() : IfcSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBoundedSurface_type); } // Function implementations for IfcBoundingBox -::Ifc4::IfcCartesianPoint* Ifc4::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCartesianPoint>(); } +::Ifc4::IfcCartesianPoint* Ifc4::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCartesianPoint>(true); } void Ifc4::IfcBoundingBox::setCorner(::Ifc4::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4::IfcBoundingBox::XDim() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcBoundingBox::setXDim(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -11655,7 +11835,7 @@ Ifc4::IfcBoundingBox::IfcBoundingBox(IfcEntityInstanceData* e) : IfcGeometricRep Ifc4::IfcBoundingBox::IfcBoundingBox(::Ifc4::IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcBoundingBox_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Corner));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_XDim));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_YDim));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ZDim));data_->setArgument(3,attr);} } // Function implementations for IfcBoxedHalfSpace -::Ifc4::IfcBoundingBox* Ifc4::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcBoundingBox>(); } +::Ifc4::IfcBoundingBox* Ifc4::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcBoundingBox>(true); } void Ifc4::IfcBoxedHalfSpace::setEnclosure(::Ifc4::IfcBoundingBox* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -11669,7 +11849,7 @@ boost::optional< double > Ifc4::IfcBuilding::ElevationOfRefHeight() const { if(! void Ifc4::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } boost::optional< double > Ifc4::IfcBuilding::ElevationOfTerrain() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } void Ifc4::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } -::Ifc4::IfcPostalAddress* Ifc4::IfcBuilding::BuildingAddress() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4::IfcPostalAddress>(); } +::Ifc4::IfcPostalAddress* Ifc4::IfcBuilding::BuildingAddress() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4::IfcPostalAddress>(true); } void Ifc4::IfcBuilding::setBuildingAddress(::Ifc4::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } @@ -11913,11 +12093,11 @@ Ifc4::IfcCartesianPointList3D::IfcCartesianPointList3D(IfcEntityInstanceData* e) Ifc4::IfcCartesianPointList3D::IfcCartesianPointList3D(std::vector< std::vector< double > > v1_CoordList) : IfcCartesianPointList((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCartesianPointList3D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CoordList));data_->setArgument(0,attr);} } // Function implementations for IfcCartesianTransformationOperator -::Ifc4::IfcDirection* Ifc4::IfcCartesianTransformationOperator::Axis1() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcDirection>(); } +::Ifc4::IfcDirection* Ifc4::IfcCartesianTransformationOperator::Axis1() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcCartesianTransformationOperator::setAxis1(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4::IfcDirection* Ifc4::IfcCartesianTransformationOperator::Axis2() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcDirection>(); } +::Ifc4::IfcDirection* Ifc4::IfcCartesianTransformationOperator::Axis2() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcCartesianTransformationOperator::setAxis2(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4::IfcCartesianPoint* Ifc4::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcCartesianPoint>(); } +::Ifc4::IfcCartesianPoint* Ifc4::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcCartesianPoint>(true); } void Ifc4::IfcCartesianTransformationOperator::setLocalOrigin(::Ifc4::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcCartesianTransformationOperator::Scale() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } @@ -11947,7 +12127,7 @@ Ifc4::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformation Ifc4::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(::Ifc4::IfcDirection* v1_Axis1, ::Ifc4::IfcDirection* v2_Axis2, ::Ifc4::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2) : IfcCartesianTransformationOperator2D((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCartesianTransformationOperator2DnonUniform_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Axis1));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Axis2));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_LocalOrigin));data_->setArgument(2,attr);} if (v4_Scale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Scale));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Scale2) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Scale2));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcCartesianTransformationOperator3D -::Ifc4::IfcDirection* Ifc4::IfcCartesianTransformationOperator3D::Axis3() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcDirection>(); } +::Ifc4::IfcDirection* Ifc4::IfcCartesianTransformationOperator3D::Axis3() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcCartesianTransformationOperator3D::setAxis3(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -12089,7 +12269,7 @@ Ifc4::IfcClassification::IfcClassification(IfcEntityInstanceData* e) : IfcExtern Ifc4::IfcClassification::IfcClassification(boost::optional< std::string > v1_Source, boost::optional< std::string > v2_Edition, boost::optional< std::string > v3_EditionDate, std::string v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Location, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcClassification_type); if (v1_Source) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Source));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Edition) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Edition));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EditionDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EditionDate));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Name));data_->setArgument(3,attr);} if (v5_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Description));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Location));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ReferenceTokens) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ReferenceTokens));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcClassificationReference -::Ifc4::IfcClassificationReferenceSelect* Ifc4::IfcClassificationReference::ReferencedSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcClassificationReferenceSelect>(); } +::Ifc4::IfcClassificationReferenceSelect* Ifc4::IfcClassificationReference::ReferencedSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcClassificationReferenceSelect>(true); } void Ifc4::IfcClassificationReference::setReferencedSource(::Ifc4::IfcClassificationReferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcClassificationReference::Description() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcClassificationReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -12265,7 +12445,7 @@ Ifc4::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(aggregate_of< ::Ifc void Ifc4::IfcCompositeCurveSegment::setTransition(::Ifc4::IfcTransitionCode::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcTransitionCode::ToString(v)));data_->setArgument(0,attr);} } bool Ifc4::IfcCompositeCurveSegment::SameSense() const { bool v = *data_->getArgument(1); return v; } void Ifc4::IfcCompositeCurveSegment::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4::IfcCurve* Ifc4::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcCurve>(); } +::Ifc4::IfcCurve* Ifc4::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcCompositeCurveSegment::setParentCurve(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4::IfcCompositeCurve::list::ptr Ifc4::IfcCompositeCurveSegment::UsingCurves() const { return data_->getInverse(IFC4_IfcCompositeCurve_type, 0)->as(); } @@ -12328,7 +12508,7 @@ Ifc4::IfcCondenserType::IfcCondenserType(IfcEntityInstanceData* e) : IfcEnergyCo Ifc4::IfcCondenserType::IfcCondenserType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcCondenserTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCondenserType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcCondenserTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcConic -::Ifc4::IfcAxis2Placement* Ifc4::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcAxis2Placement>(); } +::Ifc4::IfcAxis2Placement* Ifc4::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcAxis2Placement>(true); } void Ifc4::IfcConic::setPosition(::Ifc4::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -12348,9 +12528,9 @@ Ifc4::IfcConnectedFaceSet::IfcConnectedFaceSet(IfcEntityInstanceData* e) : IfcTo Ifc4::IfcConnectedFaceSet::IfcConnectedFaceSet(aggregate_of< ::Ifc4::IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcConnectedFaceSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CfsFaces)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcConnectionCurveGeometry -::Ifc4::IfcCurveOrEdgeCurve* Ifc4::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCurveOrEdgeCurve>(); } +::Ifc4::IfcCurveOrEdgeCurve* Ifc4::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCurveOrEdgeCurve>(true); } void Ifc4::IfcConnectionCurveGeometry::setCurveOnRelatingElement(::Ifc4::IfcCurveOrEdgeCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4::IfcCurveOrEdgeCurve* Ifc4::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcCurveOrEdgeCurve>(); } +::Ifc4::IfcCurveOrEdgeCurve* Ifc4::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcCurveOrEdgeCurve>(true); } void Ifc4::IfcConnectionCurveGeometry::setCurveOnRelatedElement(::Ifc4::IfcCurveOrEdgeCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -12382,9 +12562,9 @@ Ifc4::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcEntityIn Ifc4::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(::Ifc4::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4::IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcConnectionPointEccentricity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_PointOnRelatingElement));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PointOnRelatedElement));data_->setArgument(1,attr);} if (v3_EccentricityInX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EccentricityInX));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_EccentricityInY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_EccentricityInY));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_EccentricityInZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_EccentricityInZ));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcConnectionPointGeometry -::Ifc4::IfcPointOrVertexPoint* Ifc4::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcPointOrVertexPoint>(); } +::Ifc4::IfcPointOrVertexPoint* Ifc4::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcPointOrVertexPoint>(true); } void Ifc4::IfcConnectionPointGeometry::setPointOnRelatingElement(::Ifc4::IfcPointOrVertexPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4::IfcPointOrVertexPoint* Ifc4::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcPointOrVertexPoint>(); } +::Ifc4::IfcPointOrVertexPoint* Ifc4::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcPointOrVertexPoint>(true); } void Ifc4::IfcConnectionPointGeometry::setPointOnRelatedElement(::Ifc4::IfcPointOrVertexPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -12394,9 +12574,9 @@ Ifc4::IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcEntityInstanceDa Ifc4::IfcConnectionPointGeometry::IfcConnectionPointGeometry(::Ifc4::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4::IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcConnectionPointGeometry_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_PointOnRelatingElement));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PointOnRelatedElement));data_->setArgument(1,attr);} } // Function implementations for IfcConnectionSurfaceGeometry -::Ifc4::IfcSurfaceOrFaceSurface* Ifc4::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcSurfaceOrFaceSurface>(); } +::Ifc4::IfcSurfaceOrFaceSurface* Ifc4::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcSurfaceOrFaceSurface>(true); } void Ifc4::IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(::Ifc4::IfcSurfaceOrFaceSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4::IfcSurfaceOrFaceSurface* Ifc4::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcSurfaceOrFaceSurface>(); } +::Ifc4::IfcSurfaceOrFaceSurface* Ifc4::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcSurfaceOrFaceSurface>(true); } void Ifc4::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(::Ifc4::IfcSurfaceOrFaceSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -12406,9 +12586,9 @@ Ifc4::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcEntityInstan Ifc4::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(::Ifc4::IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, ::Ifc4::IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcConnectionSurfaceGeometry_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SurfaceOnRelatingElement));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SurfaceOnRelatedElement));data_->setArgument(1,attr);} } // Function implementations for IfcConnectionVolumeGeometry -::Ifc4::IfcSolidOrShell* Ifc4::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcSolidOrShell>(); } +::Ifc4::IfcSolidOrShell* Ifc4::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcSolidOrShell>(true); } void Ifc4::IfcConnectionVolumeGeometry::setVolumeOnRelatingElement(::Ifc4::IfcSolidOrShell* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4::IfcSolidOrShell* Ifc4::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcSolidOrShell>(); } +::Ifc4::IfcSolidOrShell* Ifc4::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcSolidOrShell>(true); } void Ifc4::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(::Ifc4::IfcSolidOrShell* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -12426,7 +12606,7 @@ void Ifc4::IfcConstraint::setDescription(boost::optional< std::string > v) { {If void Ifc4::IfcConstraint::setConstraintGrade(::Ifc4::IfcConstraintEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcConstraintEnum::ToString(v)));data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4::IfcConstraint::ConstraintSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } -::Ifc4::IfcActorSelect* Ifc4::IfcConstraint::CreatingActor() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcActorSelect>(); } +::Ifc4::IfcActorSelect* Ifc4::IfcConstraint::CreatingActor() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcActorSelect>(true); } void Ifc4::IfcConstraint::setCreatingActor(::Ifc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcConstraint::CreationTime() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcConstraint::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } @@ -12502,11 +12682,11 @@ Ifc4::IfcConstructionProductResourceType::IfcConstructionProductResourceType(Ifc Ifc4::IfcConstructionProductResourceType::IfcConstructionProductResourceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcConstructionProductResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4::IfcConstructionProductResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcConstructionResource -::Ifc4::IfcResourceTime* Ifc4::IfcConstructionResource::Usage() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcResourceTime>(); } +::Ifc4::IfcResourceTime* Ifc4::IfcConstructionResource::Usage() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcResourceTime>(true); } void Ifc4::IfcConstructionResource::setUsage(::Ifc4::IfcResourceTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > Ifc4::IfcConstructionResource::BaseCosts() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4::IfcAppliedValue >(); } void Ifc4::IfcConstructionResource::setBaseCosts(boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } -::Ifc4::IfcPhysicalQuantity* Ifc4::IfcConstructionResource::BaseQuantity() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcPhysicalQuantity>(); } +::Ifc4::IfcPhysicalQuantity* Ifc4::IfcConstructionResource::BaseQuantity() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcPhysicalQuantity>(true); } void Ifc4::IfcConstructionResource::setBaseQuantity(::Ifc4::IfcPhysicalQuantity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -12518,7 +12698,7 @@ Ifc4::IfcConstructionResource::IfcConstructionResource(std::string v1_GlobalId, // Function implementations for IfcConstructionResourceType boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > Ifc4::IfcConstructionResourceType::BaseCosts() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4::IfcAppliedValue >(); } void Ifc4::IfcConstructionResourceType::setBaseCosts(boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(9,attr);} } -::Ifc4::IfcPhysicalQuantity* Ifc4::IfcConstructionResourceType::BaseQuantity() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4::IfcPhysicalQuantity>(); } +::Ifc4::IfcPhysicalQuantity* Ifc4::IfcConstructionResourceType::BaseQuantity() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4::IfcPhysicalQuantity>(true); } void Ifc4::IfcConstructionResourceType::setBaseQuantity(::Ifc4::IfcPhysicalQuantity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -12536,7 +12716,7 @@ boost::optional< std::string > Ifc4::IfcContext::Phase() const { if(!data_->getA void Ifc4::IfcContext::setPhase(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcRepresentationContext >::ptr > Ifc4::IfcContext::RepresentationContexts() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4::IfcRepresentationContext >(); } void Ifc4::IfcContext::setRepresentationContexts(boost::optional< aggregate_of< ::Ifc4::IfcRepresentationContext >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } -::Ifc4::IfcUnitAssignment* Ifc4::IfcContext::UnitsInContext() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcUnitAssignment>(); } +::Ifc4::IfcUnitAssignment* Ifc4::IfcContext::UnitsInContext() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcUnitAssignment>(true); } void Ifc4::IfcContext::setUnitsInContext(::Ifc4::IfcUnitAssignment* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } ::Ifc4::IfcRelDefinesByProperties::list::ptr Ifc4::IfcContext::IsDefinedBy() const { return data_->getInverse(IFC4_IfcRelDefinesByProperties_type, 4)->as(); } @@ -12592,7 +12772,7 @@ Ifc4::IfcControllerType::IfcControllerType(std::string v1_GlobalId, ::Ifc4::IfcO // Function implementations for IfcConversionBasedUnit std::string Ifc4::IfcConversionBasedUnit::Name() const { std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcConversionBasedUnit::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4::IfcMeasureWithUnit* Ifc4::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcMeasureWithUnit>(); } +::Ifc4::IfcMeasureWithUnit* Ifc4::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcMeasureWithUnit>(true); } void Ifc4::IfcConversionBasedUnit::setConversionFactor(::Ifc4::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4::IfcExternalReferenceRelationship::list::ptr Ifc4::IfcConversionBasedUnit::HasExternalReference() const { return data_->getInverse(IFC4_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -12653,9 +12833,9 @@ Ifc4::IfcCoolingTowerType::IfcCoolingTowerType(IfcEntityInstanceData* e) : IfcEn Ifc4::IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCoolingTowerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcCoolingTowerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcCoordinateOperation -::Ifc4::IfcCoordinateReferenceSystemSelect* Ifc4::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCoordinateReferenceSystemSelect>(); } +::Ifc4::IfcCoordinateReferenceSystemSelect* Ifc4::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCoordinateReferenceSystemSelect>(true); } void Ifc4::IfcCoordinateOperation::setSourceCRS(::Ifc4::IfcCoordinateReferenceSystemSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4::IfcCoordinateReferenceSystem* Ifc4::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcCoordinateReferenceSystem>(); } +::Ifc4::IfcCoordinateReferenceSystem* Ifc4::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcCoordinateReferenceSystem>(true); } void Ifc4::IfcCoordinateOperation::setTargetCRS(::Ifc4::IfcCoordinateReferenceSystem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -12762,7 +12942,7 @@ Ifc4::IfcCrewResourceType::IfcCrewResourceType(IfcEntityInstanceData* e) : IfcCo Ifc4::IfcCrewResourceType::IfcCrewResourceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4::IfcCrewResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCrewResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4::IfcCrewResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcCsgPrimitive3D -::Ifc4::IfcAxis2Placement3D* Ifc4::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcAxis2Placement3D>(); } +::Ifc4::IfcAxis2Placement3D* Ifc4::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcAxis2Placement3D>(true); } void Ifc4::IfcCsgPrimitive3D::setPosition(::Ifc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -12772,7 +12952,7 @@ Ifc4::IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcEntityInstanceData* e) : IfcGeomet Ifc4::IfcCsgPrimitive3D::IfcCsgPrimitive3D(::Ifc4::IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCsgPrimitive3D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);} } // Function implementations for IfcCsgSolid -::Ifc4::IfcCsgSelect* Ifc4::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCsgSelect>(); } +::Ifc4::IfcCsgSelect* Ifc4::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCsgSelect>(true); } void Ifc4::IfcCsgSolid::setTreeRootExpression(::Ifc4::IfcCsgSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -12782,15 +12962,15 @@ Ifc4::IfcCsgSolid::IfcCsgSolid(IfcEntityInstanceData* e) : IfcSolidModel((IfcEnt Ifc4::IfcCsgSolid::IfcCsgSolid(::Ifc4::IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCsgSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TreeRootExpression));data_->setArgument(0,attr);} } // Function implementations for IfcCurrencyRelationship -::Ifc4::IfcMonetaryUnit* Ifc4::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcMonetaryUnit>(); } +::Ifc4::IfcMonetaryUnit* Ifc4::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcMonetaryUnit>(true); } void Ifc4::IfcCurrencyRelationship::setRelatingMonetaryUnit(::Ifc4::IfcMonetaryUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4::IfcMonetaryUnit* Ifc4::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcMonetaryUnit>(); } +::Ifc4::IfcMonetaryUnit* Ifc4::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcMonetaryUnit>(true); } void Ifc4::IfcCurrencyRelationship::setRelatedMonetaryUnit(::Ifc4::IfcMonetaryUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } double Ifc4::IfcCurrencyRelationship::ExchangeRate() const { double v = *data_->getArgument(4); return v; } void Ifc4::IfcCurrencyRelationship::setExchangeRate(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcCurrencyRelationship::RateDateTime() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcCurrencyRelationship::setRateDateTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4::IfcLibraryInformation* Ifc4::IfcCurrencyRelationship::RateSource() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcLibraryInformation>(); } +::Ifc4::IfcLibraryInformation* Ifc4::IfcCurrencyRelationship::RateSource() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcLibraryInformation>(true); } void Ifc4::IfcCurrencyRelationship::setRateSource(::Ifc4::IfcLibraryInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -12828,9 +13008,9 @@ Ifc4::IfcCurve::IfcCurve(IfcEntityInstanceData* e) : IfcGeometricRepresentationI Ifc4::IfcCurve::IfcCurve() : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCurve_type); } // Function implementations for IfcCurveBoundedPlane -::Ifc4::IfcPlane* Ifc4::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcPlane>(); } +::Ifc4::IfcPlane* Ifc4::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcPlane>(true); } void Ifc4::IfcCurveBoundedPlane::setBasisSurface(::Ifc4::IfcPlane* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4::IfcCurve* Ifc4::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcCurve>(); } +::Ifc4::IfcCurve* Ifc4::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcCurveBoundedPlane::setOuterBoundary(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } aggregate_of< ::Ifc4::IfcCurve >::ptr Ifc4::IfcCurveBoundedPlane::InnerBoundaries() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcCurve >(); } void Ifc4::IfcCurveBoundedPlane::setInnerBoundaries(aggregate_of< ::Ifc4::IfcCurve >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } @@ -12842,7 +13022,7 @@ Ifc4::IfcCurveBoundedPlane::IfcCurveBoundedPlane(IfcEntityInstanceData* e) : Ifc Ifc4::IfcCurveBoundedPlane::IfcCurveBoundedPlane(::Ifc4::IfcPlane* v1_BasisSurface, ::Ifc4::IfcCurve* v2_OuterBoundary, aggregate_of< ::Ifc4::IfcCurve >::ptr v3_InnerBoundaries) : IfcBoundedSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCurveBoundedPlane_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisSurface));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OuterBoundary));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_InnerBoundaries)->generalize());data_->setArgument(2,attr);} } // Function implementations for IfcCurveBoundedSurface -::Ifc4::IfcSurface* Ifc4::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcSurface>(); } +::Ifc4::IfcSurface* Ifc4::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcSurface>(true); } void Ifc4::IfcCurveBoundedSurface::setBasisSurface(::Ifc4::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4::IfcBoundaryCurve >::ptr Ifc4::IfcCurveBoundedSurface::Boundaries() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4::IfcBoundaryCurve >(); } void Ifc4::IfcCurveBoundedSurface::setBoundaries(aggregate_of< ::Ifc4::IfcBoundaryCurve >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -12856,11 +13036,11 @@ Ifc4::IfcCurveBoundedSurface::IfcCurveBoundedSurface(IfcEntityInstanceData* e) : Ifc4::IfcCurveBoundedSurface::IfcCurveBoundedSurface(::Ifc4::IfcSurface* v1_BasisSurface, aggregate_of< ::Ifc4::IfcBoundaryCurve >::ptr v2_Boundaries, bool v3_ImplicitOuter) : IfcBoundedSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcCurveBoundedSurface_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisSurface));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Boundaries)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ImplicitOuter));data_->setArgument(2,attr);} } // Function implementations for IfcCurveStyle -::Ifc4::IfcCurveFontOrScaledCurveFontSelect* Ifc4::IfcCurveStyle::CurveFont() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcCurveFontOrScaledCurveFontSelect>(); } +::Ifc4::IfcCurveFontOrScaledCurveFontSelect* Ifc4::IfcCurveStyle::CurveFont() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcCurveFontOrScaledCurveFontSelect>(true); } void Ifc4::IfcCurveStyle::setCurveFont(::Ifc4::IfcCurveFontOrScaledCurveFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4::IfcSizeSelect* Ifc4::IfcCurveStyle::CurveWidth() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcSizeSelect>(); } +::Ifc4::IfcSizeSelect* Ifc4::IfcCurveStyle::CurveWidth() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcSizeSelect>(true); } void Ifc4::IfcCurveStyle::setCurveWidth(::Ifc4::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4::IfcColour* Ifc4::IfcCurveStyle::CurveColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcColour>(); } +::Ifc4::IfcColour* Ifc4::IfcCurveStyle::CurveColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcColour>(true); } void Ifc4::IfcCurveStyle::setCurveColour(::Ifc4::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< bool > Ifc4::IfcCurveStyle::ModelOrDraughting() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } bool v = *data_->getArgument(4); return v; } void Ifc4::IfcCurveStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -12886,7 +13066,7 @@ Ifc4::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_Nam // Function implementations for IfcCurveStyleFontAndScaling boost::optional< std::string > Ifc4::IfcCurveStyleFontAndScaling::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } -::Ifc4::IfcCurveStyleFontSelect* Ifc4::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcCurveStyleFontSelect>(); } +::Ifc4::IfcCurveStyleFontSelect* Ifc4::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcCurveStyleFontSelect>(true); } void Ifc4::IfcCurveStyleFontAndScaling::setCurveFont(::Ifc4::IfcCurveStyleFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } double Ifc4::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = *data_->getArgument(2); return v; } void Ifc4::IfcCurveStyleFontAndScaling::setCurveFontScaling(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -12940,9 +13120,9 @@ Ifc4::IfcDamperType::IfcDamperType(IfcEntityInstanceData* e) : IfcFlowController Ifc4::IfcDamperType::IfcDamperType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcDamperTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDamperType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcDamperTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcDerivedProfileDef -::Ifc4::IfcProfileDef* Ifc4::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcProfileDef>(); } +::Ifc4::IfcProfileDef* Ifc4::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcProfileDef>(true); } void Ifc4::IfcDerivedProfileDef::setParentProfile(::Ifc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4::IfcCartesianTransformationOperator2D* Ifc4::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcCartesianTransformationOperator2D>(); } +::Ifc4::IfcCartesianTransformationOperator2D* Ifc4::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcCartesianTransformationOperator2D>(true); } void Ifc4::IfcDerivedProfileDef::setOperator(::Ifc4::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcDerivedProfileDef::Label() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -12968,7 +13148,7 @@ Ifc4::IfcDerivedUnit::IfcDerivedUnit(IfcEntityInstanceData* e) : IfcUtil::IfcBas Ifc4::IfcDerivedUnit::IfcDerivedUnit(aggregate_of< ::Ifc4::IfcDerivedUnitElement >::ptr v1_Elements, ::Ifc4::IfcDerivedUnitEnum::Value v2_UnitType, boost::optional< std::string > v3_UserDefinedType) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcDerivedUnit_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_UnitType,::Ifc4::IfcDerivedUnitEnum::ToString(v2_UnitType))));data_->setArgument(1,attr);} if (v3_UserDefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UserDefinedType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcDerivedUnitElement -::Ifc4::IfcNamedUnit* Ifc4::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcNamedUnit>(); } +::Ifc4::IfcNamedUnit* Ifc4::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcNamedUnit>(true); } void Ifc4::IfcDerivedUnitElement::setUnit(::Ifc4::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } int Ifc4::IfcDerivedUnitElement::Exponent() const { int v = *data_->getArgument(1); return v; } void Ifc4::IfcDerivedUnitElement::setExponent(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13153,7 +13333,7 @@ boost::optional< std::string > Ifc4::IfcDocumentInformation::Scope() const { if( void Ifc4::IfcDocumentInformation::setScope(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4::IfcDocumentInformation::Revision() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } void Ifc4::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } -::Ifc4::IfcActorSelect* Ifc4::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcActorSelect>(); } +::Ifc4::IfcActorSelect* Ifc4::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcActorSelect>(true); } void Ifc4::IfcDocumentInformation::setDocumentOwner(::Ifc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(9); return v; } void Ifc4::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } @@ -13183,7 +13363,7 @@ Ifc4::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData* e) : Ifc4::IfcDocumentInformation::IfcDocumentInformation(std::string v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_Location, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, ::Ifc4::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of_instance::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< ::Ifc4::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcDocumentInformationRelationship -::Ifc4::IfcDocumentInformation* Ifc4::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcDocumentInformation>(); } +::Ifc4::IfcDocumentInformation* Ifc4::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcDocumentInformation>(true); } void Ifc4::IfcDocumentInformationRelationship::setRelatingDocument(::Ifc4::IfcDocumentInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4::IfcDocumentInformation >::ptr Ifc4::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4::IfcDocumentInformation >(); } void Ifc4::IfcDocumentInformationRelationship::setRelatedDocuments(aggregate_of< ::Ifc4::IfcDocumentInformation >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -13199,7 +13379,7 @@ Ifc4::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(boo // Function implementations for IfcDocumentReference boost::optional< std::string > Ifc4::IfcDocumentReference::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4::IfcDocumentReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } -::Ifc4::IfcDocumentInformation* Ifc4::IfcDocumentReference::ReferencedDocument() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcDocumentInformation>(); } +::Ifc4::IfcDocumentInformation* Ifc4::IfcDocumentReference::ReferencedDocument() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcDocumentInformation>(true); } void Ifc4::IfcDocumentReference::setReferencedDocument(::Ifc4::IfcDocumentInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4::IfcRelAssociatesDocument::list::ptr Ifc4::IfcDocumentReference::DocumentRefForObjects() const { return data_->getInverse(IFC4_IfcRelAssociatesDocument_type, 5)->as(); } @@ -13248,7 +13428,7 @@ boost::optional< double > Ifc4::IfcDoorLiningProperties::CasingThickness() const void Ifc4::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } boost::optional< double > Ifc4::IfcDoorLiningProperties::CasingDepth() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } void Ifc4::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } -::Ifc4::IfcShapeAspect* Ifc4::IfcDoorLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(14)))->as<::Ifc4::IfcShapeAspect>(); } +::Ifc4::IfcShapeAspect* Ifc4::IfcDoorLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(14)))->as<::Ifc4::IfcShapeAspect>(true); } void Ifc4::IfcDoorLiningProperties::setShapeAspectStyle(::Ifc4::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(14,attr);} } boost::optional< double > Ifc4::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } void Ifc4::IfcDoorLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } @@ -13270,7 +13450,7 @@ boost::optional< double > Ifc4::IfcDoorPanelProperties::PanelWidth() const { if( void Ifc4::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } ::Ifc4::IfcDoorPanelPositionEnum::Value Ifc4::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4::IfcDoorPanelPositionEnum::FromString(*data_->getArgument(7)); } void Ifc4::IfcDoorPanelProperties::setPanelPosition(::Ifc4::IfcDoorPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcDoorPanelPositionEnum::ToString(v)));data_->setArgument(7,attr);} } -::Ifc4::IfcShapeAspect* Ifc4::IfcDoorPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcShapeAspect>(); } +::Ifc4::IfcShapeAspect* Ifc4::IfcDoorPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcShapeAspect>(true); } void Ifc4::IfcDoorPanelProperties::setShapeAspectStyle(::Ifc4::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -13396,9 +13576,9 @@ Ifc4::IfcDuctSilencerType::IfcDuctSilencerType(IfcEntityInstanceData* e) : IfcFl Ifc4::IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcDuctSilencerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcDuctSilencerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcEdge -::Ifc4::IfcVertex* Ifc4::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcVertex>(); } +::Ifc4::IfcVertex* Ifc4::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcVertex>(true); } void Ifc4::IfcEdge::setEdgeStart(::Ifc4::IfcVertex* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4::IfcVertex* Ifc4::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcVertex>(); } +::Ifc4::IfcVertex* Ifc4::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcVertex>(true); } void Ifc4::IfcEdge::setEdgeEnd(::Ifc4::IfcVertex* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13408,7 +13588,7 @@ Ifc4::IfcEdge::IfcEdge(IfcEntityInstanceData* e) : IfcTopologicalRepresentationI Ifc4::IfcEdge::IfcEdge(::Ifc4::IfcVertex* v1_EdgeStart, ::Ifc4::IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcEdge_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_EdgeStart));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EdgeEnd));data_->setArgument(1,attr);} } // Function implementations for IfcEdgeCurve -::Ifc4::IfcCurve* Ifc4::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcCurve>(); } +::Ifc4::IfcCurve* Ifc4::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcEdgeCurve::setEdgeGeometry(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } bool Ifc4::IfcEdgeCurve::SameSense() const { bool v = *data_->getArgument(3); return v; } void Ifc4::IfcEdgeCurve::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -13632,7 +13812,7 @@ Ifc4::IfcElementType::IfcElementType(IfcEntityInstanceData* e) : IfcTypeProduct( Ifc4::IfcElementType::IfcElementType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcElementarySurface -::Ifc4::IfcAxis2Placement3D* Ifc4::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcAxis2Placement3D>(); } +::Ifc4::IfcAxis2Placement3D* Ifc4::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcAxis2Placement3D>(true); } void Ifc4::IfcElementarySurface::setPosition(::Ifc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -13748,7 +13928,7 @@ boost::optional< ::Ifc4::IfcEventTriggerTypeEnum::Value > Ifc4::IfcEvent::EventT void Ifc4::IfcEvent::setEventTriggerType(boost::optional< ::Ifc4::IfcEventTriggerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcEventTriggerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4::IfcEvent::UserDefinedEventTriggerType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } void Ifc4::IfcEvent::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } -::Ifc4::IfcEventTime* Ifc4::IfcEvent::EventOccurenceTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4::IfcEventTime>(); } +::Ifc4::IfcEventTime* Ifc4::IfcEvent::EventOccurenceTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4::IfcEventTime>(true); } void Ifc4::IfcEvent::setEventOccurenceTime(::Ifc4::IfcEventTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -13825,7 +14005,7 @@ Ifc4::IfcExternalReference::IfcExternalReference(IfcEntityInstanceData* e) : Ifc Ifc4::IfcExternalReference::IfcExternalReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcExternalReference_type); if (v1_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Location));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Identification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcExternalReferenceRelationship -::Ifc4::IfcExternalReference* Ifc4::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcExternalReference>(); } +::Ifc4::IfcExternalReference* Ifc4::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcExternalReference>(true); } void Ifc4::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4::IfcExternalReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of_instance::ptr Ifc4::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } void Ifc4::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -13880,7 +14060,7 @@ Ifc4::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(IfcEntityInstan Ifc4::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcExternallyDefinedTextFont_type); if (v1_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Location));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Identification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcExtrudedAreaSolid -::Ifc4::IfcDirection* Ifc4::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcDirection>(); } +::Ifc4::IfcDirection* Ifc4::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcExtrudedAreaSolid::setExtrudedDirection(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc4::IfcExtrudedAreaSolid::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcExtrudedAreaSolid::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -13892,7 +14072,7 @@ Ifc4::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcEntityInstanceData* e) : Ifc Ifc4::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(::Ifc4::IfcProfileDef* v1_SweptArea, ::Ifc4::IfcAxis2Placement3D* v2_Position, ::Ifc4::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcExtrudedAreaSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ExtrudedDirection));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);} } // Function implementations for IfcExtrudedAreaSolidTapered -::Ifc4::IfcProfileDef* Ifc4::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcProfileDef>(); } +::Ifc4::IfcProfileDef* Ifc4::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcProfileDef>(true); } void Ifc4::IfcExtrudedAreaSolidTapered::setEndSweptArea(::Ifc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -13923,7 +14103,7 @@ Ifc4::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(IfcEntityInstanceData* Ifc4::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(aggregate_of< ::Ifc4::IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFaceBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_FbsmFaces)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcFaceBound -::Ifc4::IfcLoop* Ifc4::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcLoop>(); } +::Ifc4::IfcLoop* Ifc4::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcLoop>(true); } void Ifc4::IfcFaceBound::setBound(::Ifc4::IfcLoop* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } bool Ifc4::IfcFaceBound::Orientation() const { bool v = *data_->getArgument(1); return v; } void Ifc4::IfcFaceBound::setOrientation(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13943,7 +14123,7 @@ Ifc4::IfcFaceOuterBound::IfcFaceOuterBound(IfcEntityInstanceData* e) : IfcFaceBo Ifc4::IfcFaceOuterBound::IfcFaceOuterBound(::Ifc4::IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFaceOuterBound_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Bound));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Orientation));data_->setArgument(1,attr);} } // Function implementations for IfcFaceSurface -::Ifc4::IfcSurface* Ifc4::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcSurface>(); } +::Ifc4::IfcSurface* Ifc4::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcSurface>(true); } void Ifc4::IfcFaceSurface::setFaceSurface(::Ifc4::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } bool Ifc4::IfcFaceSurface::SameSense() const { bool v = *data_->getArgument(2); return v; } void Ifc4::IfcFaceSurface::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -14071,13 +14251,13 @@ Ifc4::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData* e) : IfcPresenta Ifc4::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of_instance::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelorDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelorDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcFillAreaStyleHatching -::Ifc4::IfcCurveStyle* Ifc4::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCurveStyle>(); } +::Ifc4::IfcCurveStyle* Ifc4::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCurveStyle>(true); } void Ifc4::IfcFillAreaStyleHatching::setHatchLineAppearance(::Ifc4::IfcCurveStyle* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4::IfcHatchLineDistanceSelect* Ifc4::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcHatchLineDistanceSelect>(); } +::Ifc4::IfcHatchLineDistanceSelect* Ifc4::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcHatchLineDistanceSelect>(true); } void Ifc4::IfcFillAreaStyleHatching::setStartOfNextHatchLine(::Ifc4::IfcHatchLineDistanceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4::IfcCartesianPoint* Ifc4::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcCartesianPoint>(); } +::Ifc4::IfcCartesianPoint* Ifc4::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcCartesianPoint>(true); } void Ifc4::IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(::Ifc4::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4::IfcCartesianPoint* Ifc4::IfcFillAreaStyleHatching::PatternStart() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcCartesianPoint>(); } +::Ifc4::IfcCartesianPoint* Ifc4::IfcFillAreaStyleHatching::PatternStart() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcCartesianPoint>(true); } void Ifc4::IfcFillAreaStyleHatching::setPatternStart(::Ifc4::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } double Ifc4::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = *data_->getArgument(4); return v; } void Ifc4::IfcFillAreaStyleHatching::setHatchLineAngle(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -14143,13 +14323,13 @@ Ifc4::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(IfcEntityIn Ifc4::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcFireSuppressionTerminalType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcFireSuppressionTerminalTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcFixedReferenceSweptAreaSolid -::Ifc4::IfcCurve* Ifc4::IfcFixedReferenceSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcCurve>(); } +::Ifc4::IfcCurve* Ifc4::IfcFixedReferenceSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcFixedReferenceSweptAreaSolid::setDirectrix(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcFixedReferenceSweptAreaSolid::StartParam() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4::IfcFixedReferenceSweptAreaSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } boost::optional< double > Ifc4::IfcFixedReferenceSweptAreaSolid::EndParam() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } void Ifc4::IfcFixedReferenceSweptAreaSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc4::IfcDirection* Ifc4::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcDirection>(); } +::Ifc4::IfcDirection* Ifc4::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcFixedReferenceSweptAreaSolid::setFixedReference(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -14401,9 +14581,9 @@ int Ifc4::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { void Ifc4::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcGeometricRepresentationContext::Precision() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } -::Ifc4::IfcAxis2Placement* Ifc4::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcAxis2Placement>(); } +::Ifc4::IfcAxis2Placement* Ifc4::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcAxis2Placement>(true); } void Ifc4::IfcGeometricRepresentationContext::setWorldCoordinateSystem(::Ifc4::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4::IfcDirection* Ifc4::IfcGeometricRepresentationContext::TrueNorth() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcDirection>(); } +::Ifc4::IfcDirection* Ifc4::IfcGeometricRepresentationContext::TrueNorth() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcGeometricRepresentationContext::setTrueNorth(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4::IfcGeometricRepresentationSubContext::list::ptr Ifc4::IfcGeometricRepresentationContext::HasSubContexts() const { return data_->getInverse(IFC4_IfcGeometricRepresentationSubContext_type, 6)->as(); } @@ -14423,7 +14603,7 @@ Ifc4::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem(IfcEntityIn Ifc4::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcGeometricRepresentationItem_type); } // Function implementations for IfcGeometricRepresentationSubContext -::Ifc4::IfcGeometricRepresentationContext* Ifc4::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcGeometricRepresentationContext>(); } +::Ifc4::IfcGeometricRepresentationContext* Ifc4::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcGeometricRepresentationContext>(true); } void Ifc4::IfcGeometricRepresentationSubContext::setParentContext(::Ifc4::IfcGeometricRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4::IfcGeometricRepresentationSubContext::TargetScale() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } @@ -14468,7 +14648,7 @@ Ifc4::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_Owne // Function implementations for IfcGridAxis boost::optional< std::string > Ifc4::IfcGridAxis::AxisTag() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } -::Ifc4::IfcCurve* Ifc4::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcCurve>(); } +::Ifc4::IfcCurve* Ifc4::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcGridAxis::setAxisCurve(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } bool Ifc4::IfcGridAxis::SameSense() const { bool v = *data_->getArgument(2); return v; } void Ifc4::IfcGridAxis::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -14484,9 +14664,9 @@ Ifc4::IfcGridAxis::IfcGridAxis(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntit Ifc4::IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, ::Ifc4::IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcGridAxis_type); if (v1_AxisTag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_AxisTag));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_AxisCurve));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SameSense));data_->setArgument(2,attr);} } // Function implementations for IfcGridPlacement -::Ifc4::IfcVirtualGridIntersection* Ifc4::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcVirtualGridIntersection>(); } +::Ifc4::IfcVirtualGridIntersection* Ifc4::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcVirtualGridIntersection>(true); } void Ifc4::IfcGridPlacement::setPlacementLocation(::Ifc4::IfcVirtualGridIntersection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4::IfcGridPlacementDirectionSelect* Ifc4::IfcGridPlacement::PlacementRefDirection() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcGridPlacementDirectionSelect>(); } +::Ifc4::IfcGridPlacementDirectionSelect* Ifc4::IfcGridPlacement::PlacementRefDirection() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcGridPlacementDirectionSelect>(true); } void Ifc4::IfcGridPlacement::setPlacementRefDirection(::Ifc4::IfcGridPlacementDirectionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -14505,7 +14685,7 @@ Ifc4::IfcGroup::IfcGroup(IfcEntityInstanceData* e) : IfcObject((IfcEntityInstanc Ifc4::IfcGroup::IfcGroup(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcGroup_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcHalfSpaceSolid -::Ifc4::IfcSurface* Ifc4::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcSurface>(); } +::Ifc4::IfcSurface* Ifc4::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcSurface>(true); } void Ifc4::IfcHalfSpaceSolid::setBaseSurface(::Ifc4::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } bool Ifc4::IfcHalfSpaceSolid::AgreementFlag() const { bool v = *data_->getArgument(1); return v; } void Ifc4::IfcHalfSpaceSolid::setAgreementFlag(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -14589,11 +14769,11 @@ Ifc4::IfcImageTexture::IfcImageTexture(IfcEntityInstanceData* e) : IfcSurfaceTex Ifc4::IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) : IfcSurfaceTexture((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcImageTexture_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_RepeatS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RepeatT));data_->setArgument(1,attr);} if (v3_Mode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Mode));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TextureTransform));data_->setArgument(3,attr);} if (v5_Parameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Parameter));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_URLReference));data_->setArgument(5,attr);} } // Function implementations for IfcIndexedColourMap -::Ifc4::IfcTessellatedFaceSet* Ifc4::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcTessellatedFaceSet>(); } +::Ifc4::IfcTessellatedFaceSet* Ifc4::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcTessellatedFaceSet>(true); } void Ifc4::IfcIndexedColourMap::setMappedTo(::Ifc4::IfcTessellatedFaceSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4::IfcIndexedColourMap::Opacity() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } void Ifc4::IfcIndexedColourMap::setOpacity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4::IfcColourRgbList* Ifc4::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcColourRgbList>(); } +::Ifc4::IfcColourRgbList* Ifc4::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcColourRgbList>(true); } void Ifc4::IfcIndexedColourMap::setColours(::Ifc4::IfcColourRgbList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } std::vector< int > /*[1:?]*/ Ifc4::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } void Ifc4::IfcIndexedColourMap::setColourIndex(std::vector< int > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -14605,7 +14785,7 @@ Ifc4::IfcIndexedColourMap::IfcIndexedColourMap(IfcEntityInstanceData* e) : IfcPr Ifc4::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4::IfcTessellatedFaceSet* v1_MappedTo, boost::optional< double > v2_Opacity, ::Ifc4::IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcIndexedColourMap_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MappedTo));data_->setArgument(0,attr);} if (v2_Opacity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Opacity));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Colours));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ColourIndex));data_->setArgument(3,attr);} } // Function implementations for IfcIndexedPolyCurve -::Ifc4::IfcCartesianPointList* Ifc4::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCartesianPointList>(); } +::Ifc4::IfcCartesianPointList* Ifc4::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCartesianPointList>(true); } void Ifc4::IfcIndexedPolyCurve::setPoints(::Ifc4::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } @@ -14640,9 +14820,9 @@ Ifc4::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(IfcEnti Ifc4::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) : IfcIndexedPolygonalFace((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcIndexedPolygonalFaceWithVoids_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CoordIndex));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_InnerCoordIndices));data_->setArgument(1,attr);} } // Function implementations for IfcIndexedTextureMap -::Ifc4::IfcTessellatedFaceSet* Ifc4::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcTessellatedFaceSet>(); } +::Ifc4::IfcTessellatedFaceSet* Ifc4::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcTessellatedFaceSet>(true); } void Ifc4::IfcIndexedTextureMap::setMappedTo(::Ifc4::IfcTessellatedFaceSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4::IfcTextureVertexList* Ifc4::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcTextureVertexList>(); } +::Ifc4::IfcTextureVertexList* Ifc4::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcTextureVertexList>(true); } void Ifc4::IfcIndexedTextureMap::setTexCoords(::Ifc4::IfcTextureVertexList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -14692,15 +14872,15 @@ Ifc4::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4::IfcCurve* v1_Curve3D, a // Function implementations for IfcInventory boost::optional< ::Ifc4::IfcInventoryTypeEnum::Value > Ifc4::IfcInventory::PredefinedType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4::IfcInventoryTypeEnum::FromString(*data_->getArgument(5)); } void Ifc4::IfcInventory::setPredefinedType(boost::optional< ::Ifc4::IfcInventoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcInventoryTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } -::Ifc4::IfcActorSelect* Ifc4::IfcInventory::Jurisdiction() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcActorSelect>(); } +::Ifc4::IfcActorSelect* Ifc4::IfcInventory::Jurisdiction() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcActorSelect>(true); } void Ifc4::IfcInventory::setJurisdiction(::Ifc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcPerson >::ptr > Ifc4::IfcInventory::ResponsiblePersons() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4::IfcPerson >(); } void Ifc4::IfcInventory::setResponsiblePersons(boost::optional< aggregate_of< ::Ifc4::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4::IfcInventory::LastUpdateDate() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc4::IfcInventory::setLastUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } -::Ifc4::IfcCostValue* Ifc4::IfcInventory::CurrentValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcCostValue>(); } +::Ifc4::IfcCostValue* Ifc4::IfcInventory::CurrentValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcCostValue>(true); } void Ifc4::IfcInventory::setCurrentValue(::Ifc4::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -::Ifc4::IfcCostValue* Ifc4::IfcInventory::OriginalValue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4::IfcCostValue>(); } +::Ifc4::IfcCostValue* Ifc4::IfcInventory::OriginalValue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4::IfcCostValue>(true); } void Ifc4::IfcInventory::setOriginalValue(::Ifc4::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -14792,7 +14972,7 @@ Ifc4::IfcLaborResourceType::IfcLaborResourceType(IfcEntityInstanceData* e) : Ifc Ifc4::IfcLaborResourceType::IfcLaborResourceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4::IfcLaborResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcLaborResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4::IfcLaborResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcLagTime -::Ifc4::IfcTimeOrRatioSelect* Ifc4::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcTimeOrRatioSelect>(); } +::Ifc4::IfcTimeOrRatioSelect* Ifc4::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcTimeOrRatioSelect>(true); } void Ifc4::IfcLagTime::setLagValue(::Ifc4::IfcTimeOrRatioSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4::IfcTaskDurationEnum::Value Ifc4::IfcLagTime::DurationType() const { return ::Ifc4::IfcTaskDurationEnum::FromString(*data_->getArgument(4)); } void Ifc4::IfcLagTime::setDurationType(::Ifc4::IfcTaskDurationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcTaskDurationEnum::ToString(v)));data_->setArgument(4,attr);} } @@ -14828,7 +15008,7 @@ std::string Ifc4::IfcLibraryInformation::Name() const { std::string v = *data_- void Ifc4::IfcLibraryInformation::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcLibraryInformation::Version() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4::IfcActorSelect* Ifc4::IfcLibraryInformation::Publisher() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcActorSelect>(); } +::Ifc4::IfcActorSelect* Ifc4::IfcLibraryInformation::Publisher() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcActorSelect>(true); } void Ifc4::IfcLibraryInformation::setPublisher(::Ifc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4::IfcLibraryInformation::VersionDate() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4::IfcLibraryInformation::setVersionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } @@ -14850,7 +15030,7 @@ boost::optional< std::string > Ifc4::IfcLibraryReference::Description() const { void Ifc4::IfcLibraryReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcLibraryReference::Language() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcLibraryReference::setLanguage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc4::IfcLibraryInformation* Ifc4::IfcLibraryReference::ReferencedLibrary() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcLibraryInformation>(); } +::Ifc4::IfcLibraryInformation* Ifc4::IfcLibraryReference::ReferencedLibrary() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcLibraryInformation>(true); } void Ifc4::IfcLibraryReference::setReferencedLibrary(::Ifc4::IfcLibraryInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4::IfcRelAssociatesLibrary::list::ptr Ifc4::IfcLibraryReference::LibraryRefForObjects() const { return data_->getInverse(IFC4_IfcRelAssociatesLibrary_type, 5)->as(); } @@ -14909,7 +15089,7 @@ Ifc4::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4::IfcLi // Function implementations for IfcLightSource boost::optional< std::string > Ifc4::IfcLightSource::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcLightSource::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } -::Ifc4::IfcColourRgb* Ifc4::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcColourRgb>(); } +::Ifc4::IfcColourRgb* Ifc4::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcColourRgb>(true); } void Ifc4::IfcLightSource::setLightColour(::Ifc4::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4::IfcLightSource::AmbientIntensity() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } void Ifc4::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } @@ -14931,7 +15111,7 @@ Ifc4::IfcLightSourceAmbient::IfcLightSourceAmbient(IfcEntityInstanceData* e) : I Ifc4::IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcLightSource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcLightSourceAmbient_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcLightSourceDirectional -::Ifc4::IfcDirection* Ifc4::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcDirection>(); } +::Ifc4::IfcDirection* Ifc4::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcLightSourceDirectional::setOrientation(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -14941,9 +15121,9 @@ Ifc4::IfcLightSourceDirectional::IfcLightSourceDirectional(IfcEntityInstanceData Ifc4::IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4::IfcDirection* v5_Orientation) : IfcLightSource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcLightSourceDirectional_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Orientation));data_->setArgument(4,attr);} } // Function implementations for IfcLightSourceGoniometric -::Ifc4::IfcAxis2Placement3D* Ifc4::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcAxis2Placement3D>(); } +::Ifc4::IfcAxis2Placement3D* Ifc4::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcAxis2Placement3D>(true); } void Ifc4::IfcLightSourceGoniometric::setPosition(::Ifc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4::IfcColourRgb* Ifc4::IfcLightSourceGoniometric::ColourAppearance() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcColourRgb>(); } +::Ifc4::IfcColourRgb* Ifc4::IfcLightSourceGoniometric::ColourAppearance() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcColourRgb>(true); } void Ifc4::IfcLightSourceGoniometric::setColourAppearance(::Ifc4::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } double Ifc4::IfcLightSourceGoniometric::ColourTemperature() const { double v = *data_->getArgument(6); return v; } void Ifc4::IfcLightSourceGoniometric::setColourTemperature(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -14951,7 +15131,7 @@ double Ifc4::IfcLightSourceGoniometric::LuminousFlux() const { double v = *data void Ifc4::IfcLightSourceGoniometric::setLuminousFlux(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4::IfcLightEmissionSourceEnum::Value Ifc4::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4::IfcLightEmissionSourceEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcLightSourceGoniometric::setLightEmissionSource(::Ifc4::IfcLightEmissionSourceEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcLightEmissionSourceEnum::ToString(v)));data_->setArgument(8,attr);} } -::Ifc4::IfcLightDistributionDataSourceSelect* Ifc4::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcLightDistributionDataSourceSelect>(); } +::Ifc4::IfcLightDistributionDataSourceSelect* Ifc4::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcLightDistributionDataSourceSelect>(true); } void Ifc4::IfcLightSourceGoniometric::setLightDistributionDataSource(::Ifc4::IfcLightDistributionDataSourceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -14961,7 +15141,7 @@ Ifc4::IfcLightSourceGoniometric::IfcLightSourceGoniometric(IfcEntityInstanceData Ifc4::IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4::IfcAxis2Placement3D* v5_Position, ::Ifc4::IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4::IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcLightSourceGoniometric_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Position));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ColourAppearance));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ColourTemperature));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LuminousFlux));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_LightEmissionSource,::Ifc4::IfcLightEmissionSourceEnum::ToString(v9_LightEmissionSource))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_LightDistributionDataSource));data_->setArgument(9,attr);} } // Function implementations for IfcLightSourcePositional -::Ifc4::IfcCartesianPoint* Ifc4::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcCartesianPoint>(); } +::Ifc4::IfcCartesianPoint* Ifc4::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcCartesianPoint>(true); } void Ifc4::IfcLightSourcePositional::setPosition(::Ifc4::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } double Ifc4::IfcLightSourcePositional::Radius() const { double v = *data_->getArgument(5); return v; } void Ifc4::IfcLightSourcePositional::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -14979,7 +15159,7 @@ Ifc4::IfcLightSourcePositional::IfcLightSourcePositional(IfcEntityInstanceData* Ifc4::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) : IfcLightSource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcLightSourcePositional_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Position));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Radius));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConstantAttenuation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_DistanceAttenuation));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_QuadricAttenuation));data_->setArgument(8,attr);} } // Function implementations for IfcLightSourceSpot -::Ifc4::IfcDirection* Ifc4::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcDirection>(); } +::Ifc4::IfcDirection* Ifc4::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcLightSourceSpot::setOrientation(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< double > Ifc4::IfcLightSourceSpot::ConcentrationExponent() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } void Ifc4::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } @@ -14995,9 +15175,9 @@ Ifc4::IfcLightSourceSpot::IfcLightSourceSpot(IfcEntityInstanceData* e) : IfcLigh Ifc4::IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4::IfcDirection* v10_Orientation, boost::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) : IfcLightSourcePositional((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcLightSourceSpot_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Position));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Radius));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConstantAttenuation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_DistanceAttenuation));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_QuadricAttenuation));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_Orientation));data_->setArgument(9,attr);} if (v11_ConcentrationExponent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_ConcentrationExponent));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_SpreadAngle));data_->setArgument(11,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v13_BeamWidthAngle));data_->setArgument(12,attr);} } // Function implementations for IfcLine -::Ifc4::IfcCartesianPoint* Ifc4::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCartesianPoint>(); } +::Ifc4::IfcCartesianPoint* Ifc4::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCartesianPoint>(true); } void Ifc4::IfcLine::setPnt(::Ifc4::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4::IfcVector* Ifc4::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcVector>(); } +::Ifc4::IfcVector* Ifc4::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcVector>(true); } void Ifc4::IfcLine::setDir(::Ifc4::IfcVector* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15007,9 +15187,9 @@ Ifc4::IfcLine::IfcLine(IfcEntityInstanceData* e) : IfcCurve((IfcEntityInstanceDa Ifc4::IfcLine::IfcLine(::Ifc4::IfcCartesianPoint* v1_Pnt, ::Ifc4::IfcVector* v2_Dir) : IfcCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcLine_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Pnt));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Dir));data_->setArgument(1,attr);} } // Function implementations for IfcLocalPlacement -::Ifc4::IfcObjectPlacement* Ifc4::IfcLocalPlacement::PlacementRelTo() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcObjectPlacement>(); } +::Ifc4::IfcObjectPlacement* Ifc4::IfcLocalPlacement::PlacementRelTo() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcObjectPlacement>(true); } void Ifc4::IfcLocalPlacement::setPlacementRelTo(::Ifc4::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4::IfcAxis2Placement* Ifc4::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcAxis2Placement>(); } +::Ifc4::IfcAxis2Placement* Ifc4::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcAxis2Placement>(true); } void Ifc4::IfcLocalPlacement::setRelativePlacement(::Ifc4::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15027,7 +15207,7 @@ Ifc4::IfcLoop::IfcLoop(IfcEntityInstanceData* e) : IfcTopologicalRepresentationI Ifc4::IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcLoop_type); } // Function implementations for IfcManifoldSolidBrep -::Ifc4::IfcClosedShell* Ifc4::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcClosedShell>(); } +::Ifc4::IfcClosedShell* Ifc4::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcClosedShell>(true); } void Ifc4::IfcManifoldSolidBrep::setOuter(::Ifc4::IfcClosedShell* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -15057,9 +15237,9 @@ Ifc4::IfcMapConversion::IfcMapConversion(IfcEntityInstanceData* e) : IfcCoordina Ifc4::IfcMapConversion::IfcMapConversion(::Ifc4::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4::IfcCoordinateReferenceSystem* v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, boost::optional< double > v6_XAxisAbscissa, boost::optional< double > v7_XAxisOrdinate, boost::optional< double > v8_Scale) : IfcCoordinateOperation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMapConversion_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SourceCRS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TargetCRS));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Eastings));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Northings));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_OrthogonalHeight));data_->setArgument(4,attr);} if (v6_XAxisAbscissa) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_XAxisAbscissa));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_XAxisOrdinate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_XAxisOrdinate));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Scale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Scale));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcMappedItem -::Ifc4::IfcRepresentationMap* Ifc4::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcRepresentationMap>(); } +::Ifc4::IfcRepresentationMap* Ifc4::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcRepresentationMap>(true); } void Ifc4::IfcMappedItem::setMappingSource(::Ifc4::IfcRepresentationMap* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4::IfcCartesianTransformationOperator* Ifc4::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcCartesianTransformationOperator>(); } +::Ifc4::IfcCartesianTransformationOperator* Ifc4::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcCartesianTransformationOperator>(true); } void Ifc4::IfcMappedItem::setMappingTarget(::Ifc4::IfcCartesianTransformationOperator* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15088,7 +15268,7 @@ Ifc4::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string // Function implementations for IfcMaterialClassificationRelationship aggregate_of_instance::ptr Ifc4::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } void Ifc4::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4::IfcMaterial* Ifc4::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcMaterial>(); } +::Ifc4::IfcMaterial* Ifc4::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcMaterial>(true); } void Ifc4::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15102,7 +15282,7 @@ boost::optional< std::string > Ifc4::IfcMaterialConstituent::Name() const { if(! void Ifc4::IfcMaterialConstituent::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcMaterialConstituent::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcMaterialConstituent::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4::IfcMaterial* Ifc4::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcMaterial>(); } +::Ifc4::IfcMaterial* Ifc4::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcMaterial>(true); } void Ifc4::IfcMaterialConstituent::setMaterial(::Ifc4::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcMaterialConstituent::Fraction() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4::IfcMaterialConstituent::setFraction(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } @@ -15142,7 +15322,7 @@ Ifc4::IfcMaterialDefinition::IfcMaterialDefinition(IfcEntityInstanceData* e) : I Ifc4::IfcMaterialDefinition::IfcMaterialDefinition() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcMaterialDefinition_type); } // Function implementations for IfcMaterialDefinitionRepresentation -::Ifc4::IfcMaterial* Ifc4::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcMaterial>(); } +::Ifc4::IfcMaterial* Ifc4::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcMaterial>(true); } void Ifc4::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(::Ifc4::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -15152,7 +15332,7 @@ Ifc4::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(I Ifc4::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcRepresentation >::ptr v3_Representations, ::Ifc4::IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMaterialDefinitionRepresentation_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Representations)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RepresentedMaterial));data_->setArgument(3,attr);} } // Function implementations for IfcMaterialLayer -::Ifc4::IfcMaterial* Ifc4::IfcMaterialLayer::Material() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcMaterial>(); } +::Ifc4::IfcMaterial* Ifc4::IfcMaterialLayer::Material() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcMaterial>(true); } void Ifc4::IfcMaterialLayer::setMaterial(::Ifc4::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4::IfcMaterialLayer::LayerThickness() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcMaterialLayer::setLayerThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15189,7 +15369,7 @@ Ifc4::IfcMaterialLayerSet::IfcMaterialLayerSet(IfcEntityInstanceData* e) : IfcMa Ifc4::IfcMaterialLayerSet::IfcMaterialLayerSet(aggregate_of< ::Ifc4::IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName, boost::optional< std::string > v3_Description) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMaterialLayerSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialLayers)->generalize());data_->setArgument(0,attr);} if (v2_LayerSetName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_LayerSetName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialLayerSetUsage -::Ifc4::IfcMaterialLayerSet* Ifc4::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcMaterialLayerSet>(); } +::Ifc4::IfcMaterialLayerSet* Ifc4::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcMaterialLayerSet>(true); } void Ifc4::IfcMaterialLayerSetUsage::setForLayerSet(::Ifc4::IfcMaterialLayerSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4::IfcLayerSetDirectionEnum::Value Ifc4::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4::IfcLayerSetDirectionEnum::FromString(*data_->getArgument(1)); } void Ifc4::IfcMaterialLayerSetUsage::setLayerSetDirection(::Ifc4::IfcLayerSetDirectionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcLayerSetDirectionEnum::ToString(v)));data_->setArgument(1,attr);} } @@ -15233,9 +15413,9 @@ boost::optional< std::string > Ifc4::IfcMaterialProfile::Name() const { if(!data void Ifc4::IfcMaterialProfile::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcMaterialProfile::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcMaterialProfile::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4::IfcMaterial* Ifc4::IfcMaterialProfile::Material() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcMaterial>(); } +::Ifc4::IfcMaterial* Ifc4::IfcMaterialProfile::Material() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcMaterial>(true); } void Ifc4::IfcMaterialProfile::setMaterial(::Ifc4::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4::IfcProfileDef* Ifc4::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcProfileDef>(); } +::Ifc4::IfcProfileDef* Ifc4::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcProfileDef>(true); } void Ifc4::IfcMaterialProfile::setProfile(::Ifc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< int > Ifc4::IfcMaterialProfile::Priority() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } void Ifc4::IfcMaterialProfile::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -15256,7 +15436,7 @@ boost::optional< std::string > Ifc4::IfcMaterialProfileSet::Description() const void Ifc4::IfcMaterialProfileSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } aggregate_of< ::Ifc4::IfcMaterialProfile >::ptr Ifc4::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcMaterialProfile >(); } void Ifc4::IfcMaterialProfileSet::setMaterialProfiles(aggregate_of< ::Ifc4::IfcMaterialProfile >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } -::Ifc4::IfcCompositeProfileDef* Ifc4::IfcMaterialProfileSet::CompositeProfile() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcCompositeProfileDef>(); } +::Ifc4::IfcCompositeProfileDef* Ifc4::IfcMaterialProfileSet::CompositeProfile() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcCompositeProfileDef>(true); } void Ifc4::IfcMaterialProfileSet::setCompositeProfile(::Ifc4::IfcCompositeProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -15266,7 +15446,7 @@ Ifc4::IfcMaterialProfileSet::IfcMaterialProfileSet(IfcEntityInstanceData* e) : I Ifc4::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcMaterialProfile >::ptr v3_MaterialProfiles, ::Ifc4::IfcCompositeProfileDef* v4_CompositeProfile) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMaterialProfileSet_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_MaterialProfiles)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_CompositeProfile));data_->setArgument(3,attr);} } // Function implementations for IfcMaterialProfileSetUsage -::Ifc4::IfcMaterialProfileSet* Ifc4::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcMaterialProfileSet>(); } +::Ifc4::IfcMaterialProfileSet* Ifc4::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcMaterialProfileSet>(true); } void Ifc4::IfcMaterialProfileSetUsage::setForProfileSet(::Ifc4::IfcMaterialProfileSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< int > Ifc4::IfcMaterialProfileSetUsage::CardinalPoint() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } int v = *data_->getArgument(1); return v; } void Ifc4::IfcMaterialProfileSetUsage::setCardinalPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } @@ -15280,7 +15460,7 @@ Ifc4::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(IfcEntityInstanceDa Ifc4::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent) : IfcMaterialUsageDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMaterialProfileSetUsage_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ForProfileSet));data_->setArgument(0,attr);} if (v2_CardinalPoint) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_CardinalPoint));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ReferenceExtent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ReferenceExtent));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialProfileSetUsageTapering -::Ifc4::IfcMaterialProfileSet* Ifc4::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcMaterialProfileSet>(); } +::Ifc4::IfcMaterialProfileSet* Ifc4::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcMaterialProfileSet>(true); } void Ifc4::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(::Ifc4::IfcMaterialProfileSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< int > Ifc4::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } void Ifc4::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -15302,7 +15482,7 @@ Ifc4::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(IfcEntityInst Ifc4::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcMaterial* v3_Material, ::Ifc4::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) : IfcMaterialProfile((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMaterialProfileWithOffsets_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Material));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Profile));data_->setArgument(3,attr);} if (v5_Priority) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Priority));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Category));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_OffsetValues));data_->setArgument(6,attr);} } // Function implementations for IfcMaterialProperties -::Ifc4::IfcMaterialDefinition* Ifc4::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcMaterialDefinition>(); } +::Ifc4::IfcMaterialDefinition* Ifc4::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcMaterialDefinition>(true); } void Ifc4::IfcMaterialProperties::setMaterial(::Ifc4::IfcMaterialDefinition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -15312,7 +15492,7 @@ Ifc4::IfcMaterialProperties::IfcMaterialProperties(IfcEntityInstanceData* e) : I Ifc4::IfcMaterialProperties::IfcMaterialProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcProperty >::ptr v3_Properties, ::Ifc4::IfcMaterialDefinition* v4_Material) : IfcExtendedProperties((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMaterialProperties_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Properties)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Material));data_->setArgument(3,attr);} } // Function implementations for IfcMaterialRelationship -::Ifc4::IfcMaterial* Ifc4::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcMaterial>(); } +::Ifc4::IfcMaterial* Ifc4::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcMaterial>(true); } void Ifc4::IfcMaterialRelationship::setRelatingMaterial(::Ifc4::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4::IfcMaterial >::ptr Ifc4::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4::IfcMaterial >(); } void Ifc4::IfcMaterialRelationship::setRelatedMaterials(aggregate_of< ::Ifc4::IfcMaterial >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -15335,9 +15515,9 @@ Ifc4::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition(IfcEntityInstanceDa Ifc4::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcMaterialUsageDefinition_type); } // Function implementations for IfcMeasureWithUnit -::Ifc4::IfcValue* Ifc4::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcValue>(); } +::Ifc4::IfcValue* Ifc4::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcValue>(true); } void Ifc4::IfcMeasureWithUnit::setValueComponent(::Ifc4::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4::IfcUnit* Ifc4::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcUnit>(); } +::Ifc4::IfcUnit* Ifc4::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcMeasureWithUnit::setUnitComponent(::Ifc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15427,9 +15607,9 @@ Ifc4::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHist void Ifc4::IfcMetric::setBenchmark(::Ifc4::IfcBenchmarkEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcBenchmarkEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4::IfcMetric::ValueSource() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc4::IfcMetric::setValueSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } -::Ifc4::IfcMetricValueSelect* Ifc4::IfcMetric::DataValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcMetricValueSelect>(); } +::Ifc4::IfcMetricValueSelect* Ifc4::IfcMetric::DataValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcMetricValueSelect>(true); } void Ifc4::IfcMetric::setDataValue(::Ifc4::IfcMetricValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -::Ifc4::IfcReference* Ifc4::IfcMetric::ReferencePath() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4::IfcReference>(); } +::Ifc4::IfcReference* Ifc4::IfcMetric::ReferencePath() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4::IfcReference>(true); } void Ifc4::IfcMetric::setReferencePath(::Ifc4::IfcReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -15477,7 +15657,7 @@ Ifc4::IfcMotorConnectionType::IfcMotorConnectionType(IfcEntityInstanceData* e) : Ifc4::IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcMotorConnectionType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcMotorConnectionTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcNamedUnit -::Ifc4::IfcDimensionalExponents* Ifc4::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcDimensionalExponents>(); } +::Ifc4::IfcDimensionalExponents* Ifc4::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcDimensionalExponents>(true); } void Ifc4::IfcNamedUnit::setDimensions(::Ifc4::IfcDimensionalExponents* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4::IfcUnitEnum::Value Ifc4::IfcNamedUnit::UnitType() const { return ::Ifc4::IfcUnitEnum::FromString(*data_->getArgument(1)); } void Ifc4::IfcNamedUnit::setUnitType(::Ifc4::IfcUnitEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcUnitEnum::ToString(v)));data_->setArgument(1,attr);} } @@ -15554,7 +15734,7 @@ Ifc4::IfcOccupant::IfcOccupant(IfcEntityInstanceData* e) : IfcActor((IfcEntityIn Ifc4::IfcOccupant::IfcOccupant(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcActorSelect* v6_TheActor, boost::optional< ::Ifc4::IfcOccupantTypeEnum::Value > v7_PredefinedType) : IfcActor((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcOccupant_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_TheActor));data_->setArgument(5,attr);} if (v7_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v7_PredefinedType,::Ifc4::IfcOccupantTypeEnum::ToString(*v7_PredefinedType))));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcOffsetCurve2D -::Ifc4::IfcCurve* Ifc4::IfcOffsetCurve2D::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCurve>(); } +::Ifc4::IfcCurve* Ifc4::IfcOffsetCurve2D::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcOffsetCurve2D::setBasisCurve(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4::IfcOffsetCurve2D::Distance() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcOffsetCurve2D::setDistance(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15568,13 +15748,13 @@ Ifc4::IfcOffsetCurve2D::IfcOffsetCurve2D(IfcEntityInstanceData* e) : IfcCurve((I Ifc4::IfcOffsetCurve2D::IfcOffsetCurve2D(::Ifc4::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) : IfcCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcOffsetCurve2D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Distance));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SelfIntersect));data_->setArgument(2,attr);} } // Function implementations for IfcOffsetCurve3D -::Ifc4::IfcCurve* Ifc4::IfcOffsetCurve3D::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCurve>(); } +::Ifc4::IfcCurve* Ifc4::IfcOffsetCurve3D::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcOffsetCurve3D::setBasisCurve(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4::IfcOffsetCurve3D::Distance() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcOffsetCurve3D::setDistance(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::logic::tribool Ifc4::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = *data_->getArgument(2); return v; } void Ifc4::IfcOffsetCurve3D::setSelfIntersect(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4::IfcDirection* Ifc4::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcDirection>(); } +::Ifc4::IfcDirection* Ifc4::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcOffsetCurve3D::setRefDirection(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -15632,7 +15812,7 @@ Ifc4::IfcOrganization::IfcOrganization(IfcEntityInstanceData* e) : IfcUtil::IfcB Ifc4::IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > v4_Roles, boost::optional< aggregate_of< ::Ifc4::IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcOrganization_type); if (v1_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identification));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Roles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Roles)->generalize());data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Addresses) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Addresses)->generalize());data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcOrganizationRelationship -::Ifc4::IfcOrganization* Ifc4::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcOrganization>(); } +::Ifc4::IfcOrganization* Ifc4::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcOrganization>(true); } void Ifc4::IfcOrganizationRelationship::setRelatingOrganization(::Ifc4::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4::IfcOrganization >::ptr Ifc4::IfcOrganizationRelationship::RelatedOrganizations() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4::IfcOrganization >(); } void Ifc4::IfcOrganizationRelationship::setRelatedOrganizations(aggregate_of< ::Ifc4::IfcOrganization >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -15644,7 +15824,7 @@ Ifc4::IfcOrganizationRelationship::IfcOrganizationRelationship(IfcEntityInstance Ifc4::IfcOrganizationRelationship::IfcOrganizationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcOrganization* v3_RelatingOrganization, aggregate_of< ::Ifc4::IfcOrganization >::ptr v4_RelatedOrganizations) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcOrganizationRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingOrganization));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedOrganizations)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcOrientedEdge -::Ifc4::IfcEdge* Ifc4::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcEdge>(); } +::Ifc4::IfcEdge* Ifc4::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcEdge>(true); } void Ifc4::IfcOrientedEdge::setEdgeElement(::Ifc4::IfcEdge* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } bool Ifc4::IfcOrientedEdge::Orientation() const { bool v = *data_->getArgument(3); return v; } void Ifc4::IfcOrientedEdge::setOrientation(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -15684,9 +15864,9 @@ Ifc4::IfcOutletType::IfcOutletType(IfcEntityInstanceData* e) : IfcFlowTerminalTy Ifc4::IfcOutletType::IfcOutletType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcOutletTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcOutletType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcOutletTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcOwnerHistory -::Ifc4::IfcPersonAndOrganization* Ifc4::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcPersonAndOrganization>(); } +::Ifc4::IfcPersonAndOrganization* Ifc4::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcPersonAndOrganization>(true); } void Ifc4::IfcOwnerHistory::setOwningUser(::Ifc4::IfcPersonAndOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4::IfcApplication* Ifc4::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcApplication>(); } +::Ifc4::IfcApplication* Ifc4::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcApplication>(true); } void Ifc4::IfcOwnerHistory::setOwningApplication(::Ifc4::IfcApplication* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< ::Ifc4::IfcStateEnum::Value > Ifc4::IfcOwnerHistory::State() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc4::IfcStateEnum::FromString(*data_->getArgument(2)); } void Ifc4::IfcOwnerHistory::setState(boost::optional< ::Ifc4::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcStateEnum::ToString(*v)));data_->setArgument(2,attr);} } @@ -15694,9 +15874,9 @@ boost::optional< ::Ifc4::IfcChangeActionEnum::Value > Ifc4::IfcOwnerHistory::Cha void Ifc4::IfcOwnerHistory::setChangeAction(boost::optional< ::Ifc4::IfcChangeActionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcChangeActionEnum::ToString(*v)));data_->setArgument(3,attr);} } boost::optional< int > Ifc4::IfcOwnerHistory::LastModifiedDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } void Ifc4::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc4::IfcPersonAndOrganization* Ifc4::IfcOwnerHistory::LastModifyingUser() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcPersonAndOrganization>(); } +::Ifc4::IfcPersonAndOrganization* Ifc4::IfcOwnerHistory::LastModifyingUser() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcPersonAndOrganization>(true); } void Ifc4::IfcOwnerHistory::setLastModifyingUser(::Ifc4::IfcPersonAndOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4::IfcApplication* Ifc4::IfcOwnerHistory::LastModifyingApplication() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcApplication>(); } +::Ifc4::IfcApplication* Ifc4::IfcOwnerHistory::LastModifyingApplication() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcApplication>(true); } void Ifc4::IfcOwnerHistory::setLastModifyingApplication(::Ifc4::IfcApplication* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } int Ifc4::IfcOwnerHistory::CreationDate() const { int v = *data_->getArgument(7); return v; } void Ifc4::IfcOwnerHistory::setCreationDate(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -15708,7 +15888,7 @@ Ifc4::IfcOwnerHistory::IfcOwnerHistory(IfcEntityInstanceData* e) : IfcUtil::IfcB Ifc4::IfcOwnerHistory::IfcOwnerHistory(::Ifc4::IfcPersonAndOrganization* v1_OwningUser, ::Ifc4::IfcApplication* v2_OwningApplication, boost::optional< ::Ifc4::IfcStateEnum::Value > v3_State, boost::optional< ::Ifc4::IfcChangeActionEnum::Value > v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, ::Ifc4::IfcPersonAndOrganization* v6_LastModifyingUser, ::Ifc4::IfcApplication* v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcOwnerHistory_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_OwningUser));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwningApplication));data_->setArgument(1,attr);} if (v3_State) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v3_State,::Ifc4::IfcStateEnum::ToString(*v3_State))));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_ChangeAction) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v4_ChangeAction,::Ifc4::IfcChangeActionEnum::ToString(*v4_ChangeAction))));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_LastModifiedDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_LastModifiedDate));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LastModifyingUser));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LastModifyingApplication));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_CreationDate));data_->setArgument(7,attr);} } // Function implementations for IfcParameterizedProfileDef -::Ifc4::IfcAxis2Placement2D* Ifc4::IfcParameterizedProfileDef::Position() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcAxis2Placement2D>(); } +::Ifc4::IfcAxis2Placement2D* Ifc4::IfcParameterizedProfileDef::Position() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcAxis2Placement2D>(true); } void Ifc4::IfcParameterizedProfileDef::setPosition(::Ifc4::IfcAxis2Placement2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -15728,9 +15908,9 @@ Ifc4::IfcPath::IfcPath(IfcEntityInstanceData* e) : IfcTopologicalRepresentationI Ifc4::IfcPath::IfcPath(aggregate_of< ::Ifc4::IfcOrientedEdge >::ptr v1_EdgeList) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPath_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_EdgeList)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcPcurve -::Ifc4::IfcSurface* Ifc4::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcSurface>(); } +::Ifc4::IfcSurface* Ifc4::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcSurface>(true); } void Ifc4::IfcPcurve::setBasisSurface(::Ifc4::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4::IfcCurve* Ifc4::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcCurve>(); } +::Ifc4::IfcCurve* Ifc4::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcPcurve::setReferenceCurve(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15760,7 +15940,7 @@ boost::optional< double > Ifc4::IfcPermeableCoveringProperties::FrameDepth() con void Ifc4::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4::IfcPermeableCoveringProperties::FrameThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } -::Ifc4::IfcShapeAspect* Ifc4::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcShapeAspect>(); } +::Ifc4::IfcShapeAspect* Ifc4::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcShapeAspect>(true); } void Ifc4::IfcPermeableCoveringProperties::setShapeAspectStyle(::Ifc4::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -15809,9 +15989,9 @@ Ifc4::IfcPerson::IfcPerson(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity() Ifc4::IfcPerson::IfcPerson(boost::optional< std::string > v1_Identification, boost::optional< std::string > v2_FamilyName, boost::optional< std::string > v3_GivenName, boost::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > v7_Roles, boost::optional< aggregate_of< ::Ifc4::IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcPerson_type); if (v1_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identification));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_FamilyName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_FamilyName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_GivenName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_GivenName));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_MiddleNames) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_MiddleNames));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_PrefixTitles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_PrefixTitles));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_SuffixTitles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_SuffixTitles));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Roles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Roles)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Addresses) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Addresses)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcPersonAndOrganization -::Ifc4::IfcPerson* Ifc4::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcPerson>(); } +::Ifc4::IfcPerson* Ifc4::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcPerson>(true); } void Ifc4::IfcPersonAndOrganization::setThePerson(::Ifc4::IfcPerson* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4::IfcOrganization* Ifc4::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcOrganization>(); } +::Ifc4::IfcOrganization* Ifc4::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcOrganization>(true); } void Ifc4::IfcPersonAndOrganization::setTheOrganization(::Ifc4::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > Ifc4::IfcPersonAndOrganization::Roles() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4::IfcActorRole >(); } void Ifc4::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(2,attr);} } @@ -15853,7 +16033,7 @@ Ifc4::IfcPhysicalQuantity::IfcPhysicalQuantity(IfcEntityInstanceData* e) : IfcUt Ifc4::IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcPhysicalQuantity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcPhysicalSimpleQuantity -::Ifc4::IfcNamedUnit* Ifc4::IfcPhysicalSimpleQuantity::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcNamedUnit>(); } +::Ifc4::IfcNamedUnit* Ifc4::IfcPhysicalSimpleQuantity::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcNamedUnit>(true); } void Ifc4::IfcPhysicalSimpleQuantity::setUnit(::Ifc4::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -15941,7 +16121,7 @@ Ifc4::IfcPixelTexture::IfcPixelTexture(IfcEntityInstanceData* e) : IfcSurfaceTex Ifc4::IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) : IfcSurfaceTexture((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPixelTexture_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_RepeatS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RepeatT));data_->setArgument(1,attr);} if (v3_Mode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Mode));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TextureTransform));data_->setArgument(3,attr);} if (v5_Parameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Parameter));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Width));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Height));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_ColourComponents));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_Pixel));data_->setArgument(8,attr);} } // Function implementations for IfcPlacement -::Ifc4::IfcCartesianPoint* Ifc4::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCartesianPoint>(); } +::Ifc4::IfcCartesianPoint* Ifc4::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCartesianPoint>(true); } void Ifc4::IfcPlacement::setLocation(::Ifc4::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -15951,7 +16131,7 @@ Ifc4::IfcPlacement::IfcPlacement(IfcEntityInstanceData* e) : IfcGeometricReprese Ifc4::IfcPlacement::IfcPlacement(::Ifc4::IfcCartesianPoint* v1_Location) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPlacement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Location));data_->setArgument(0,attr);} } // Function implementations for IfcPlanarBox -::Ifc4::IfcAxis2Placement* Ifc4::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcAxis2Placement>(); } +::Ifc4::IfcAxis2Placement* Ifc4::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcAxis2Placement>(true); } void Ifc4::IfcPlanarBox::setPlacement(::Ifc4::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -16017,7 +16197,7 @@ Ifc4::IfcPoint::IfcPoint(IfcEntityInstanceData* e) : IfcGeometricRepresentationI Ifc4::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPoint_type); } // Function implementations for IfcPointOnCurve -::Ifc4::IfcCurve* Ifc4::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCurve>(); } +::Ifc4::IfcCurve* Ifc4::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcPointOnCurve::setBasisCurve(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4::IfcPointOnCurve::PointParameter() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcPointOnCurve::setPointParameter(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -16029,7 +16209,7 @@ Ifc4::IfcPointOnCurve::IfcPointOnCurve(IfcEntityInstanceData* e) : IfcPoint((Ifc Ifc4::IfcPointOnCurve::IfcPointOnCurve(::Ifc4::IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPointOnCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PointParameter));data_->setArgument(1,attr);} } // Function implementations for IfcPointOnSurface -::Ifc4::IfcSurface* Ifc4::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcSurface>(); } +::Ifc4::IfcSurface* Ifc4::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcSurface>(true); } void Ifc4::IfcPointOnSurface::setBasisSurface(::Ifc4::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4::IfcPointOnSurface::PointParameterU() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcPointOnSurface::setPointParameterU(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -16053,9 +16233,9 @@ Ifc4::IfcPolyLoop::IfcPolyLoop(IfcEntityInstanceData* e) : IfcLoop((IfcEntityIns Ifc4::IfcPolyLoop::IfcPolyLoop(aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPolyLoop_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Polygon)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcPolygonalBoundedHalfSpace -::Ifc4::IfcAxis2Placement3D* Ifc4::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcAxis2Placement3D>(); } +::Ifc4::IfcAxis2Placement3D* Ifc4::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcAxis2Placement3D>(true); } void Ifc4::IfcPolygonalBoundedHalfSpace::setPosition(::Ifc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4::IfcBoundedCurve* Ifc4::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcBoundedCurve>(); } +::Ifc4::IfcBoundedCurve* Ifc4::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcBoundedCurve>(true); } void Ifc4::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(::Ifc4::IfcBoundedCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16267,9 +16447,9 @@ Ifc4::IfcProcess::IfcProcess(IfcEntityInstanceData* e) : IfcObject((IfcEntityIns Ifc4::IfcProcess::IfcProcess(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcProcess_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcProduct -::Ifc4::IfcObjectPlacement* Ifc4::IfcProduct::ObjectPlacement() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcObjectPlacement>(); } +::Ifc4::IfcObjectPlacement* Ifc4::IfcProduct::ObjectPlacement() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcObjectPlacement>(true); } void Ifc4::IfcProduct::setObjectPlacement(::Ifc4::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4::IfcProductRepresentation* Ifc4::IfcProduct::Representation() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcProductRepresentation>(); } +::Ifc4::IfcProductRepresentation* Ifc4::IfcProduct::Representation() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcProductRepresentation>(true); } void Ifc4::IfcProduct::setRepresentation(::Ifc4::IfcProductRepresentation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } ::Ifc4::IfcRelAssignsToProduct::list::ptr Ifc4::IfcProduct::ReferencedBy() const { return data_->getInverse(IFC4_IfcRelAssignsToProduct_type, 6)->as(); } @@ -16318,7 +16498,7 @@ Ifc4::IfcProfileDef::IfcProfileDef(IfcEntityInstanceData* e) : IfcUtil::IfcBaseE Ifc4::IfcProfileDef::IfcProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcProfileProperties -::Ifc4::IfcProfileDef* Ifc4::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcProfileDef>(); } +::Ifc4::IfcProfileDef* Ifc4::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcProfileDef>(true); } void Ifc4::IfcProfileProperties::setProfileDefinition(::Ifc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16362,7 +16542,7 @@ boost::optional< std::string > Ifc4::IfcProjectedCRS::MapProjection() const { if void Ifc4::IfcProjectedCRS::setMapProjection(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcProjectedCRS::MapZone() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcProjectedCRS::setMapZone(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4::IfcNamedUnit* Ifc4::IfcProjectedCRS::MapUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcNamedUnit>(); } +::Ifc4::IfcNamedUnit* Ifc4::IfcProjectedCRS::MapUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcNamedUnit>(true); } void Ifc4::IfcProjectedCRS::setMapUnit(::Ifc4::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -16409,13 +16589,13 @@ Ifc4::IfcPropertyAbstraction::IfcPropertyAbstraction(IfcEntityInstanceData* e) : Ifc4::IfcPropertyAbstraction::IfcPropertyAbstraction() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcPropertyAbstraction_type); } // Function implementations for IfcPropertyBoundedValue -::Ifc4::IfcValue* Ifc4::IfcPropertyBoundedValue::UpperBoundValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcValue>(); } +::Ifc4::IfcValue* Ifc4::IfcPropertyBoundedValue::UpperBoundValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcValue>(true); } void Ifc4::IfcPropertyBoundedValue::setUpperBoundValue(::Ifc4::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4::IfcValue* Ifc4::IfcPropertyBoundedValue::LowerBoundValue() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcValue>(); } +::Ifc4::IfcValue* Ifc4::IfcPropertyBoundedValue::LowerBoundValue() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcValue>(true); } void Ifc4::IfcPropertyBoundedValue::setLowerBoundValue(::Ifc4::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4::IfcUnit* Ifc4::IfcPropertyBoundedValue::Unit() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcUnit>(); } +::Ifc4::IfcUnit* Ifc4::IfcPropertyBoundedValue::Unit() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcPropertyBoundedValue::setUnit(::Ifc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4::IfcValue* Ifc4::IfcPropertyBoundedValue::SetPointValue() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcValue>(); } +::Ifc4::IfcValue* Ifc4::IfcPropertyBoundedValue::SetPointValue() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcValue>(true); } void Ifc4::IfcPropertyBoundedValue::setSetPointValue(::Ifc4::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -16435,9 +16615,9 @@ Ifc4::IfcPropertyDefinition::IfcPropertyDefinition(IfcEntityInstanceData* e) : I Ifc4::IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertyDefinition_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPropertyDependencyRelationship -::Ifc4::IfcProperty* Ifc4::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcProperty>(); } +::Ifc4::IfcProperty* Ifc4::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcProperty>(true); } void Ifc4::IfcPropertyDependencyRelationship::setDependingProperty(::Ifc4::IfcProperty* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4::IfcProperty* Ifc4::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcProperty>(); } +::Ifc4::IfcProperty* Ifc4::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcProperty>(true); } void Ifc4::IfcPropertyDependencyRelationship::setDependantProperty(::Ifc4::IfcProperty* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcPropertyDependencyRelationship::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -16451,7 +16631,7 @@ Ifc4::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost // Function implementations for IfcPropertyEnumeratedValue boost::optional< aggregate_of_instance::ptr > Ifc4::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } void Ifc4::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4::IfcPropertyEnumeration* Ifc4::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcPropertyEnumeration>(); } +::Ifc4::IfcPropertyEnumeration* Ifc4::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcPropertyEnumeration>(true); } void Ifc4::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16465,7 +16645,7 @@ std::string Ifc4::IfcPropertyEnumeration::Name() const { std::string v = *data_ void Ifc4::IfcPropertyEnumeration::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of_instance::ptr Ifc4::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4::IfcPropertyEnumeration::setEnumerationValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4::IfcUnit* Ifc4::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcUnit>(); } +::Ifc4::IfcUnit* Ifc4::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcPropertyEnumeration::setUnit(::Ifc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -16477,7 +16657,7 @@ Ifc4::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggreg // Function implementations for IfcPropertyListValue boost::optional< aggregate_of_instance::ptr > Ifc4::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } void Ifc4::IfcPropertyListValue::setListValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4::IfcUnit* Ifc4::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcUnit>(); } +::Ifc4::IfcUnit* Ifc4::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcPropertyListValue::setUnit(::Ifc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16489,7 +16669,7 @@ Ifc4::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::opt // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4::IfcObjectReferenceSelect* Ifc4::IfcPropertyReferenceValue::PropertyReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcObjectReferenceSelect>(); } +::Ifc4::IfcObjectReferenceSelect* Ifc4::IfcPropertyReferenceValue::PropertyReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcObjectReferenceSelect>(true); } void Ifc4::IfcPropertyReferenceValue::setPropertyReference(::Ifc4::IfcObjectReferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16535,9 +16715,9 @@ Ifc4::IfcPropertySetTemplate::IfcPropertySetTemplate(IfcEntityInstanceData* e) : Ifc4::IfcPropertySetTemplate::IfcPropertySetTemplate(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_ApplicableEntity, aggregate_of< ::Ifc4::IfcPropertyTemplate >::ptr v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcPropertySetTemplate_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_TemplateType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v5_TemplateType,::Ifc4::IfcPropertySetTemplateTypeEnum::ToString(*v5_TemplateType))));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ApplicableEntity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ApplicableEntity));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_HasPropertyTemplates)->generalize());data_->setArgument(6,attr);} } // Function implementations for IfcPropertySingleValue -::Ifc4::IfcValue* Ifc4::IfcPropertySingleValue::NominalValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcValue>(); } +::Ifc4::IfcValue* Ifc4::IfcPropertySingleValue::NominalValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcValue>(true); } void Ifc4::IfcPropertySingleValue::setNominalValue(::Ifc4::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4::IfcUnit* Ifc4::IfcPropertySingleValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcUnit>(); } +::Ifc4::IfcUnit* Ifc4::IfcPropertySingleValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcPropertySingleValue::setUnit(::Ifc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16553,9 +16733,9 @@ boost::optional< aggregate_of_instance::ptr > Ifc4::IfcPropertyTableValue::Defin void Ifc4::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc4::IfcUnit* Ifc4::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcUnit>(); } +::Ifc4::IfcUnit* Ifc4::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcPropertyTableValue::setDefiningUnit(::Ifc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4::IfcUnit* Ifc4::IfcPropertyTableValue::DefinedUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcUnit>(); } +::Ifc4::IfcUnit* Ifc4::IfcPropertyTableValue::DefinedUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcPropertyTableValue::setDefinedUnit(::Ifc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4::IfcCurveInterpolationEnum::Value > Ifc4::IfcPropertyTableValue::CurveInterpolation() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4::IfcCurveInterpolationEnum::FromString(*data_->getArgument(7)); } void Ifc4::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4::IfcCurveInterpolationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcCurveInterpolationEnum::ToString(*v)));data_->setArgument(7,attr);} } @@ -16857,7 +17037,7 @@ Ifc4::IfcRectangularPyramid::IfcRectangularPyramid(IfcEntityInstanceData* e) : I Ifc4::IfcRectangularPyramid::IfcRectangularPyramid(::Ifc4::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRectangularPyramid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_XLength));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_YLength));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Height));data_->setArgument(3,attr);} } // Function implementations for IfcRectangularTrimmedSurface -::Ifc4::IfcSurface* Ifc4::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcSurface>(); } +::Ifc4::IfcSurface* Ifc4::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcSurface>(true); } void Ifc4::IfcRectangularTrimmedSurface::setBasisSurface(::Ifc4::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4::IfcRectangularTrimmedSurface::U1() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcRectangularTrimmedSurface::setU1(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -16911,7 +17091,7 @@ boost::optional< std::string > Ifc4::IfcReference::InstanceName() const { if(!da void Ifc4::IfcReference::setInstanceName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4::IfcReference::ListPositions() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } void Ifc4::IfcReference::setListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } -::Ifc4::IfcReference* Ifc4::IfcReference::InnerReference() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcReference>(); } +::Ifc4::IfcReference* Ifc4::IfcReference::InnerReference() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcReference>(true); } void Ifc4::IfcReference::setInnerReference(::Ifc4::IfcReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -17079,7 +17259,7 @@ Ifc4::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData* e) : Ifc4::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< aggregate_of_instance::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcRelAggregates -::Ifc4::IfcObjectDefinition* Ifc4::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcObjectDefinition>(); } +::Ifc4::IfcObjectDefinition* Ifc4::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcObjectDefinition>(true); } void Ifc4::IfcRelAggregates::setRelatingObject(::Ifc4::IfcObjectDefinition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr Ifc4::IfcRelAggregates::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4::IfcObjectDefinition >(); } void Ifc4::IfcRelAggregates::setRelatedObjects(aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -17103,9 +17283,9 @@ Ifc4::IfcRelAssigns::IfcRelAssigns(IfcEntityInstanceData* e) : IfcRelationship(( Ifc4::IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssigns_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } } // Function implementations for IfcRelAssignsToActor -::Ifc4::IfcActor* Ifc4::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcActor>(); } +::Ifc4::IfcActor* Ifc4::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcActor>(true); } void Ifc4::IfcRelAssignsToActor::setRelatingActor(::Ifc4::IfcActor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4::IfcActorRole* Ifc4::IfcRelAssignsToActor::ActingRole() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcActorRole>(); } +::Ifc4::IfcActorRole* Ifc4::IfcRelAssignsToActor::ActingRole() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcActorRole>(true); } void Ifc4::IfcRelAssignsToActor::setActingRole(::Ifc4::IfcActorRole* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -17115,7 +17295,7 @@ Ifc4::IfcRelAssignsToActor::IfcRelAssignsToActor(IfcEntityInstanceData* e) : Ifc Ifc4::IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcActor* v7_RelatingActor, ::Ifc4::IfcActorRole* v8_ActingRole) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssignsToActor_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingActor));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_ActingRole));data_->setArgument(7,attr);} } // Function implementations for IfcRelAssignsToControl -::Ifc4::IfcControl* Ifc4::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcControl>(); } +::Ifc4::IfcControl* Ifc4::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcControl>(true); } void Ifc4::IfcRelAssignsToControl::setRelatingControl(::Ifc4::IfcControl* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -17125,7 +17305,7 @@ Ifc4::IfcRelAssignsToControl::IfcRelAssignsToControl(IfcEntityInstanceData* e) : Ifc4::IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcControl* v7_RelatingControl) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssignsToControl_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingControl));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssignsToGroup -::Ifc4::IfcGroup* Ifc4::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcGroup>(); } +::Ifc4::IfcGroup* Ifc4::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcGroup>(true); } void Ifc4::IfcRelAssignsToGroup::setRelatingGroup(::Ifc4::IfcGroup* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -17145,9 +17325,9 @@ Ifc4::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(IfcEntityInstan Ifc4::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcGroup* v7_RelatingGroup, double v8_Factor) : IfcRelAssignsToGroup((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssignsToGroupByFactor_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingGroup));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Factor));data_->setArgument(7,attr);} } // Function implementations for IfcRelAssignsToProcess -::Ifc4::IfcProcessSelect* Ifc4::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcProcessSelect>(); } +::Ifc4::IfcProcessSelect* Ifc4::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcProcessSelect>(true); } void Ifc4::IfcRelAssignsToProcess::setRelatingProcess(::Ifc4::IfcProcessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4::IfcMeasureWithUnit* Ifc4::IfcRelAssignsToProcess::QuantityInProcess() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcMeasureWithUnit>(); } +::Ifc4::IfcMeasureWithUnit* Ifc4::IfcRelAssignsToProcess::QuantityInProcess() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcMeasureWithUnit>(true); } void Ifc4::IfcRelAssignsToProcess::setQuantityInProcess(::Ifc4::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -17157,7 +17337,7 @@ Ifc4::IfcRelAssignsToProcess::IfcRelAssignsToProcess(IfcEntityInstanceData* e) : Ifc4::IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcProcessSelect* v7_RelatingProcess, ::Ifc4::IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssignsToProcess_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingProcess));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_QuantityInProcess));data_->setArgument(7,attr);} } // Function implementations for IfcRelAssignsToProduct -::Ifc4::IfcProductSelect* Ifc4::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcProductSelect>(); } +::Ifc4::IfcProductSelect* Ifc4::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcProductSelect>(true); } void Ifc4::IfcRelAssignsToProduct::setRelatingProduct(::Ifc4::IfcProductSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -17167,7 +17347,7 @@ Ifc4::IfcRelAssignsToProduct::IfcRelAssignsToProduct(IfcEntityInstanceData* e) : Ifc4::IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcProductSelect* v7_RelatingProduct) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssignsToProduct_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingProduct));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssignsToResource -::Ifc4::IfcResourceSelect* Ifc4::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcResourceSelect>(); } +::Ifc4::IfcResourceSelect* Ifc4::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcResourceSelect>(true); } void Ifc4::IfcRelAssignsToResource::setRelatingResource(::Ifc4::IfcResourceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -17187,7 +17367,7 @@ Ifc4::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData* e) : IfcRelation Ifc4::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } // Function implementations for IfcRelAssociatesApproval -::Ifc4::IfcApproval* Ifc4::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcApproval>(); } +::Ifc4::IfcApproval* Ifc4::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcApproval>(true); } void Ifc4::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17197,7 +17377,7 @@ Ifc4::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData* Ifc4::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesClassification -::Ifc4::IfcClassificationSelect* Ifc4::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcClassificationSelect>(); } +::Ifc4::IfcClassificationSelect* Ifc4::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcClassificationSelect>(true); } void Ifc4::IfcRelAssociatesClassification::setRelatingClassification(::Ifc4::IfcClassificationSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17209,7 +17389,7 @@ Ifc4::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcRelAssociatesConstraint::setIntent(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4::IfcConstraint* Ifc4::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcConstraint>(); } +::Ifc4::IfcConstraint* Ifc4::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcConstraint>(true); } void Ifc4::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -17219,7 +17399,7 @@ Ifc4::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceDa Ifc4::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociatesDocument -::Ifc4::IfcDocumentSelect* Ifc4::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcDocumentSelect>(); } +::Ifc4::IfcDocumentSelect* Ifc4::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcDocumentSelect>(true); } void Ifc4::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4::IfcDocumentSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17229,7 +17409,7 @@ Ifc4::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData* Ifc4::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesLibrary -::Ifc4::IfcLibrarySelect* Ifc4::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcLibrarySelect>(); } +::Ifc4::IfcLibrarySelect* Ifc4::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcLibrarySelect>(true); } void Ifc4::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4::IfcLibrarySelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17239,7 +17419,7 @@ Ifc4::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData* e) Ifc4::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesMaterial -::Ifc4::IfcMaterialSelect* Ifc4::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcMaterialSelect>(); } +::Ifc4::IfcMaterialSelect* Ifc4::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcMaterialSelect>(true); } void Ifc4::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4::IfcMaterialSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17257,11 +17437,11 @@ Ifc4::IfcRelConnects::IfcRelConnects(IfcEntityInstanceData* e) : IfcRelationship Ifc4::IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelConnects_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcRelConnectsElements -::Ifc4::IfcConnectionGeometry* Ifc4::IfcRelConnectsElements::ConnectionGeometry() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcConnectionGeometry>(); } +::Ifc4::IfcConnectionGeometry* Ifc4::IfcRelConnectsElements::ConnectionGeometry() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcConnectionGeometry>(true); } void Ifc4::IfcRelConnectsElements::setConnectionGeometry(::Ifc4::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4::IfcElement* Ifc4::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcElement>(); } +::Ifc4::IfcElement* Ifc4::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcElement>(true); } void Ifc4::IfcRelConnectsElements::setRelatingElement(::Ifc4::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4::IfcElement* Ifc4::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcElement>(); } +::Ifc4::IfcElement* Ifc4::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcElement>(true); } void Ifc4::IfcRelConnectsElements::setRelatedElement(::Ifc4::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -17287,9 +17467,9 @@ Ifc4::IfcRelConnectsPathElements::IfcRelConnectsPathElements(IfcEntityInstanceDa Ifc4::IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4::IfcElement* v6_RelatingElement, ::Ifc4::IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) : IfcRelConnectsElements((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelConnectsPathElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ConnectionGeometry));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatedElement));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_RelatingPriorities));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_RelatedPriorities));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_RelatedConnectionType,::Ifc4::IfcConnectionTypeEnum::ToString(v10_RelatedConnectionType))));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v11_RelatingConnectionType,::Ifc4::IfcConnectionTypeEnum::ToString(v11_RelatingConnectionType))));data_->setArgument(10,attr);} } // Function implementations for IfcRelConnectsPortToElement -::Ifc4::IfcPort* Ifc4::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcPort>(); } +::Ifc4::IfcPort* Ifc4::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcPort>(true); } void Ifc4::IfcRelConnectsPortToElement::setRelatingPort(::Ifc4::IfcPort* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4::IfcDistributionElement* Ifc4::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcDistributionElement>(); } +::Ifc4::IfcDistributionElement* Ifc4::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcDistributionElement>(true); } void Ifc4::IfcRelConnectsPortToElement::setRelatedElement(::Ifc4::IfcDistributionElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17299,11 +17479,11 @@ Ifc4::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(IfcEntityInstance Ifc4::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcPort* v5_RelatingPort, ::Ifc4::IfcDistributionElement* v6_RelatedElement) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelConnectsPortToElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingPort));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnectsPorts -::Ifc4::IfcPort* Ifc4::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcPort>(); } +::Ifc4::IfcPort* Ifc4::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcPort>(true); } void Ifc4::IfcRelConnectsPorts::setRelatingPort(::Ifc4::IfcPort* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4::IfcPort* Ifc4::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcPort>(); } +::Ifc4::IfcPort* Ifc4::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcPort>(true); } void Ifc4::IfcRelConnectsPorts::setRelatedPort(::Ifc4::IfcPort* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4::IfcElement* Ifc4::IfcRelConnectsPorts::RealizingElement() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcElement>(); } +::Ifc4::IfcElement* Ifc4::IfcRelConnectsPorts::RealizingElement() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcElement>(true); } void Ifc4::IfcRelConnectsPorts::setRealizingElement(::Ifc4::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -17313,9 +17493,9 @@ Ifc4::IfcRelConnectsPorts::IfcRelConnectsPorts(IfcEntityInstanceData* e) : IfcRe Ifc4::IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcPort* v5_RelatingPort, ::Ifc4::IfcPort* v6_RelatedPort, ::Ifc4::IfcElement* v7_RealizingElement) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelConnectsPorts_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingPort));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedPort));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RealizingElement));data_->setArgument(6,attr);} } // Function implementations for IfcRelConnectsStructuralActivity -::Ifc4::IfcStructuralActivityAssignmentSelect* Ifc4::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcStructuralActivityAssignmentSelect>(); } +::Ifc4::IfcStructuralActivityAssignmentSelect* Ifc4::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcStructuralActivityAssignmentSelect>(true); } void Ifc4::IfcRelConnectsStructuralActivity::setRelatingElement(::Ifc4::IfcStructuralActivityAssignmentSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4::IfcStructuralActivity* Ifc4::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcStructuralActivity>(); } +::Ifc4::IfcStructuralActivity* Ifc4::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcStructuralActivity>(true); } void Ifc4::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(::Ifc4::IfcStructuralActivity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17325,17 +17505,17 @@ Ifc4::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(IfcEnti Ifc4::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcStructuralActivityAssignmentSelect* v5_RelatingElement, ::Ifc4::IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelConnectsStructuralActivity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedStructuralActivity));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnectsStructuralMember -::Ifc4::IfcStructuralMember* Ifc4::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcStructuralMember>(); } +::Ifc4::IfcStructuralMember* Ifc4::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcStructuralMember>(true); } void Ifc4::IfcRelConnectsStructuralMember::setRelatingStructuralMember(::Ifc4::IfcStructuralMember* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4::IfcStructuralConnection* Ifc4::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcStructuralConnection>(); } +::Ifc4::IfcStructuralConnection* Ifc4::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcStructuralConnection>(true); } void Ifc4::IfcRelConnectsStructuralMember::setRelatedStructuralConnection(::Ifc4::IfcStructuralConnection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4::IfcBoundaryCondition* Ifc4::IfcRelConnectsStructuralMember::AppliedCondition() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcBoundaryCondition>(); } +::Ifc4::IfcBoundaryCondition* Ifc4::IfcRelConnectsStructuralMember::AppliedCondition() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcBoundaryCondition>(true); } void Ifc4::IfcRelConnectsStructuralMember::setAppliedCondition(::Ifc4::IfcBoundaryCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4::IfcStructuralConnectionCondition* Ifc4::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcStructuralConnectionCondition>(); } +::Ifc4::IfcStructuralConnectionCondition* Ifc4::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcStructuralConnectionCondition>(true); } void Ifc4::IfcRelConnectsStructuralMember::setAdditionalConditions(::Ifc4::IfcStructuralConnectionCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< double > Ifc4::IfcRelConnectsStructuralMember::SupportedLength() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } void Ifc4::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } -::Ifc4::IfcAxis2Placement3D* Ifc4::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcAxis2Placement3D>(); } +::Ifc4::IfcAxis2Placement3D* Ifc4::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcAxis2Placement3D>(true); } void Ifc4::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(::Ifc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -17345,7 +17525,7 @@ Ifc4::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(IfcEntityIn Ifc4::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4::IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelConnectsStructuralMember_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingStructuralMember));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedStructuralConnection));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_AppliedCondition));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AdditionalConditions));data_->setArgument(7,attr);} if (v9_SupportedLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_SupportedLength));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_ConditionCoordinateSystem));data_->setArgument(9,attr);} } // Function implementations for IfcRelConnectsWithEccentricity -::Ifc4::IfcConnectionGeometry* Ifc4::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4::IfcConnectionGeometry>(); } +::Ifc4::IfcConnectionGeometry* Ifc4::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4::IfcConnectionGeometry>(true); } void Ifc4::IfcRelConnectsWithEccentricity::setConnectionConstraint(::Ifc4::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -17369,7 +17549,7 @@ Ifc4::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(s // Function implementations for IfcRelContainedInSpatialStructure aggregate_of< ::Ifc4::IfcProduct >::ptr Ifc4::IfcRelContainedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4::IfcProduct >(); } void Ifc4::IfcRelContainedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4::IfcProduct >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4::IfcSpatialElement* Ifc4::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcSpatialElement>(); } +::Ifc4::IfcSpatialElement* Ifc4::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcSpatialElement>(true); } void Ifc4::IfcRelContainedInSpatialStructure::setRelatingStructure(::Ifc4::IfcSpatialElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17379,7 +17559,7 @@ Ifc4::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(IfcEn Ifc4::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcProduct >::ptr v5_RelatedElements, ::Ifc4::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelContainedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } // Function implementations for IfcRelCoversBldgElements -::Ifc4::IfcElement* Ifc4::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcElement>(); } +::Ifc4::IfcElement* Ifc4::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcElement>(true); } void Ifc4::IfcRelCoversBldgElements::setRelatingBuildingElement(::Ifc4::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4::IfcCovering >::ptr Ifc4::IfcRelCoversBldgElements::RelatedCoverings() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4::IfcCovering >(); } void Ifc4::IfcRelCoversBldgElements::setRelatedCoverings(aggregate_of< ::Ifc4::IfcCovering >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -17391,7 +17571,7 @@ Ifc4::IfcRelCoversBldgElements::IfcRelCoversBldgElements(IfcEntityInstanceData* Ifc4::IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcElement* v5_RelatingBuildingElement, aggregate_of< ::Ifc4::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelCoversBldgElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingBuildingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedCoverings)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelCoversSpaces -::Ifc4::IfcSpace* Ifc4::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcSpace>(); } +::Ifc4::IfcSpace* Ifc4::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcSpace>(true); } void Ifc4::IfcRelCoversSpaces::setRelatingSpace(::Ifc4::IfcSpace* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4::IfcCovering >::ptr Ifc4::IfcRelCoversSpaces::RelatedCoverings() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4::IfcCovering >(); } void Ifc4::IfcRelCoversSpaces::setRelatedCoverings(aggregate_of< ::Ifc4::IfcCovering >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -17403,7 +17583,7 @@ Ifc4::IfcRelCoversSpaces::IfcRelCoversSpaces(IfcEntityInstanceData* e) : IfcRelC Ifc4::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcSpace* v5_RelatingSpace, aggregate_of< ::Ifc4::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelCoversSpaces_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSpace));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedCoverings)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelDeclares -::Ifc4::IfcContext* Ifc4::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcContext>(); } +::Ifc4::IfcContext* Ifc4::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcContext>(true); } void Ifc4::IfcRelDeclares::setRelatingContext(::Ifc4::IfcContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of_instance::ptr Ifc4::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr v = *data_->getArgument(5); return v; } void Ifc4::IfcRelDeclares::setRelatedDefinitions(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17433,7 +17613,7 @@ Ifc4::IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, ::Ifc4::IfcOwnerHist // Function implementations for IfcRelDefinesByObject aggregate_of< ::Ifc4::IfcObject >::ptr Ifc4::IfcRelDefinesByObject::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4::IfcObject >(); } void Ifc4::IfcRelDefinesByObject::setRelatedObjects(aggregate_of< ::Ifc4::IfcObject >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4::IfcObject* Ifc4::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcObject>(); } +::Ifc4::IfcObject* Ifc4::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcObject>(true); } void Ifc4::IfcRelDefinesByObject::setRelatingObject(::Ifc4::IfcObject* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17445,7 +17625,7 @@ Ifc4::IfcRelDefinesByObject::IfcRelDefinesByObject(std::string v1_GlobalId, ::If // Function implementations for IfcRelDefinesByProperties aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr Ifc4::IfcRelDefinesByProperties::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4::IfcObjectDefinition >(); } void Ifc4::IfcRelDefinesByProperties::setRelatedObjects(aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4::IfcPropertySetDefinitionSelect* Ifc4::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcPropertySetDefinitionSelect>(); } +::Ifc4::IfcPropertySetDefinitionSelect* Ifc4::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcPropertySetDefinitionSelect>(true); } void Ifc4::IfcRelDefinesByProperties::setRelatingPropertyDefinition(::Ifc4::IfcPropertySetDefinitionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17457,7 +17637,7 @@ Ifc4::IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_Global // Function implementations for IfcRelDefinesByTemplate aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr Ifc4::IfcRelDefinesByTemplate::RelatedPropertySets() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4::IfcPropertySetDefinition >(); } void Ifc4::IfcRelDefinesByTemplate::setRelatedPropertySets(aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4::IfcPropertySetTemplate* Ifc4::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcPropertySetTemplate>(); } +::Ifc4::IfcPropertySetTemplate* Ifc4::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcPropertySetTemplate>(true); } void Ifc4::IfcRelDefinesByTemplate::setRelatingTemplate(::Ifc4::IfcPropertySetTemplate* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17469,7 +17649,7 @@ Ifc4::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(std::string v1_GlobalId, // Function implementations for IfcRelDefinesByType aggregate_of< ::Ifc4::IfcObject >::ptr Ifc4::IfcRelDefinesByType::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4::IfcObject >(); } void Ifc4::IfcRelDefinesByType::setRelatedObjects(aggregate_of< ::Ifc4::IfcObject >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4::IfcTypeObject* Ifc4::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcTypeObject>(); } +::Ifc4::IfcTypeObject* Ifc4::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcTypeObject>(true); } void Ifc4::IfcRelDefinesByType::setRelatingType(::Ifc4::IfcTypeObject* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17479,9 +17659,9 @@ Ifc4::IfcRelDefinesByType::IfcRelDefinesByType(IfcEntityInstanceData* e) : IfcRe Ifc4::IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcObject >::ptr v5_RelatedObjects, ::Ifc4::IfcTypeObject* v6_RelatingType) : IfcRelDefines((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelDefinesByType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingType));data_->setArgument(5,attr);} } // Function implementations for IfcRelFillsElement -::Ifc4::IfcOpeningElement* Ifc4::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcOpeningElement>(); } +::Ifc4::IfcOpeningElement* Ifc4::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcOpeningElement>(true); } void Ifc4::IfcRelFillsElement::setRelatingOpeningElement(::Ifc4::IfcOpeningElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4::IfcElement* Ifc4::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcElement>(); } +::Ifc4::IfcElement* Ifc4::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcElement>(true); } void Ifc4::IfcRelFillsElement::setRelatedBuildingElement(::Ifc4::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17493,7 +17673,7 @@ Ifc4::IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, ::Ifc4::If // Function implementations for IfcRelFlowControlElements aggregate_of< ::Ifc4::IfcDistributionControlElement >::ptr Ifc4::IfcRelFlowControlElements::RelatedControlElements() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4::IfcDistributionControlElement >(); } void Ifc4::IfcRelFlowControlElements::setRelatedControlElements(aggregate_of< ::Ifc4::IfcDistributionControlElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4::IfcDistributionFlowElement* Ifc4::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcDistributionFlowElement>(); } +::Ifc4::IfcDistributionFlowElement* Ifc4::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcDistributionFlowElement>(true); } void Ifc4::IfcRelFlowControlElements::setRelatingFlowElement(::Ifc4::IfcDistributionFlowElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17503,11 +17683,11 @@ Ifc4::IfcRelFlowControlElements::IfcRelFlowControlElements(IfcEntityInstanceData Ifc4::IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDistributionControlElement >::ptr v5_RelatedControlElements, ::Ifc4::IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelFlowControlElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedControlElements)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingFlowElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelInterferesElements -::Ifc4::IfcElement* Ifc4::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcElement>(); } +::Ifc4::IfcElement* Ifc4::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcElement>(true); } void Ifc4::IfcRelInterferesElements::setRelatingElement(::Ifc4::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4::IfcElement* Ifc4::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcElement>(); } +::Ifc4::IfcElement* Ifc4::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcElement>(true); } void Ifc4::IfcRelInterferesElements::setRelatedElement(::Ifc4::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4::IfcConnectionGeometry* Ifc4::IfcRelInterferesElements::InterferenceGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcConnectionGeometry>(); } +::Ifc4::IfcConnectionGeometry* Ifc4::IfcRelInterferesElements::InterferenceGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcConnectionGeometry>(true); } void Ifc4::IfcRelInterferesElements::setInterferenceGeometry(::Ifc4::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4::IfcRelInterferesElements::InterferenceType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } void Ifc4::IfcRelInterferesElements::setInterferenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } @@ -17521,7 +17701,7 @@ Ifc4::IfcRelInterferesElements::IfcRelInterferesElements(IfcEntityInstanceData* Ifc4::IfcRelInterferesElements::IfcRelInterferesElements(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcElement* v5_RelatingElement, ::Ifc4::IfcElement* v6_RelatedElement, ::Ifc4::IfcConnectionGeometry* v7_InterferenceGeometry, boost::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelInterferesElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_InterferenceGeometry));data_->setArgument(6,attr);} if (v8_InterferenceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_InterferenceType));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_ImpliedOrder));data_->setArgument(8,attr);} } // Function implementations for IfcRelNests -::Ifc4::IfcObjectDefinition* Ifc4::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcObjectDefinition>(); } +::Ifc4::IfcObjectDefinition* Ifc4::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcObjectDefinition>(true); } void Ifc4::IfcRelNests::setRelatingObject(::Ifc4::IfcObjectDefinition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr Ifc4::IfcRelNests::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4::IfcObjectDefinition >(); } void Ifc4::IfcRelNests::setRelatedObjects(aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -17533,9 +17713,9 @@ Ifc4::IfcRelNests::IfcRelNests(IfcEntityInstanceData* e) : IfcRelDecomposes((Ifc Ifc4::IfcRelNests::IfcRelNests(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelNests_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingObject));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedObjects)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelProjectsElement -::Ifc4::IfcElement* Ifc4::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcElement>(); } +::Ifc4::IfcElement* Ifc4::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcElement>(true); } void Ifc4::IfcRelProjectsElement::setRelatingElement(::Ifc4::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4::IfcFeatureElementAddition* Ifc4::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcFeatureElementAddition>(); } +::Ifc4::IfcFeatureElementAddition* Ifc4::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcFeatureElementAddition>(true); } void Ifc4::IfcRelProjectsElement::setRelatedFeatureElement(::Ifc4::IfcFeatureElementAddition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17547,7 +17727,7 @@ Ifc4::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::If // Function implementations for IfcRelReferencedInSpatialStructure aggregate_of< ::Ifc4::IfcProduct >::ptr Ifc4::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4::IfcProduct >(); } void Ifc4::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4::IfcProduct >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4::IfcSpatialElement* Ifc4::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcSpatialElement>(); } +::Ifc4::IfcSpatialElement* Ifc4::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcSpatialElement>(true); } void Ifc4::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4::IfcSpatialElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17557,11 +17737,11 @@ Ifc4::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(Ifc Ifc4::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcProduct >::ptr v5_RelatedElements, ::Ifc4::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } // Function implementations for IfcRelSequence -::Ifc4::IfcProcess* Ifc4::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcProcess>(); } +::Ifc4::IfcProcess* Ifc4::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcProcess>(true); } void Ifc4::IfcRelSequence::setRelatingProcess(::Ifc4::IfcProcess* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4::IfcProcess* Ifc4::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcProcess>(); } +::Ifc4::IfcProcess* Ifc4::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcProcess>(true); } void Ifc4::IfcRelSequence::setRelatedProcess(::Ifc4::IfcProcess* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4::IfcLagTime* Ifc4::IfcRelSequence::TimeLag() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcLagTime>(); } +::Ifc4::IfcLagTime* Ifc4::IfcRelSequence::TimeLag() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcLagTime>(true); } void Ifc4::IfcRelSequence::setTimeLag(::Ifc4::IfcLagTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4::IfcSequenceEnum::Value > Ifc4::IfcRelSequence::SequenceType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4::IfcSequenceEnum::FromString(*data_->getArgument(7)); } void Ifc4::IfcRelSequence::setSequenceType(boost::optional< ::Ifc4::IfcSequenceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcSequenceEnum::ToString(*v)));data_->setArgument(7,attr);} } @@ -17575,7 +17755,7 @@ Ifc4::IfcRelSequence::IfcRelSequence(IfcEntityInstanceData* e) : IfcRelConnects( Ifc4::IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcProcess* v5_RelatingProcess, ::Ifc4::IfcProcess* v6_RelatedProcess, ::Ifc4::IfcLagTime* v7_TimeLag, boost::optional< ::Ifc4::IfcSequenceEnum::Value > v8_SequenceType, boost::optional< std::string > v9_UserDefinedSequenceType) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelSequence_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingProcess));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedProcess));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_TimeLag));data_->setArgument(6,attr);} if (v8_SequenceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_SequenceType,::Ifc4::IfcSequenceEnum::ToString(*v8_SequenceType))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_UserDefinedSequenceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_UserDefinedSequenceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcRelServicesBuildings -::Ifc4::IfcSystem* Ifc4::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcSystem>(); } +::Ifc4::IfcSystem* Ifc4::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcSystem>(true); } void Ifc4::IfcRelServicesBuildings::setRelatingSystem(::Ifc4::IfcSystem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4::IfcSpatialElement >::ptr Ifc4::IfcRelServicesBuildings::RelatedBuildings() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4::IfcSpatialElement >(); } void Ifc4::IfcRelServicesBuildings::setRelatedBuildings(aggregate_of< ::Ifc4::IfcSpatialElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -17587,11 +17767,11 @@ Ifc4::IfcRelServicesBuildings::IfcRelServicesBuildings(IfcEntityInstanceData* e) Ifc4::IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcSystem* v5_RelatingSystem, aggregate_of< ::Ifc4::IfcSpatialElement >::ptr v6_RelatedBuildings) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelServicesBuildings_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSystem));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildings)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelSpaceBoundary -::Ifc4::IfcSpaceBoundarySelect* Ifc4::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcSpaceBoundarySelect>(); } +::Ifc4::IfcSpaceBoundarySelect* Ifc4::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcSpaceBoundarySelect>(true); } void Ifc4::IfcRelSpaceBoundary::setRelatingSpace(::Ifc4::IfcSpaceBoundarySelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4::IfcElement* Ifc4::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcElement>(); } +::Ifc4::IfcElement* Ifc4::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcElement>(true); } void Ifc4::IfcRelSpaceBoundary::setRelatedBuildingElement(::Ifc4::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4::IfcConnectionGeometry* Ifc4::IfcRelSpaceBoundary::ConnectionGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcConnectionGeometry>(); } +::Ifc4::IfcConnectionGeometry* Ifc4::IfcRelSpaceBoundary::ConnectionGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcConnectionGeometry>(true); } void Ifc4::IfcRelSpaceBoundary::setConnectionGeometry(::Ifc4::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } ::Ifc4::IfcPhysicalOrVirtualEnum::Value Ifc4::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4::IfcPhysicalOrVirtualEnum::FromString(*data_->getArgument(7)); } void Ifc4::IfcRelSpaceBoundary::setPhysicalOrVirtualBoundary(::Ifc4::IfcPhysicalOrVirtualEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcPhysicalOrVirtualEnum::ToString(v)));data_->setArgument(7,attr);} } @@ -17605,7 +17785,7 @@ Ifc4::IfcRelSpaceBoundary::IfcRelSpaceBoundary(IfcEntityInstanceData* e) : IfcRe Ifc4::IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4::IfcElement* v6_RelatedBuildingElement, ::Ifc4::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelSpaceBoundary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSpace));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConnectionGeometry));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_PhysicalOrVirtualBoundary,::Ifc4::IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_InternalOrExternalBoundary,::Ifc4::IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary))));data_->setArgument(8,attr);} } // Function implementations for IfcRelSpaceBoundary1stLevel -::Ifc4::IfcRelSpaceBoundary1stLevel* Ifc4::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcRelSpaceBoundary1stLevel>(); } +::Ifc4::IfcRelSpaceBoundary1stLevel* Ifc4::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcRelSpaceBoundary1stLevel>(true); } void Ifc4::IfcRelSpaceBoundary1stLevel::setParentBoundary(::Ifc4::IfcRelSpaceBoundary1stLevel* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } ::Ifc4::IfcRelSpaceBoundary1stLevel::list::ptr Ifc4::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return data_->getInverse(IFC4_IfcRelSpaceBoundary1stLevel_type, 9)->as(); } @@ -17616,7 +17796,7 @@ Ifc4::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(IfcEntityInstance Ifc4::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4::IfcElement* v6_RelatedBuildingElement, ::Ifc4::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary) : IfcRelSpaceBoundary((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelSpaceBoundary1stLevel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSpace));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConnectionGeometry));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_PhysicalOrVirtualBoundary,::Ifc4::IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_InternalOrExternalBoundary,::Ifc4::IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_ParentBoundary));data_->setArgument(9,attr);} } // Function implementations for IfcRelSpaceBoundary2ndLevel -::Ifc4::IfcRelSpaceBoundary2ndLevel* Ifc4::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4::IfcRelSpaceBoundary2ndLevel>(); } +::Ifc4::IfcRelSpaceBoundary2ndLevel* Ifc4::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4::IfcRelSpaceBoundary2ndLevel>(true); } void Ifc4::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(::Ifc4::IfcRelSpaceBoundary2ndLevel* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } ::Ifc4::IfcRelSpaceBoundary2ndLevel::list::ptr Ifc4::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return data_->getInverse(IFC4_IfcRelSpaceBoundary2ndLevel_type, 10)->as(); } @@ -17627,9 +17807,9 @@ Ifc4::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(IfcEntityInstance Ifc4::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4::IfcElement* v6_RelatedBuildingElement, ::Ifc4::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, ::Ifc4::IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary) : IfcRelSpaceBoundary1stLevel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRelSpaceBoundary2ndLevel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSpace));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConnectionGeometry));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_PhysicalOrVirtualBoundary,::Ifc4::IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_InternalOrExternalBoundary,::Ifc4::IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_ParentBoundary));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_CorrespondingBoundary));data_->setArgument(10,attr);} } // Function implementations for IfcRelVoidsElement -::Ifc4::IfcElement* Ifc4::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcElement>(); } +::Ifc4::IfcElement* Ifc4::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcElement>(true); } void Ifc4::IfcRelVoidsElement::setRelatingBuildingElement(::Ifc4::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4::IfcFeatureElementSubtraction* Ifc4::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcFeatureElementSubtraction>(); } +::Ifc4::IfcFeatureElementSubtraction* Ifc4::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcFeatureElementSubtraction>(true); } void Ifc4::IfcRelVoidsElement::setRelatedOpeningElement(::Ifc4::IfcFeatureElementSubtraction* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17657,7 +17837,7 @@ Ifc4::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSeg Ifc4::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(::Ifc4::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4::IfcCurve* v3_ParentCurve, double v4_ParamLength) : IfcCompositeCurveSegment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcReparametrisedCompositeCurveSegment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_Transition,::Ifc4::IfcTransitionCode::ToString(v1_Transition))));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SameSense));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ParentCurve));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ParamLength));data_->setArgument(3,attr);} } // Function implementations for IfcRepresentation -::Ifc4::IfcRepresentationContext* Ifc4::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcRepresentationContext>(); } +::Ifc4::IfcRepresentationContext* Ifc4::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcRepresentationContext>(true); } void Ifc4::IfcRepresentation::setContextOfItems(::Ifc4::IfcRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcRepresentation::RepresentationIdentifier() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } @@ -17699,9 +17879,9 @@ Ifc4::IfcRepresentationItem::IfcRepresentationItem(IfcEntityInstanceData* e) : I Ifc4::IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4_IfcRepresentationItem_type); } // Function implementations for IfcRepresentationMap -::Ifc4::IfcAxis2Placement* Ifc4::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcAxis2Placement>(); } +::Ifc4::IfcAxis2Placement* Ifc4::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcAxis2Placement>(true); } void Ifc4::IfcRepresentationMap::setMappingOrigin(::Ifc4::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4::IfcRepresentation* Ifc4::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcRepresentation>(); } +::Ifc4::IfcRepresentation* Ifc4::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcRepresentation>(true); } void Ifc4::IfcRepresentationMap::setMappedRepresentation(::Ifc4::IfcRepresentation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4::IfcShapeAspect::list::ptr Ifc4::IfcRepresentationMap::HasShapeAspects() const { return data_->getInverse(IFC4_IfcShapeAspect_type, 4)->as(); } @@ -17728,7 +17908,7 @@ Ifc4::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* // Function implementations for IfcResourceApprovalRelationship aggregate_of_instance::ptr Ifc4::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } void Ifc4::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4::IfcApproval* Ifc4::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcApproval>(); } +::Ifc4::IfcApproval* Ifc4::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcApproval>(true); } void Ifc4::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17738,7 +17918,7 @@ Ifc4::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEntity Ifc4::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_RelatedResourceObjects, ::Ifc4::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } // Function implementations for IfcResourceConstraintRelationship -::Ifc4::IfcConstraint* Ifc4::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcConstraint>(); } +::Ifc4::IfcConstraint* Ifc4::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcConstraint>(true); } void Ifc4::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of_instance::ptr Ifc4::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } void Ifc4::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17800,7 +17980,7 @@ Ifc4::IfcResourceTime::IfcResourceTime(IfcEntityInstanceData* e) : IfcScheduling Ifc4::IfcResourceTime::IfcResourceTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< std::string > v4_ScheduleWork, boost::optional< double > v5_ScheduleUsage, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_ScheduleContour, boost::optional< std::string > v9_LevelingDelay, boost::optional< bool > v10_IsOverAllocated, boost::optional< std::string > v11_StatusTime, boost::optional< std::string > v12_ActualWork, boost::optional< double > v13_ActualUsage, boost::optional< std::string > v14_ActualStart, boost::optional< std::string > v15_ActualFinish, boost::optional< std::string > v16_RemainingWork, boost::optional< double > v17_RemainingUsage, boost::optional< double > v18_Completion) : IfcSchedulingTime((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcResourceTime_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_DataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v2_DataOrigin,::Ifc4::IfcDataOriginEnum::ToString(*v2_DataOrigin))));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UserDefinedDataOrigin));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_ScheduleWork) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_ScheduleWork));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ScheduleUsage) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ScheduleUsage));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ScheduleStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ScheduleStart));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ScheduleFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ScheduleFinish));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_ScheduleContour) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_ScheduleContour));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_LevelingDelay) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_LevelingDelay));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_IsOverAllocated) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_IsOverAllocated));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_StatusTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_StatusTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_ActualWork) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_ActualWork));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ActualUsage) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ActualUsage));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ActualStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ActualStart));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ActualFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ActualFinish));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_RemainingWork) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_RemainingWork));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_RemainingUsage) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_RemainingUsage));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_Completion) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_Completion));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } } // Function implementations for IfcRevolvedAreaSolid -::Ifc4::IfcAxis1Placement* Ifc4::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcAxis1Placement>(); } +::Ifc4::IfcAxis1Placement* Ifc4::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcAxis1Placement>(true); } void Ifc4::IfcRevolvedAreaSolid::setAxis(::Ifc4::IfcAxis1Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc4::IfcRevolvedAreaSolid::Angle() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcRevolvedAreaSolid::setAngle(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17812,7 +17992,7 @@ Ifc4::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcEntityInstanceData* e) : Ifc Ifc4::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(::Ifc4::IfcProfileDef* v1_SweptArea, ::Ifc4::IfcAxis2Placement3D* v2_Position, ::Ifc4::IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcRevolvedAreaSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Axis));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Angle));data_->setArgument(3,attr);} } // Function implementations for IfcRevolvedAreaSolidTapered -::Ifc4::IfcProfileDef* Ifc4::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcProfileDef>(); } +::Ifc4::IfcProfileDef* Ifc4::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcProfileDef>(true); } void Ifc4::IfcRevolvedAreaSolidTapered::setEndSweptArea(::Ifc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -17868,7 +18048,7 @@ Ifc4::IfcRoofType::IfcRoofType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* // Function implementations for IfcRoot std::string Ifc4::IfcRoot::GlobalId() const { std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcRoot::setGlobalId(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4::IfcOwnerHistory* Ifc4::IfcRoot::OwnerHistory() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcOwnerHistory>(); } +::Ifc4::IfcOwnerHistory* Ifc4::IfcRoot::OwnerHistory() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcOwnerHistory>(true); } void Ifc4::IfcRoot::setOwnerHistory(::Ifc4::IfcOwnerHistory* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcRoot::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcRoot::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } @@ -17948,9 +18128,9 @@ Ifc4::IfcSeamCurve::IfcSeamCurve(::Ifc4::IfcCurve* v1_Curve3D, aggregate_of< ::I // Function implementations for IfcSectionProperties ::Ifc4::IfcSectionTypeEnum::Value Ifc4::IfcSectionProperties::SectionType() const { return ::Ifc4::IfcSectionTypeEnum::FromString(*data_->getArgument(0)); } void Ifc4::IfcSectionProperties::setSectionType(::Ifc4::IfcSectionTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcSectionTypeEnum::ToString(v)));data_->setArgument(0,attr);} } -::Ifc4::IfcProfileDef* Ifc4::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcProfileDef>(); } +::Ifc4::IfcProfileDef* Ifc4::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcProfileDef>(true); } void Ifc4::IfcSectionProperties::setStartProfile(::Ifc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4::IfcProfileDef* Ifc4::IfcSectionProperties::EndProfile() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcProfileDef>(); } +::Ifc4::IfcProfileDef* Ifc4::IfcSectionProperties::EndProfile() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcProfileDef>(true); } void Ifc4::IfcSectionProperties::setEndProfile(::Ifc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -17968,7 +18148,7 @@ boost::optional< double > Ifc4::IfcSectionReinforcementProperties::TransversePos void Ifc4::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } ::Ifc4::IfcReinforcingBarRoleEnum::Value Ifc4::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4::IfcReinforcingBarRoleEnum::FromString(*data_->getArgument(3)); } void Ifc4::IfcSectionReinforcementProperties::setReinforcementRole(::Ifc4::IfcReinforcingBarRoleEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcReinforcingBarRoleEnum::ToString(v)));data_->setArgument(3,attr);} } -::Ifc4::IfcSectionProperties* Ifc4::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcSectionProperties>(); } +::Ifc4::IfcSectionProperties* Ifc4::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcSectionProperties>(true); } void Ifc4::IfcSectionReinforcementProperties::setSectionDefinition(::Ifc4::IfcSectionProperties* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4::IfcReinforcementBarProperties >::ptr Ifc4::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4::IfcReinforcementBarProperties >(); } void Ifc4::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(aggregate_of< ::Ifc4::IfcReinforcementBarProperties >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -17980,7 +18160,7 @@ Ifc4::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(IfcEn Ifc4::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, ::Ifc4::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4::IfcSectionProperties* v5_SectionDefinition, aggregate_of< ::Ifc4::IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcPreDefinedProperties((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSectionReinforcementProperties_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_LongitudinalStartPosition));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LongitudinalEndPosition));data_->setArgument(1,attr);} if (v3_TransversePosition) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_TransversePosition));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v4_ReinforcementRole,::Ifc4::IfcReinforcingBarRoleEnum::ToString(v4_ReinforcementRole))));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_SectionDefinition));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_CrossSectionReinforcementDefinitions)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcSectionedSpine -::Ifc4::IfcCompositeCurve* Ifc4::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCompositeCurve>(); } +::Ifc4::IfcCompositeCurve* Ifc4::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCompositeCurve>(true); } void Ifc4::IfcSectionedSpine::setSpineCurve(::Ifc4::IfcCompositeCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4::IfcProfileDef >::ptr Ifc4::IfcSectionedSpine::CrossSections() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4::IfcProfileDef >(); } void Ifc4::IfcSectionedSpine::setCrossSections(aggregate_of< ::Ifc4::IfcProfileDef >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -18042,7 +18222,7 @@ boost::optional< std::string > Ifc4::IfcShapeAspect::Description() const { if(!d void Ifc4::IfcShapeAspect::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } boost::logic::tribool Ifc4::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = *data_->getArgument(3); return v; } void Ifc4::IfcShapeAspect::setProductDefinitional(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4::IfcProductRepresentationSelect* Ifc4::IfcShapeAspect::PartOfProductDefinitionShape() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcProductRepresentationSelect>(); } +::Ifc4::IfcProductRepresentationSelect* Ifc4::IfcShapeAspect::PartOfProductDefinitionShape() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcProductRepresentationSelect>(true); } void Ifc4::IfcShapeAspect::setPartOfProductDefinitionShape(::Ifc4::IfcProductRepresentationSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -18093,11 +18273,11 @@ boost::optional< std::string > Ifc4::IfcSimplePropertyTemplate::PrimaryMeasureTy void Ifc4::IfcSimplePropertyTemplate::setPrimaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4::IfcSimplePropertyTemplate::setSecondaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } -::Ifc4::IfcPropertyEnumeration* Ifc4::IfcSimplePropertyTemplate::Enumerators() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcPropertyEnumeration>(); } +::Ifc4::IfcPropertyEnumeration* Ifc4::IfcSimplePropertyTemplate::Enumerators() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcPropertyEnumeration>(true); } void Ifc4::IfcSimplePropertyTemplate::setEnumerators(::Ifc4::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -::Ifc4::IfcUnit* Ifc4::IfcSimplePropertyTemplate::PrimaryUnit() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcUnit>(); } +::Ifc4::IfcUnit* Ifc4::IfcSimplePropertyTemplate::PrimaryUnit() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcSimplePropertyTemplate::setPrimaryUnit(::Ifc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -::Ifc4::IfcUnit* Ifc4::IfcSimplePropertyTemplate::SecondaryUnit() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcUnit>(); } +::Ifc4::IfcUnit* Ifc4::IfcSimplePropertyTemplate::SecondaryUnit() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcSimplePropertyTemplate::setSecondaryUnit(::Ifc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4::IfcSimplePropertyTemplate::Expression() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4::IfcSimplePropertyTemplate::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } @@ -18119,7 +18299,7 @@ boost::optional< double > Ifc4::IfcSite::RefElevation() const { if(!data_->getAr void Ifc4::IfcSite::setRefElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4::IfcSite::LandTitleNumber() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } void Ifc4::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } -::Ifc4::IfcPostalAddress* Ifc4::IfcSite::SiteAddress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4::IfcPostalAddress>(); } +::Ifc4::IfcPostalAddress* Ifc4::IfcSite::SiteAddress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4::IfcPostalAddress>(true); } void Ifc4::IfcSite::setSiteAddress(::Ifc4::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } @@ -18414,7 +18594,7 @@ Ifc4::IfcStructuralAction::IfcStructuralAction(IfcEntityInstanceData* e) : IfcSt Ifc4::IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralActivity((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralAction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc4::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);} if (v10_DestabilizingLoad) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_DestabilizingLoad));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcStructuralActivity -::Ifc4::IfcStructuralLoad* Ifc4::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcStructuralLoad>(); } +::Ifc4::IfcStructuralLoad* Ifc4::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcStructuralLoad>(true); } void Ifc4::IfcStructuralActivity::setAppliedLoad(::Ifc4::IfcStructuralLoad* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4::IfcGlobalOrLocalEnum::Value Ifc4::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4::IfcGlobalOrLocalEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcStructuralActivity::setGlobalOrLocal(::Ifc4::IfcGlobalOrLocalEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcGlobalOrLocalEnum::ToString(v)));data_->setArgument(8,attr);} } @@ -18429,13 +18609,13 @@ Ifc4::IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId, ::If // Function implementations for IfcStructuralAnalysisModel ::Ifc4::IfcAnalysisModelTypeEnum::Value Ifc4::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4::IfcAnalysisModelTypeEnum::FromString(*data_->getArgument(5)); } void Ifc4::IfcStructuralAnalysisModel::setPredefinedType(::Ifc4::IfcAnalysisModelTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcAnalysisModelTypeEnum::ToString(v)));data_->setArgument(5,attr);} } -::Ifc4::IfcAxis2Placement3D* Ifc4::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcAxis2Placement3D>(); } +::Ifc4::IfcAxis2Placement3D* Ifc4::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcAxis2Placement3D>(true); } void Ifc4::IfcStructuralAnalysisModel::setOrientationOf2DPlane(::Ifc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcStructuralLoadGroup >::ptr > Ifc4::IfcStructuralAnalysisModel::LoadedBy() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4::IfcStructuralLoadGroup >(); } void Ifc4::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc4::IfcStructuralLoadGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4::IfcStructuralResultGroup >::ptr > Ifc4::IfcStructuralAnalysisModel::HasResults() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4::IfcStructuralResultGroup >(); } void Ifc4::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc4::IfcStructuralResultGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } -::Ifc4::IfcObjectPlacement* Ifc4::IfcStructuralAnalysisModel::SharedPlacement() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcObjectPlacement>(); } +::Ifc4::IfcObjectPlacement* Ifc4::IfcStructuralAnalysisModel::SharedPlacement() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4::IfcObjectPlacement>(true); } void Ifc4::IfcStructuralAnalysisModel::setSharedPlacement(::Ifc4::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -18445,7 +18625,7 @@ Ifc4::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(IfcEntityInstanceDa Ifc4::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4::IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< aggregate_of< ::Ifc4::IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< aggregate_of< ::Ifc4::IfcStructuralResultGroup >::ptr > v9_HasResults, ::Ifc4::IfcObjectPlacement* v10_SharedPlacement) : IfcSystem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralAnalysisModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_PredefinedType,::Ifc4::IfcAnalysisModelTypeEnum::ToString(v6_PredefinedType))));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_OrientationOf2DPlane));data_->setArgument(6,attr);} if (v8_LoadedBy) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LoadedBy)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_HasResults) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_HasResults)->generalize());data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_SharedPlacement));data_->setArgument(9,attr);} } // Function implementations for IfcStructuralConnection -::Ifc4::IfcBoundaryCondition* Ifc4::IfcStructuralConnection::AppliedCondition() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcBoundaryCondition>(); } +::Ifc4::IfcBoundaryCondition* Ifc4::IfcStructuralConnection::AppliedCondition() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcBoundaryCondition>(true); } void Ifc4::IfcStructuralConnection::setAppliedCondition(::Ifc4::IfcBoundaryCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4::IfcRelConnectsStructuralMember::list::ptr Ifc4::IfcStructuralConnection::ConnectsStructuralMembers() const { return data_->getInverse(IFC4_IfcRelConnectsStructuralMember_type, 5)->as(); } @@ -18478,7 +18658,7 @@ Ifc4::IfcStructuralCurveAction::IfcStructuralCurveAction(IfcEntityInstanceData* Ifc4::IfcStructuralCurveAction::IfcStructuralCurveAction(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralCurveAction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc4::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);} if (v10_DestabilizingLoad) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_DestabilizingLoad));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_ProjectedOrTrue) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_ProjectedOrTrue,::Ifc4::IfcProjectedOrTrueLengthEnum::ToString(*v11_ProjectedOrTrue))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4::IfcStructuralCurveActivityTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcStructuralCurveConnection -::Ifc4::IfcDirection* Ifc4::IfcStructuralCurveConnection::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcDirection>(); } +::Ifc4::IfcDirection* Ifc4::IfcStructuralCurveConnection::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcStructuralCurveConnection::setAxis(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -18490,7 +18670,7 @@ Ifc4::IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::string v1_ // Function implementations for IfcStructuralCurveMember ::Ifc4::IfcStructuralCurveMemberTypeEnum::Value Ifc4::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4::IfcStructuralCurveMemberTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4::IfcStructuralCurveMember::setPredefinedType(::Ifc4::IfcStructuralCurveMemberTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcStructuralCurveMemberTypeEnum::ToString(v)));data_->setArgument(7,attr);} } -::Ifc4::IfcDirection* Ifc4::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcDirection>(); } +::Ifc4::IfcDirection* Ifc4::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcStructuralCurveMember::setAxis(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -18736,7 +18916,7 @@ Ifc4::IfcStructuralPointAction::IfcStructuralPointAction(IfcEntityInstanceData* Ifc4::IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralAction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStructuralPointAction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc4::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);} if (v10_DestabilizingLoad) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_DestabilizingLoad));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcStructuralPointConnection -::Ifc4::IfcAxis2Placement3D* Ifc4::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcAxis2Placement3D>(); } +::Ifc4::IfcAxis2Placement3D* Ifc4::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcAxis2Placement3D>(true); } void Ifc4::IfcStructuralPointConnection::setConditionCoordinateSystem(::Ifc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -18764,7 +18944,7 @@ Ifc4::IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId, ::If // Function implementations for IfcStructuralResultGroup ::Ifc4::IfcAnalysisTheoryTypeEnum::Value Ifc4::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4::IfcAnalysisTheoryTypeEnum::FromString(*data_->getArgument(5)); } void Ifc4::IfcStructuralResultGroup::setTheoryType(::Ifc4::IfcAnalysisTheoryTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcAnalysisTheoryTypeEnum::ToString(v)));data_->setArgument(5,attr);} } -::Ifc4::IfcStructuralLoadGroup* Ifc4::IfcStructuralResultGroup::ResultForLoadGroup() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcStructuralLoadGroup>(); } +::Ifc4::IfcStructuralLoadGroup* Ifc4::IfcStructuralResultGroup::ResultForLoadGroup() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcStructuralLoadGroup>(true); } void Ifc4::IfcStructuralResultGroup::setResultForLoadGroup(::Ifc4::IfcStructuralLoadGroup* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } bool Ifc4::IfcStructuralResultGroup::IsLinear() const { bool v = *data_->getArgument(7); return v; } void Ifc4::IfcStructuralResultGroup::setIsLinear(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -18835,7 +19015,7 @@ Ifc4::IfcStyleModel::IfcStyleModel(IfcEntityInstanceData* e) : IfcRepresentation Ifc4::IfcStyleModel::IfcStyleModel(::Ifc4::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcStyleModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcStyledItem -::Ifc4::IfcRepresentationItem* Ifc4::IfcStyledItem::Item() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcRepresentationItem>(); } +::Ifc4::IfcRepresentationItem* Ifc4::IfcStyledItem::Item() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcRepresentationItem>(true); } void Ifc4::IfcStyledItem::setItem(::Ifc4::IfcRepresentationItem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of_instance::ptr Ifc4::IfcStyledItem::Styles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4::IfcStyledItem::setStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -18877,7 +19057,7 @@ Ifc4::IfcSubContractResourceType::IfcSubContractResourceType(IfcEntityInstanceDa Ifc4::IfcSubContractResourceType::IfcSubContractResourceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSubContractResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4::IfcSubContractResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcSubedge -::Ifc4::IfcEdge* Ifc4::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcEdge>(); } +::Ifc4::IfcEdge* Ifc4::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcEdge>(true); } void Ifc4::IfcSubedge::setParentEdge(::Ifc4::IfcEdge* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -18895,7 +19075,7 @@ Ifc4::IfcSurface::IfcSurface(IfcEntityInstanceData* e) : IfcGeometricRepresentat Ifc4::IfcSurface::IfcSurface() : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSurface_type); } // Function implementations for IfcSurfaceCurve -::Ifc4::IfcCurve* Ifc4::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCurve>(); } +::Ifc4::IfcCurve* Ifc4::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcSurfaceCurve::setCurve3D(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4::IfcPcurve >::ptr Ifc4::IfcSurfaceCurve::AssociatedGeometry() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4::IfcPcurve >(); } void Ifc4::IfcSurfaceCurve::setAssociatedGeometry(aggregate_of< ::Ifc4::IfcPcurve >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -18909,13 +19089,13 @@ Ifc4::IfcSurfaceCurve::IfcSurfaceCurve(IfcEntityInstanceData* e) : IfcCurve((Ifc Ifc4::IfcSurfaceCurve::IfcSurfaceCurve(::Ifc4::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSurfaceCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Curve3D));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_AssociatedGeometry)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_MasterRepresentation,::Ifc4::IfcPreferredSurfaceCurveRepresentation::ToString(v3_MasterRepresentation))));data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceCurveSweptAreaSolid -::Ifc4::IfcCurve* Ifc4::IfcSurfaceCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcCurve>(); } +::Ifc4::IfcCurve* Ifc4::IfcSurfaceCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcSurfaceCurveSweptAreaSolid::setDirectrix(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4::IfcSurfaceCurveSweptAreaSolid::StartParam() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4::IfcSurfaceCurveSweptAreaSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } boost::optional< double > Ifc4::IfcSurfaceCurveSweptAreaSolid::EndParam() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } void Ifc4::IfcSurfaceCurveSweptAreaSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc4::IfcSurface* Ifc4::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcSurface>(); } +::Ifc4::IfcSurface* Ifc4::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcSurface>(true); } void Ifc4::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(::Ifc4::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -18935,7 +19115,7 @@ Ifc4::IfcSurfaceFeature::IfcSurfaceFeature(IfcEntityInstanceData* e) : IfcFeatur Ifc4::IfcSurfaceFeature::IfcSurfaceFeature(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSurfaceFeature_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4::IfcSurfaceFeatureTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcSurfaceOfLinearExtrusion -::Ifc4::IfcDirection* Ifc4::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcDirection>(); } +::Ifc4::IfcDirection* Ifc4::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcSurfaceOfLinearExtrusion::setExtrudedDirection(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc4::IfcSurfaceOfLinearExtrusion::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc4::IfcSurfaceOfLinearExtrusion::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -18947,7 +19127,7 @@ Ifc4::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcEntityInstance Ifc4::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(::Ifc4::IfcProfileDef* v1_SweptCurve, ::Ifc4::IfcAxis2Placement3D* v2_Position, ::Ifc4::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSurfaceOfLinearExtrusion_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ExtrudedDirection));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);} } // Function implementations for IfcSurfaceOfRevolution -::Ifc4::IfcAxis1Placement* Ifc4::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcAxis1Placement>(); } +::Ifc4::IfcAxis1Placement* Ifc4::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcAxis1Placement>(true); } void Ifc4::IfcSurfaceOfRevolution::setAxisPosition(::Ifc4::IfcAxis1Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -18983,13 +19163,13 @@ Ifc4::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData* e) : IfcPresentati Ifc4::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4::IfcSurfaceSide::Value v2_Side, aggregate_of_instance::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceStyleLighting -::Ifc4::IfcColourRgb* Ifc4::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcColourRgb>(); } +::Ifc4::IfcColourRgb* Ifc4::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcColourRgb>(true); } void Ifc4::IfcSurfaceStyleLighting::setDiffuseTransmissionColour(::Ifc4::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4::IfcColourRgb* Ifc4::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcColourRgb>(); } +::Ifc4::IfcColourRgb* Ifc4::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcColourRgb>(true); } void Ifc4::IfcSurfaceStyleLighting::setDiffuseReflectionColour(::Ifc4::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4::IfcColourRgb* Ifc4::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcColourRgb>(); } +::Ifc4::IfcColourRgb* Ifc4::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcColourRgb>(true); } void Ifc4::IfcSurfaceStyleLighting::setTransmissionColour(::Ifc4::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4::IfcColourRgb* Ifc4::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcColourRgb>(); } +::Ifc4::IfcColourRgb* Ifc4::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcColourRgb>(true); } void Ifc4::IfcSurfaceStyleLighting::setReflectanceColour(::Ifc4::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19011,17 +19191,17 @@ Ifc4::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(IfcEntityInstanceData Ifc4::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSurfaceStyleRefraction_type); if (v1_RefractionIndex) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RefractionIndex));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_DispersionFactor) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_DispersionFactor));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcSurfaceStyleRendering -::Ifc4::IfcColourOrFactor* Ifc4::IfcSurfaceStyleRendering::DiffuseColour() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcColourOrFactor>(); } +::Ifc4::IfcColourOrFactor* Ifc4::IfcSurfaceStyleRendering::DiffuseColour() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcColourOrFactor>(true); } void Ifc4::IfcSurfaceStyleRendering::setDiffuseColour(::Ifc4::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4::IfcColourOrFactor* Ifc4::IfcSurfaceStyleRendering::TransmissionColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcColourOrFactor>(); } +::Ifc4::IfcColourOrFactor* Ifc4::IfcSurfaceStyleRendering::TransmissionColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcColourOrFactor>(true); } void Ifc4::IfcSurfaceStyleRendering::setTransmissionColour(::Ifc4::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4::IfcColourOrFactor* Ifc4::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcColourOrFactor>(); } +::Ifc4::IfcColourOrFactor* Ifc4::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcColourOrFactor>(true); } void Ifc4::IfcSurfaceStyleRendering::setDiffuseTransmissionColour(::Ifc4::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4::IfcColourOrFactor* Ifc4::IfcSurfaceStyleRendering::ReflectionColour() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcColourOrFactor>(); } +::Ifc4::IfcColourOrFactor* Ifc4::IfcSurfaceStyleRendering::ReflectionColour() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcColourOrFactor>(true); } void Ifc4::IfcSurfaceStyleRendering::setReflectionColour(::Ifc4::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4::IfcColourOrFactor* Ifc4::IfcSurfaceStyleRendering::SpecularColour() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcColourOrFactor>(); } +::Ifc4::IfcColourOrFactor* Ifc4::IfcSurfaceStyleRendering::SpecularColour() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcColourOrFactor>(true); } void Ifc4::IfcSurfaceStyleRendering::setSpecularColour(::Ifc4::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4::IfcSpecularHighlightSelect* Ifc4::IfcSurfaceStyleRendering::SpecularHighlight() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcSpecularHighlightSelect>(); } +::Ifc4::IfcSpecularHighlightSelect* Ifc4::IfcSurfaceStyleRendering::SpecularHighlight() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcSpecularHighlightSelect>(true); } void Ifc4::IfcSurfaceStyleRendering::setSpecularHighlight(::Ifc4::IfcSpecularHighlightSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4::IfcReflectanceMethodEnum::Value Ifc4::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4::IfcReflectanceMethodEnum::FromString(*data_->getArgument(8)); } void Ifc4::IfcSurfaceStyleRendering::setReflectanceMethod(::Ifc4::IfcReflectanceMethodEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcReflectanceMethodEnum::ToString(v)));data_->setArgument(8,attr);} } @@ -19033,7 +19213,7 @@ Ifc4::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcEntityInstanceData* Ifc4::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc4::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, ::Ifc4::IfcColourOrFactor* v3_DiffuseColour, ::Ifc4::IfcColourOrFactor* v4_TransmissionColour, ::Ifc4::IfcColourOrFactor* v5_DiffuseTransmissionColour, ::Ifc4::IfcColourOrFactor* v6_ReflectionColour, ::Ifc4::IfcColourOrFactor* v7_SpecularColour, ::Ifc4::IfcSpecularHighlightSelect* v8_SpecularHighlight, ::Ifc4::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) : IfcSurfaceStyleShading((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSurfaceStyleRendering_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SurfaceColour));data_->setArgument(0,attr);} if (v2_Transparency) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Transparency));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DiffuseColour));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TransmissionColour));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_DiffuseTransmissionColour));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ReflectionColour));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_SpecularColour));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_SpecularHighlight));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_ReflectanceMethod,::Ifc4::IfcReflectanceMethodEnum::ToString(v9_ReflectanceMethod))));data_->setArgument(8,attr);} } // Function implementations for IfcSurfaceStyleShading -::Ifc4::IfcColourRgb* Ifc4::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcColourRgb>(); } +::Ifc4::IfcColourRgb* Ifc4::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcColourRgb>(true); } void Ifc4::IfcSurfaceStyleShading::setSurfaceColour(::Ifc4::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4::IfcSurfaceStyleShading::Transparency() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } void Ifc4::IfcSurfaceStyleShading::setTransparency(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } @@ -19061,7 +19241,7 @@ bool Ifc4::IfcSurfaceTexture::RepeatT() const { bool v = *data_->getArgument(1) void Ifc4::IfcSurfaceTexture::setRepeatT(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcSurfaceTexture::Mode() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcSurfaceTexture::setMode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4::IfcCartesianTransformationOperator2D* Ifc4::IfcSurfaceTexture::TextureTransform() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcCartesianTransformationOperator2D>(); } +::Ifc4::IfcCartesianTransformationOperator2D* Ifc4::IfcSurfaceTexture::TextureTransform() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcCartesianTransformationOperator2D>(true); } void Ifc4::IfcSurfaceTexture::setTextureTransform(::Ifc4::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcSurfaceTexture::Parameter() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } void Ifc4::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -19075,9 +19255,9 @@ Ifc4::IfcSurfaceTexture::IfcSurfaceTexture(IfcEntityInstanceData* e) : IfcPresen Ifc4::IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSurfaceTexture_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_RepeatS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RepeatT));data_->setArgument(1,attr);} if (v3_Mode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Mode));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TextureTransform));data_->setArgument(3,attr);} if (v5_Parameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Parameter));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcSweptAreaSolid -::Ifc4::IfcProfileDef* Ifc4::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcProfileDef>(); } +::Ifc4::IfcProfileDef* Ifc4::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcProfileDef>(true); } void Ifc4::IfcSweptAreaSolid::setSweptArea(::Ifc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4::IfcAxis2Placement3D* Ifc4::IfcSweptAreaSolid::Position() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcAxis2Placement3D>(); } +::Ifc4::IfcAxis2Placement3D* Ifc4::IfcSweptAreaSolid::Position() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcAxis2Placement3D>(true); } void Ifc4::IfcSweptAreaSolid::setPosition(::Ifc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -19087,7 +19267,7 @@ Ifc4::IfcSweptAreaSolid::IfcSweptAreaSolid(IfcEntityInstanceData* e) : IfcSolidM Ifc4::IfcSweptAreaSolid::IfcSweptAreaSolid(::Ifc4::IfcProfileDef* v1_SweptArea, ::Ifc4::IfcAxis2Placement3D* v2_Position) : IfcSolidModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSweptAreaSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);} } // Function implementations for IfcSweptDiskSolid -::Ifc4::IfcCurve* Ifc4::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCurve>(); } +::Ifc4::IfcCurve* Ifc4::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcSweptDiskSolid::setDirectrix(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4::IfcSweptDiskSolid::Radius() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcSweptDiskSolid::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -19115,9 +19295,9 @@ Ifc4::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(IfcEntityInstanceDa Ifc4::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(::Ifc4::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, boost::optional< double > v6_FilletRadius) : IfcSweptDiskSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcSweptDiskSolidPolygonal_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Directrix));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Radius));data_->setArgument(1,attr);} if (v3_InnerRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_InnerRadius));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_StartParam) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_StartParam));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_EndParam) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_EndParam));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_FilletRadius));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } } // Function implementations for IfcSweptSurface -::Ifc4::IfcProfileDef* Ifc4::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcProfileDef>(); } +::Ifc4::IfcProfileDef* Ifc4::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcProfileDef>(true); } void Ifc4::IfcSweptSurface::setSweptCurve(::Ifc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4::IfcAxis2Placement3D* Ifc4::IfcSweptSurface::Position() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcAxis2Placement3D>(); } +::Ifc4::IfcAxis2Placement3D* Ifc4::IfcSweptSurface::Position() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcAxis2Placement3D>(true); } void Ifc4::IfcSweptSurface::setPosition(::Ifc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -19222,9 +19402,9 @@ boost::optional< std::string > Ifc4::IfcTableColumn::Name() const { if(!data_->g void Ifc4::IfcTableColumn::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcTableColumn::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcTableColumn::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4::IfcUnit* Ifc4::IfcTableColumn::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcUnit>(); } +::Ifc4::IfcUnit* Ifc4::IfcTableColumn::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcTableColumn::setUnit(::Ifc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4::IfcReference* Ifc4::IfcTableColumn::ReferencePath() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcReference>(); } +::Ifc4::IfcReference* Ifc4::IfcTableColumn::ReferencePath() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcReference>(true); } void Ifc4::IfcTableColumn::setReferencePath(::Ifc4::IfcReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -19274,7 +19454,7 @@ bool Ifc4::IfcTask::IsMilestone() const { bool v = *data_->getArgument(9); retu void Ifc4::IfcTask::setIsMilestone(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< int > Ifc4::IfcTask::Priority() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } int v = *data_->getArgument(10); return v; } void Ifc4::IfcTask::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } -::Ifc4::IfcTaskTime* Ifc4::IfcTask::TaskTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4::IfcTaskTime>(); } +::Ifc4::IfcTaskTime* Ifc4::IfcTask::TaskTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4::IfcTaskTime>(true); } void Ifc4::IfcTask::setTaskTime(::Ifc4::IfcTaskTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< ::Ifc4::IfcTaskTypeEnum::Value > Ifc4::IfcTask::PredefinedType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } return ::Ifc4::IfcTaskTypeEnum::FromString(*data_->getArgument(12)); } void Ifc4::IfcTask::setPredefinedType(boost::optional< ::Ifc4::IfcTaskTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4::IfcTaskTypeEnum::ToString(*v)));data_->setArgument(12,attr);} } @@ -19328,7 +19508,7 @@ Ifc4::IfcTaskTime::IfcTaskTime(IfcEntityInstanceData* e) : IfcSchedulingTime((If Ifc4::IfcTaskTime::IfcTaskTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4::IfcTaskDurationEnum::Value > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion) : IfcSchedulingTime((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTaskTime_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_DataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v2_DataOrigin,::Ifc4::IfcDataOriginEnum::ToString(*v2_DataOrigin))));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UserDefinedDataOrigin));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DurationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v4_DurationType,::Ifc4::IfcTaskDurationEnum::ToString(*v4_DurationType))));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ScheduleDuration) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ScheduleDuration));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ScheduleStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ScheduleStart));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ScheduleFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ScheduleFinish));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_EarlyStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_EarlyStart));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EarlyFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EarlyFinish));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_LateStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_LateStart));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_LateFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_LateFinish));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_FreeFloat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_FreeFloat));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_TotalFloat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_TotalFloat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_IsCritical) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_IsCritical));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_StatusTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_StatusTime));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_ActualDuration) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_ActualDuration));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_ActualStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_ActualStart));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_ActualFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_ActualFinish));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_RemainingTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_RemainingTime));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_Completion) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_Completion));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcTaskTimeRecurring -::Ifc4::IfcRecurrencePattern* Ifc4::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(20)))->as<::Ifc4::IfcRecurrencePattern>(); } +::Ifc4::IfcRecurrencePattern* Ifc4::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(20)))->as<::Ifc4::IfcRecurrencePattern>(true); } void Ifc4::IfcTaskTimeRecurring::setRecurrence(::Ifc4::IfcRecurrencePattern* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(20,attr);} } @@ -19430,7 +19610,7 @@ Ifc4::IfcTendonType::IfcTendonType(IfcEntityInstanceData* e) : IfcReinforcingEle Ifc4::IfcTendonType::IfcTendonType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcTendonTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheathDiameter) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTendonType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcTendonTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_SheathDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_SheathDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } } // Function implementations for IfcTessellatedFaceSet -::Ifc4::IfcCartesianPointList3D* Ifc4::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCartesianPointList3D>(); } +::Ifc4::IfcCartesianPointList3D* Ifc4::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCartesianPointList3D>(true); } void Ifc4::IfcTessellatedFaceSet::setCoordinates(::Ifc4::IfcCartesianPointList3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4::IfcIndexedColourMap::list::ptr Ifc4::IfcTessellatedFaceSet::HasColours() const { return data_->getInverse(IFC4_IfcIndexedColourMap_type, 0)->as(); } @@ -19452,7 +19632,7 @@ Ifc4::IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentationItem( // Function implementations for IfcTextLiteral std::string Ifc4::IfcTextLiteral::Literal() const { std::string v = *data_->getArgument(0); return v; } void Ifc4::IfcTextLiteral::setLiteral(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4::IfcAxis2Placement* Ifc4::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcAxis2Placement>(); } +::Ifc4::IfcAxis2Placement* Ifc4::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcAxis2Placement>(true); } void Ifc4::IfcTextLiteral::setPlacement(::Ifc4::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4::IfcTextPath::Value Ifc4::IfcTextLiteral::Path() const { return ::Ifc4::IfcTextPath::FromString(*data_->getArgument(2)); } void Ifc4::IfcTextLiteral::setPath(::Ifc4::IfcTextPath::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcTextPath::ToString(v)));data_->setArgument(2,attr);} } @@ -19464,7 +19644,7 @@ Ifc4::IfcTextLiteral::IfcTextLiteral(IfcEntityInstanceData* e) : IfcGeometricRep Ifc4::IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, ::Ifc4::IfcAxis2Placement* v2_Placement, ::Ifc4::IfcTextPath::Value v3_Path) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTextLiteral_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Literal));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Placement));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_Path,::Ifc4::IfcTextPath::ToString(v3_Path))));data_->setArgument(2,attr);} } // Function implementations for IfcTextLiteralWithExtent -::Ifc4::IfcPlanarExtent* Ifc4::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcPlanarExtent>(); } +::Ifc4::IfcPlanarExtent* Ifc4::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcPlanarExtent>(true); } void Ifc4::IfcTextLiteralWithExtent::setExtent(::Ifc4::IfcPlanarExtent* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } std::string Ifc4::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcTextLiteralWithExtent::setBoxAlignment(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -19476,11 +19656,11 @@ Ifc4::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcEntityInstanceData* Ifc4::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(std::string v1_Literal, ::Ifc4::IfcAxis2Placement* v2_Placement, ::Ifc4::IfcTextPath::Value v3_Path, ::Ifc4::IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment) : IfcTextLiteral((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTextLiteralWithExtent_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Literal));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Placement));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_Path,::Ifc4::IfcTextPath::ToString(v3_Path))));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Extent));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_BoxAlignment));data_->setArgument(4,attr);} } // Function implementations for IfcTextStyle -::Ifc4::IfcTextStyleForDefinedFont* Ifc4::IfcTextStyle::TextCharacterAppearance() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcTextStyleForDefinedFont>(); } +::Ifc4::IfcTextStyleForDefinedFont* Ifc4::IfcTextStyle::TextCharacterAppearance() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcTextStyleForDefinedFont>(true); } void Ifc4::IfcTextStyle::setTextCharacterAppearance(::Ifc4::IfcTextStyleForDefinedFont* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4::IfcTextStyleTextModel* Ifc4::IfcTextStyle::TextStyle() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcTextStyleTextModel>(); } +::Ifc4::IfcTextStyleTextModel* Ifc4::IfcTextStyle::TextStyle() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcTextStyleTextModel>(true); } void Ifc4::IfcTextStyle::setTextStyle(::Ifc4::IfcTextStyleTextModel* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4::IfcTextFontSelect* Ifc4::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcTextFontSelect>(); } +::Ifc4::IfcTextFontSelect* Ifc4::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcTextFontSelect>(true); } void Ifc4::IfcTextStyle::setTextFontStyle(::Ifc4::IfcTextFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< bool > Ifc4::IfcTextStyle::ModelOrDraughting() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } bool v = *data_->getArgument(4); return v; } void Ifc4::IfcTextStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -19500,7 +19680,7 @@ boost::optional< std::string > Ifc4::IfcTextStyleFontModel::FontVariant() const void Ifc4::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcTextStyleFontModel::FontWeight() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc4::IfcSizeSelect* Ifc4::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcSizeSelect>(); } +::Ifc4::IfcSizeSelect* Ifc4::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4::IfcSizeSelect>(true); } void Ifc4::IfcTextStyleFontModel::setFontSize(::Ifc4::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -19510,9 +19690,9 @@ Ifc4::IfcTextStyleFontModel::IfcTextStyleFontModel(IfcEntityInstanceData* e) : I Ifc4::IfcTextStyleFontModel::IfcTextStyleFontModel(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, boost::optional< std::string > v3_FontStyle, boost::optional< std::string > v4_FontVariant, boost::optional< std::string > v5_FontWeight, ::Ifc4::IfcSizeSelect* v6_FontSize) : IfcPreDefinedTextFont((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTextStyleFontModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FontFamily));data_->setArgument(1,attr);} if (v3_FontStyle) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_FontStyle));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_FontVariant) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_FontVariant));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_FontWeight) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_FontWeight));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_FontSize));data_->setArgument(5,attr);} } // Function implementations for IfcTextStyleForDefinedFont -::Ifc4::IfcColour* Ifc4::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcColour>(); } +::Ifc4::IfcColour* Ifc4::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcColour>(true); } void Ifc4::IfcTextStyleForDefinedFont::setColour(::Ifc4::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4::IfcColour* Ifc4::IfcTextStyleForDefinedFont::BackgroundColour() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcColour>(); } +::Ifc4::IfcColour* Ifc4::IfcTextStyleForDefinedFont::BackgroundColour() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4::IfcColour>(true); } void Ifc4::IfcTextStyleForDefinedFont::setBackgroundColour(::Ifc4::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -19522,19 +19702,19 @@ Ifc4::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcEntityInstanceDa Ifc4::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4::IfcColour* v1_Colour, ::Ifc4::IfcColour* v2_BackgroundColour) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTextStyleForDefinedFont_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Colour));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_BackgroundColour));data_->setArgument(1,attr);} } // Function implementations for IfcTextStyleTextModel -::Ifc4::IfcSizeSelect* Ifc4::IfcTextStyleTextModel::TextIndent() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcSizeSelect>(); } +::Ifc4::IfcSizeSelect* Ifc4::IfcTextStyleTextModel::TextIndent() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcSizeSelect>(true); } void Ifc4::IfcTextStyleTextModel::setTextIndent(::Ifc4::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4::IfcTextStyleTextModel::TextAlign() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4::IfcTextStyleTextModel::TextDecoration() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4::IfcSizeSelect* Ifc4::IfcTextStyleTextModel::LetterSpacing() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcSizeSelect>(); } +::Ifc4::IfcSizeSelect* Ifc4::IfcTextStyleTextModel::LetterSpacing() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcSizeSelect>(true); } void Ifc4::IfcTextStyleTextModel::setLetterSpacing(::Ifc4::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4::IfcSizeSelect* Ifc4::IfcTextStyleTextModel::WordSpacing() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcSizeSelect>(); } +::Ifc4::IfcSizeSelect* Ifc4::IfcTextStyleTextModel::WordSpacing() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4::IfcSizeSelect>(true); } void Ifc4::IfcTextStyleTextModel::setWordSpacing(::Ifc4::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4::IfcTextStyleTextModel::TextTransform() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4::IfcSizeSelect* Ifc4::IfcTextStyleTextModel::LineHeight() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcSizeSelect>(); } +::Ifc4::IfcSizeSelect* Ifc4::IfcTextStyleTextModel::LineHeight() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4::IfcSizeSelect>(true); } void Ifc4::IfcTextStyleTextModel::setLineHeight(::Ifc4::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -19568,7 +19748,7 @@ Ifc4::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(aggregate_of< // Function implementations for IfcTextureMap aggregate_of< ::Ifc4::IfcTextureVertex >::ptr Ifc4::IfcTextureMap::Vertices() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4::IfcTextureVertex >(); } void Ifc4::IfcTextureMap::setVertices(aggregate_of< ::Ifc4::IfcTextureVertex >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } -::Ifc4::IfcFace* Ifc4::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcFace>(); } +::Ifc4::IfcFace* Ifc4::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4::IfcFace>(true); } void Ifc4::IfcTextureMap::setMappedTo(::Ifc4::IfcFace* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -19624,7 +19804,7 @@ void Ifc4::IfcTimeSeries::setTimeSeriesDataType(::Ifc4::IfcTimeSeriesDataTypeEnu void Ifc4::IfcTimeSeries::setDataOrigin(::Ifc4::IfcDataOriginEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4::IfcDataOriginEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4::IfcTimeSeries::UserDefinedDataOrigin() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } -::Ifc4::IfcUnit* Ifc4::IfcTimeSeries::Unit() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcUnit>(); } +::Ifc4::IfcUnit* Ifc4::IfcTimeSeries::Unit() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcTimeSeries::setUnit(::Ifc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4::IfcExternalReferenceRelationship::list::ptr Ifc4::IfcTimeSeries::HasExternalReference() const { return data_->getInverse(IFC4_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -19745,7 +19925,7 @@ Ifc4::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(IfcEntityInstanceData* e) : Ifc4::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(::Ifc4::IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) : IfcTessellatedFaceSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcTriangulatedFaceSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Coordinates));data_->setArgument(0,attr);} if (v2_Normals) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Normals));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Closed) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Closed));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_CoordIndex));data_->setArgument(3,attr);} if (v5_PnIndex) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_PnIndex));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcTrimmedCurve -::Ifc4::IfcCurve* Ifc4::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCurve>(); } +::Ifc4::IfcCurve* Ifc4::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcTrimmedCurve::setBasisCurve(::Ifc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of_instance::ptr Ifc4::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4::IfcTrimmedCurve::setTrim1(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -19931,7 +20111,7 @@ Ifc4::IfcValveType::IfcValveType(IfcEntityInstanceData* e) : IfcFlowControllerTy Ifc4::IfcValveType::IfcValveType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcValveTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcValveType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4::IfcValveTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcVector -::Ifc4::IfcDirection* Ifc4::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcDirection>(); } +::Ifc4::IfcDirection* Ifc4::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcVector::setOrientation(::Ifc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4::IfcVector::Magnitude() const { double v = *data_->getArgument(1); return v; } void Ifc4::IfcVector::setMagnitude(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -19951,7 +20131,7 @@ Ifc4::IfcVertex::IfcVertex(IfcEntityInstanceData* e) : IfcTopologicalRepresentat Ifc4::IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcVertex_type); } // Function implementations for IfcVertexLoop -::Ifc4::IfcVertex* Ifc4::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcVertex>(); } +::Ifc4::IfcVertex* Ifc4::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcVertex>(true); } void Ifc4::IfcVertexLoop::setLoopVertex(::Ifc4::IfcVertex* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -19961,7 +20141,7 @@ Ifc4::IfcVertexLoop::IfcVertexLoop(IfcEntityInstanceData* e) : IfcLoop((IfcEntit Ifc4::IfcVertexLoop::IfcVertexLoop(::Ifc4::IfcVertex* v1_LoopVertex) : IfcLoop((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcVertexLoop_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_LoopVertex));data_->setArgument(0,attr);} } // Function implementations for IfcVertexPoint -::Ifc4::IfcPoint* Ifc4::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcPoint>(); } +::Ifc4::IfcPoint* Ifc4::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4::IfcPoint>(true); } void Ifc4::IfcVertexPoint::setVertexGeometry(::Ifc4::IfcPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -20111,7 +20291,7 @@ boost::optional< double > Ifc4::IfcWindowLiningProperties::FirstMullionOffset() void Ifc4::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } boost::optional< double > Ifc4::IfcWindowLiningProperties::SecondMullionOffset() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } void Ifc4::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } -::Ifc4::IfcShapeAspect* Ifc4::IfcWindowLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc4::IfcShapeAspect>(); } +::Ifc4::IfcShapeAspect* Ifc4::IfcWindowLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc4::IfcShapeAspect>(true); } void Ifc4::IfcWindowLiningProperties::setShapeAspectStyle(::Ifc4::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } boost::optional< double > Ifc4::IfcWindowLiningProperties::LiningOffset() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } void Ifc4::IfcWindowLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } @@ -20135,7 +20315,7 @@ boost::optional< double > Ifc4::IfcWindowPanelProperties::FrameDepth() const { i void Ifc4::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4::IfcWindowPanelProperties::FrameThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } -::Ifc4::IfcShapeAspect* Ifc4::IfcWindowPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcShapeAspect>(); } +::Ifc4::IfcShapeAspect* Ifc4::IfcWindowPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4::IfcShapeAspect>(true); } void Ifc4::IfcWindowPanelProperties::setShapeAspectStyle(::Ifc4::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -20241,7 +20421,7 @@ Ifc4::IfcWorkSchedule::IfcWorkSchedule(IfcEntityInstanceData* e) : IfcWorkContro Ifc4::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< ::Ifc4::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) : IfcWorkControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4_IfcWorkSchedule_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_CreationDate));data_->setArgument(6,attr);} if (v8_Creators) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Creators)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_Purpose));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_Duration) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Duration));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_TotalFloat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_TotalFloat));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_StartTime));data_->setArgument(11,attr);} if (v13_FinishTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_FinishTime));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_PredefinedType,::Ifc4::IfcWorkScheduleTypeEnum::ToString(*v14_PredefinedType))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } } // Function implementations for IfcWorkTime -::Ifc4::IfcRecurrencePattern* Ifc4::IfcWorkTime::RecurrencePattern() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcRecurrencePattern>(); } +::Ifc4::IfcRecurrencePattern* Ifc4::IfcWorkTime::RecurrencePattern() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4::IfcRecurrencePattern>(true); } void Ifc4::IfcWorkTime::setRecurrencePattern(::Ifc4::IfcRecurrencePattern* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4::IfcWorkTime::Start() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4::IfcWorkTime::setStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } diff --git a/src/ifcparse/Ifc4.h b/src/ifcparse/Ifc4.h index 6264d2a8f3..82f8748c12 100644 --- a/src/ifcparse/Ifc4.h +++ b/src/ifcparse/Ifc4.h @@ -60,7 +60,10 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c /// IfcOrganization An organization. /// IfcPerson A person. /// IfcPersonAndOrganization A person related to an organization. -class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. /// /// Select from: @@ -75,17 +78,26 @@ class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface {} /// Selecting IfcMeasureWithUnit allows the specification of both the actual figure for the value together with the currency in which the value is represented. /// Selecting IfcMonetaryMeasure allows the specification only of the value, the currency being as set by the global context /// Selecting IfcRatioMeasure assumes that the amount is a percentage or other REAL number. Note that if the amount is normally specified as -20%, then this figure will need to be converted to a multiplier of 0.8 -class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. /// /// NOTE: Corresponding STEP type: axis2_placement, please refer to ISO/IS 10303-42:1994, p. 19 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 1.5 -class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// /// HISTORY New type in IFC Release 2x4 -class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This select type identifies /// all those types of entities which may participate in a Boolean operation to /// form a CSG solid. @@ -102,7 +114,10 @@ class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseI /// (IfcSolidModel) are defined for being valid Boolean operands. /// /// HISTORY: New Type in IFC Release 1.5.1 -class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. /// /// HISTORY: New Select Type in IFC2x @@ -111,7 +126,10 @@ class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface /// /// IfcClassification (for classification information) /// IfcClassificationReference (for reference into a classification source) -class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. /// /// NOTE  Generally, it is expected that selection will be by IfcClassificationReference to identify an individual classification notation that classifies an element in the building information model. For example an element, such as IfcTank, might be further classified by assigning an IfcClassificationReference with Identification = "L6814" and a ClassificationSource identifying the appropriate version of Uniclass. IfcClassification should only be selected in @@ -125,36 +143,57 @@ class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::I /// /// IfcClassification (for referencing a classification system) /// IfcClassificationReference (for referencing a classification item (or facet) inside a classification system) -class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. /// /// NOTE  Corresponding STEP name: colour. It has been made into a SELECT type in IFC to avoid multiple inheritance for pre defined colour. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// /// HISTORY  New select type in IFC2x4. -class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. /// Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive. /// /// NOTE Corresponding ISO 10303-42 type: csg_select, please refer to ISO/IS 10303-42:1994, p.168 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5.1. -class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. /// /// NOTE Corresponding ISO 10303 name: curve_font_or_scaled_curve_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve /// and subtypes) within a geometric model, or a curve with associated geometry and coordinates (IfcEdgeCurve) within a topological model. /// SELECT @@ -163,13 +202,19 @@ class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface /// IfcEdgeCurve /// /// HISTORY  New select type in IFC2x Edition 3. -class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. /// /// NOTE Corresponding ISO 10303 name: curve_style_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT /// @@ -177,7 +222,10 @@ class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInt /// IfcPropertyDefinition /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// /// SELECT @@ -252,7 +300,10 @@ class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterfa /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. -class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. /// /// HISTORY: New Select Type in IFC 2x @@ -261,20 +312,29 @@ class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInte /// /// IfcDocumentInformation (for "metadata" of an external document) /// IfcDocumentReference (for reference within a document) -class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. /// /// NOTE Corresponding ISO 10303 name: fill_style_select. Please refer to ISO/IS 10303-46:1994 for /// the final definition of the formal standard. /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. /// /// NOTE: Corresponding ISO 10303 type: geometric_set_select. Please refer to ISO/IS 10303-42:1994, p. 169 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 2x. -class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. /// /// SELECT @@ -283,11 +343,17 @@ class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInter /// IfcVirtualGridIntersection /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. /// /// It is the collection of all those items, that are assigned to a single layer. These items are representation items or complete representations (IfcRepresentationItem, IfcRepresentation). If an IfcRepresentation is referenced, all IfcRepresentationItem within its set of Items are assigned to the same layer. @@ -295,7 +361,10 @@ class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBase /// NOTE: Corresponding ISO 10303 name: layered_item. It was called layered_things in the ISO/CD version and had been renamed to layered_item in the ISO/IS final version. Please refer to ISO/IS 10303-46:1994, p. 13 for the final definition of the formal standard. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. /// /// HISTORY: New Select Type in IFC2x @@ -306,7 +375,10 @@ class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface {} /// IfcLibraryReference (for reference into a library of information by location) /// /// Generally, it is expected that selection will be IfcLibraryReference and only rarely IfcLibraryInformation. IfcLibraryInformation should only be selected in circumstances where there could be a need to indicate the libraries that will be used without making individual references. This may occur for higher level objects such as a project or building. -class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. /// /// The light distribution provides the luminous intensity distribution according to some standardized light distribution curves. @@ -329,7 +401,10 @@ class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface /// directions covers all cases. /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcMaterialSelect provides selection of either a material /// definition or a material usage definition that can be assigned to /// an element, a resource or another entity within IFC. @@ -356,7 +431,10 @@ class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUti /// /// IFC2x4 CHANGE The select now includes two new abstract entities IfcMaterialDefinition /// and IfcMaterialUsageDefinition with upward compatibility. The use of IfcMaterialList is deprecated from IFC2x4 onwards. -class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). /// /// NOTE IfcMeasureValue is a select data type for most basic measure types coming from ISO 10303-41. Select item IfcNonNegativeLengthMeasure is in addition to ISO 10303-41. @@ -366,7 +444,10 @@ class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface /// HISTORY New type in IFC Release 1.5.1. /// /// IFC 2x4 change: added IfcNonNegativeLengthMeasure -class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. /// /// HISTORY: New type in IFC Release 2.0 @@ -379,23 +460,38 @@ class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { /// IfcTable /// IfcText /// IfcTimeSeries -class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// /// HISTORY  New select type in IFC Release 2.0. -class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. /// SELECT /// @@ -403,7 +499,10 @@ class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseIn /// IfcVertexPoint /// /// HISTORY  New select type in IFC2x Edition 3. -class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The presentation style select is a selection of one of many kinds of styles, a different one for each kind of geometric representation item to be styled. /// /// NOTE Corresponding ISO 10303 name: presentation_style_Select. Please refer to ISO/IS @@ -412,7 +511,10 @@ class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInter /// HISTORY New type in IFC2x2. /// /// IFC2x4 CHANGE The select type has been deprecated. -class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcProcessSelectprovides the option to either /// select a process or activity occurrence, IfcProcess, /// or a process or activity type, IfcTypeProcess. @@ -423,9 +525,15 @@ class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBase /// IfcTypeProcess /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcProductSelectprovides the option to either select a /// product occurrence, IfcProduct, or a product type, /// IfcTypeProduct. @@ -435,13 +543,22 @@ class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::Ifc /// IfcTypeProduct /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// /// HISTORY  New Select type in IFC2x4. -class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, /// IfcTypeResource. @@ -451,13 +568,22 @@ class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInt /// IfcTypeResource /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < ¥. /// /// A shell of dimensionality 0 is represented by a graph consisting of a single vertex. The vertex shall not have any associated edges. @@ -469,7 +595,10 @@ class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInter /// NOTE  Corresponding ISO 10303 type: shell. Please refer to ISO/IS 10303-42:1994, p. 127 for the final definition of the formal standard. Only the select items closed_shell (IfcClosedShell) and open_shell (IfcOpenShell) have been incorporated in the current IFC release. /// /// HISTORY  New type in IFC2x. -class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcSimpleValue is a select type for selecting between simple value types. /// /// SELECT @@ -489,7 +618,10 @@ class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface {}; /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. -class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. /// /// Definition from ISO: The size (or width) measure value is given in the global drawing length units. @@ -502,7 +634,10 @@ class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface {} /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. -class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. /// SELECT /// @@ -510,7 +645,10 @@ class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcClosedShell /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: The /// IfcSpaceBoundarySelectselects either an internal space /// for internal or external space boundaries, or an external spatial @@ -523,7 +661,10 @@ class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface { /// /// HISTORY New select type /// in IFC2x4. -class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. /// /// NOTE: The two select types relate to the different ways to specifiy the sharpness (or shininess) of the specular part of the reflectance equation. It relates to the attributes: @@ -534,7 +675,10 @@ class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInte /// For each surface side style only one of the two methods is needed for calculating the specular part of the equation. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of /// IfcStructuralItem or IfcBuildingElement. The @@ -544,7 +688,10 @@ class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBase /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The style assignment select is a selection of two wasy of assigning presentation styles to an IfcStyledItem. /// /// by directly assigning presentation styles as subtypes of IfcPresentationStyle @@ -555,7 +702,10 @@ class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUt /// NOTE The select type has been introduced to provide an upward compatible improvement for assigning styles to a styled items. /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcStyleAssignmentSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcStyleAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface /// and subtypes) within a geometric model, or a face with associated surface geometry and coordinates (IfcFaceSurface) within a topological model. /// SELECT @@ -565,7 +715,10 @@ class IFC_PARSE_API IfcStyleAssignmentSelect : public virtual IfcUtil::IfcBaseIn /// IfcFaceBasedSurfaceModel (a connected face set, representing a faceted surface as an approximation of a non planar, non rectangular bounded surface) /// /// HISTORY  New select type in IFC2x3. -class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. /// /// The select type only includes the IfcSurfaceStyleRendering (which is the equivalent to surface_style_rendering) from the select type surface_style_element_select. In addition it has the IfcSurfaceStyleLighting, which holds the exact physically based lighting properties for lighting based calculation algorithms (as the opposite to the rendering based calculation), the IfcSurfaceStyleRefraction (for more advanced refraction indices) and IfcSurfaceStyleWithTextures (to allow for image textures applied to surfaces). In addition an IfcExternallyDefinedSurfaceStyle can be selected that points into an external material library. @@ -575,7 +728,10 @@ class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInt /// NOTE: Corresponding ISO 10303 type: surface_style_element_select. Please refer to ISO/IS 10303-46:1994, p. 85 for the final definition of the formal standard. /// /// HISTORY: New Select type in IFC2x2. -class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. /// /// NOTE  IfcTextFontSelect is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation. Corresponding ISO 10303 name: font_select. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard. @@ -583,20 +739,32 @@ class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBa /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. -class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 -class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. /// /// NOTE Corresponding ISO 10303 type: trimming_select, please refer to ISO/IS 10303-42:1994, p. 20 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.0 -class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. /// /// NOTE: Select item IfcMonetaryUnit is an addition to ISO 10303-41. @@ -610,7 +778,10 @@ class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface /// IfcMonetaryUnit: A unit for defining currencies. /// /// HISTORY: New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. /// @@ -621,7 +792,10 @@ class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface {}; /// IfcDerivedMeasureValue A select type for derived measure types. /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. /// @@ -630,11 +804,17 @@ class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface {}; /// definition of the formal standard. /// HISTORY New Type in IFC Release /// 1.5 -class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; class IFC_PARSE_API IfcActionRequestTypeEnum : public IfcUtil::IfcBaseType { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. /// HISTORY: New Enumeration in IFC2x4. diff --git a/src/ifcparse/Ifc4x1.cpp b/src/ifcparse/Ifc4x1.cpp index 89ea314eb2..e7814ae7bb 100644 --- a/src/ifcparse/Ifc4x1.cpp +++ b/src/ifcparse/Ifc4x1.cpp @@ -1178,6 +1178,66 @@ extern enumeration_type* IFC4X1_IfcWindowTypePartitioningEnum_type; extern enumeration_type* IFC4X1_IfcWorkCalendarTypeEnum_type; extern enumeration_type* IFC4X1_IfcWorkPlanTypeEnum_type; extern enumeration_type* IFC4X1_IfcWorkScheduleTypeEnum_type; +extern select_type* IFC4X1_IfcActorSelect_type; +extern select_type* IFC4X1_IfcAppliedValueSelect_type; +extern select_type* IFC4X1_IfcAxis2Placement_type; +extern select_type* IFC4X1_IfcBendingParameterSelect_type; +extern select_type* IFC4X1_IfcBooleanOperand_type; +extern select_type* IFC4X1_IfcClassificationReferenceSelect_type; +extern select_type* IFC4X1_IfcClassificationSelect_type; +extern select_type* IFC4X1_IfcColour_type; +extern select_type* IFC4X1_IfcColourOrFactor_type; +extern select_type* IFC4X1_IfcCoordinateReferenceSystemSelect_type; +extern select_type* IFC4X1_IfcCsgSelect_type; +extern select_type* IFC4X1_IfcCurveFontOrScaledCurveFontSelect_type; +extern select_type* IFC4X1_IfcCurveOnSurface_type; +extern select_type* IFC4X1_IfcCurveOrEdgeCurve_type; +extern select_type* IFC4X1_IfcCurveStyleFontSelect_type; +extern select_type* IFC4X1_IfcDefinitionSelect_type; +extern select_type* IFC4X1_IfcDerivedMeasureValue_type; +extern select_type* IFC4X1_IfcDocumentSelect_type; +extern select_type* IFC4X1_IfcFillStyleSelect_type; +extern select_type* IFC4X1_IfcGeometricSetSelect_type; +extern select_type* IFC4X1_IfcGridPlacementDirectionSelect_type; +extern select_type* IFC4X1_IfcHatchLineDistanceSelect_type; +extern select_type* IFC4X1_IfcLayeredItem_type; +extern select_type* IFC4X1_IfcLibrarySelect_type; +extern select_type* IFC4X1_IfcLightDistributionDataSourceSelect_type; +extern select_type* IFC4X1_IfcMaterialSelect_type; +extern select_type* IFC4X1_IfcMeasureValue_type; +extern select_type* IFC4X1_IfcMetricValueSelect_type; +extern select_type* IFC4X1_IfcModulusOfRotationalSubgradeReactionSelect_type; +extern select_type* IFC4X1_IfcModulusOfSubgradeReactionSelect_type; +extern select_type* IFC4X1_IfcModulusOfTranslationalSubgradeReactionSelect_type; +extern select_type* IFC4X1_IfcObjectReferenceSelect_type; +extern select_type* IFC4X1_IfcPointOrVertexPoint_type; +extern select_type* IFC4X1_IfcPresentationStyleSelect_type; +extern select_type* IFC4X1_IfcProcessSelect_type; +extern select_type* IFC4X1_IfcProductRepresentationSelect_type; +extern select_type* IFC4X1_IfcProductSelect_type; +extern select_type* IFC4X1_IfcPropertySetDefinitionSelect_type; +extern select_type* IFC4X1_IfcResourceObjectSelect_type; +extern select_type* IFC4X1_IfcResourceSelect_type; +extern select_type* IFC4X1_IfcRotationalStiffnessSelect_type; +extern select_type* IFC4X1_IfcSegmentIndexSelect_type; +extern select_type* IFC4X1_IfcShell_type; +extern select_type* IFC4X1_IfcSimpleValue_type; +extern select_type* IFC4X1_IfcSizeSelect_type; +extern select_type* IFC4X1_IfcSolidOrShell_type; +extern select_type* IFC4X1_IfcSpaceBoundarySelect_type; +extern select_type* IFC4X1_IfcSpecularHighlightSelect_type; +extern select_type* IFC4X1_IfcStructuralActivityAssignmentSelect_type; +extern select_type* IFC4X1_IfcStyleAssignmentSelect_type; +extern select_type* IFC4X1_IfcSurfaceOrFaceSurface_type; +extern select_type* IFC4X1_IfcSurfaceStyleElementSelect_type; +extern select_type* IFC4X1_IfcTextFontSelect_type; +extern select_type* IFC4X1_IfcTimeOrRatioSelect_type; +extern select_type* IFC4X1_IfcTranslationalStiffnessSelect_type; +extern select_type* IFC4X1_IfcTrimmingSelect_type; +extern select_type* IFC4X1_IfcUnit_type; +extern select_type* IFC4X1_IfcValue_type; +extern select_type* IFC4X1_IfcVectorOrDirection_type; +extern select_type* IFC4X1_IfcWarpingStiffnessSelect_type; const IfcParse::enumeration_type& Ifc4x1::IfcActionRequestTypeEnum::declaration() const { return *IFC4X1_IfcActionRequestTypeEnum_type; } @@ -10175,6 +10235,126 @@ Ifc4x1::IfcWorkScheduleTypeEnum::operator Ifc4x1::IfcWorkScheduleTypeEnum::Value return FromString((std::string) *data_->getArgument(0)); } +const IfcParse::select_type& Ifc4x1::IfcActorSelect::Class() { return *IFC4X1_IfcActorSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcAppliedValueSelect::Class() { return *IFC4X1_IfcAppliedValueSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcAxis2Placement::Class() { return *IFC4X1_IfcAxis2Placement_type; } + +const IfcParse::select_type& Ifc4x1::IfcBendingParameterSelect::Class() { return *IFC4X1_IfcBendingParameterSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcBooleanOperand::Class() { return *IFC4X1_IfcBooleanOperand_type; } + +const IfcParse::select_type& Ifc4x1::IfcClassificationReferenceSelect::Class() { return *IFC4X1_IfcClassificationReferenceSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcClassificationSelect::Class() { return *IFC4X1_IfcClassificationSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcColour::Class() { return *IFC4X1_IfcColour_type; } + +const IfcParse::select_type& Ifc4x1::IfcColourOrFactor::Class() { return *IFC4X1_IfcColourOrFactor_type; } + +const IfcParse::select_type& Ifc4x1::IfcCoordinateReferenceSystemSelect::Class() { return *IFC4X1_IfcCoordinateReferenceSystemSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcCsgSelect::Class() { return *IFC4X1_IfcCsgSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcCurveFontOrScaledCurveFontSelect::Class() { return *IFC4X1_IfcCurveFontOrScaledCurveFontSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcCurveOnSurface::Class() { return *IFC4X1_IfcCurveOnSurface_type; } + +const IfcParse::select_type& Ifc4x1::IfcCurveOrEdgeCurve::Class() { return *IFC4X1_IfcCurveOrEdgeCurve_type; } + +const IfcParse::select_type& Ifc4x1::IfcCurveStyleFontSelect::Class() { return *IFC4X1_IfcCurveStyleFontSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcDefinitionSelect::Class() { return *IFC4X1_IfcDefinitionSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcDerivedMeasureValue::Class() { return *IFC4X1_IfcDerivedMeasureValue_type; } + +const IfcParse::select_type& Ifc4x1::IfcDocumentSelect::Class() { return *IFC4X1_IfcDocumentSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcFillStyleSelect::Class() { return *IFC4X1_IfcFillStyleSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcGeometricSetSelect::Class() { return *IFC4X1_IfcGeometricSetSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcGridPlacementDirectionSelect::Class() { return *IFC4X1_IfcGridPlacementDirectionSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcHatchLineDistanceSelect::Class() { return *IFC4X1_IfcHatchLineDistanceSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcLayeredItem::Class() { return *IFC4X1_IfcLayeredItem_type; } + +const IfcParse::select_type& Ifc4x1::IfcLibrarySelect::Class() { return *IFC4X1_IfcLibrarySelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcLightDistributionDataSourceSelect::Class() { return *IFC4X1_IfcLightDistributionDataSourceSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcMaterialSelect::Class() { return *IFC4X1_IfcMaterialSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcMeasureValue::Class() { return *IFC4X1_IfcMeasureValue_type; } + +const IfcParse::select_type& Ifc4x1::IfcMetricValueSelect::Class() { return *IFC4X1_IfcMetricValueSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect::Class() { return *IFC4X1_IfcModulusOfRotationalSubgradeReactionSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcModulusOfSubgradeReactionSelect::Class() { return *IFC4X1_IfcModulusOfSubgradeReactionSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect::Class() { return *IFC4X1_IfcModulusOfTranslationalSubgradeReactionSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcObjectReferenceSelect::Class() { return *IFC4X1_IfcObjectReferenceSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcPointOrVertexPoint::Class() { return *IFC4X1_IfcPointOrVertexPoint_type; } + +const IfcParse::select_type& Ifc4x1::IfcPresentationStyleSelect::Class() { return *IFC4X1_IfcPresentationStyleSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcProcessSelect::Class() { return *IFC4X1_IfcProcessSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcProductRepresentationSelect::Class() { return *IFC4X1_IfcProductRepresentationSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcProductSelect::Class() { return *IFC4X1_IfcProductSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcPropertySetDefinitionSelect::Class() { return *IFC4X1_IfcPropertySetDefinitionSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcResourceObjectSelect::Class() { return *IFC4X1_IfcResourceObjectSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcResourceSelect::Class() { return *IFC4X1_IfcResourceSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcRotationalStiffnessSelect::Class() { return *IFC4X1_IfcRotationalStiffnessSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcSegmentIndexSelect::Class() { return *IFC4X1_IfcSegmentIndexSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcShell::Class() { return *IFC4X1_IfcShell_type; } + +const IfcParse::select_type& Ifc4x1::IfcSimpleValue::Class() { return *IFC4X1_IfcSimpleValue_type; } + +const IfcParse::select_type& Ifc4x1::IfcSizeSelect::Class() { return *IFC4X1_IfcSizeSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcSolidOrShell::Class() { return *IFC4X1_IfcSolidOrShell_type; } + +const IfcParse::select_type& Ifc4x1::IfcSpaceBoundarySelect::Class() { return *IFC4X1_IfcSpaceBoundarySelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcSpecularHighlightSelect::Class() { return *IFC4X1_IfcSpecularHighlightSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcStructuralActivityAssignmentSelect::Class() { return *IFC4X1_IfcStructuralActivityAssignmentSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcStyleAssignmentSelect::Class() { return *IFC4X1_IfcStyleAssignmentSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcSurfaceOrFaceSurface::Class() { return *IFC4X1_IfcSurfaceOrFaceSurface_type; } + +const IfcParse::select_type& Ifc4x1::IfcSurfaceStyleElementSelect::Class() { return *IFC4X1_IfcSurfaceStyleElementSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcTextFontSelect::Class() { return *IFC4X1_IfcTextFontSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcTimeOrRatioSelect::Class() { return *IFC4X1_IfcTimeOrRatioSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcTranslationalStiffnessSelect::Class() { return *IFC4X1_IfcTranslationalStiffnessSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcTrimmingSelect::Class() { return *IFC4X1_IfcTrimmingSelect_type; } + +const IfcParse::select_type& Ifc4x1::IfcUnit::Class() { return *IFC4X1_IfcUnit_type; } + +const IfcParse::select_type& Ifc4x1::IfcValue::Class() { return *IFC4X1_IfcValue_type; } + +const IfcParse::select_type& Ifc4x1::IfcVectorOrDirection::Class() { return *IFC4X1_IfcVectorOrDirection_type; } + +const IfcParse::select_type& Ifc4x1::IfcWarpingStiffnessSelect::Class() { return *IFC4X1_IfcWarpingStiffnessSelect_type; } + // Function implementations for IfcAbsorbedDoseMeasure const IfcParse::type_declaration& Ifc4x1::IfcAbsorbedDoseMeasure::Class() { return *IFC4X1_IfcAbsorbedDoseMeasure_type; } @@ -11102,7 +11282,7 @@ Ifc4x1::IfcActionRequest::IfcActionRequest(IfcEntityInstanceData* e) : IfcContro Ifc4x1::IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x1::IfcActionRequestTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcActionRequest_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v7_PredefinedType,::Ifc4x1::IfcActionRequestTypeEnum::ToString(*v7_PredefinedType))));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Status));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_LongDescription));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcActor -::Ifc4x1::IfcActorSelect* Ifc4x1::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcActorSelect>(); } +::Ifc4x1::IfcActorSelect* Ifc4x1::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcActorSelect>(true); } void Ifc4x1::IfcActor::setTheActor(::Ifc4x1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4x1::IfcRelAssignsToActor::list::ptr Ifc4x1::IfcActor::IsActingUpon() const { return data_->getInverse(IFC4X1_IfcRelAssignsToActor_type, 6)->as(); } @@ -11293,7 +11473,7 @@ Ifc4x1::IfcAlignment2DHorizontal::IfcAlignment2DHorizontal(IfcEntityInstanceData Ifc4x1::IfcAlignment2DHorizontal::IfcAlignment2DHorizontal(boost::optional< double > v1_StartDistAlong, aggregate_of< ::Ifc4x1::IfcAlignment2DHorizontalSegment >::ptr v2_Segments) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcAlignment2DHorizontal_type); if (v1_StartDistAlong) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_StartDistAlong));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Segments)->generalize());data_->setArgument(1,attr);} } // Function implementations for IfcAlignment2DHorizontalSegment -::Ifc4x1::IfcCurveSegment2D* Ifc4x1::IfcAlignment2DHorizontalSegment::CurveGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcCurveSegment2D>(); } +::Ifc4x1::IfcCurveSegment2D* Ifc4x1::IfcAlignment2DHorizontalSegment::CurveGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcCurveSegment2D>(true); } void Ifc4x1::IfcAlignment2DHorizontalSegment::setCurveGeometry(::Ifc4x1::IfcCurveSegment2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x1::IfcAlignment2DHorizontal::list::ptr Ifc4x1::IfcAlignment2DHorizontalSegment::ToHorizontal() const { return data_->getInverse(IFC4X1_IfcAlignment2DHorizontal_type, 1)->as(); } @@ -11378,9 +11558,9 @@ Ifc4x1::IfcAlignment2DVerticalSegment::IfcAlignment2DVerticalSegment(IfcEntityIn Ifc4x1::IfcAlignment2DVerticalSegment::IfcAlignment2DVerticalSegment(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient) : IfcAlignment2DSegment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcAlignment2DVerticalSegment_type); if (v1_TangentialContinuity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_TangentialContinuity));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_StartTag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_StartTag));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EndTag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EndTag));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_StartDistAlong));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_HorizontalLength));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_StartHeight));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_StartGradient));data_->setArgument(6,attr);} } // Function implementations for IfcAlignmentCurve -::Ifc4x1::IfcAlignment2DHorizontal* Ifc4x1::IfcAlignmentCurve::Horizontal() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcAlignment2DHorizontal>(); } +::Ifc4x1::IfcAlignment2DHorizontal* Ifc4x1::IfcAlignmentCurve::Horizontal() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcAlignment2DHorizontal>(true); } void Ifc4x1::IfcAlignmentCurve::setHorizontal(::Ifc4x1::IfcAlignment2DHorizontal* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x1::IfcAlignment2DVertical* Ifc4x1::IfcAlignmentCurve::Vertical() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcAlignment2DVertical>(); } +::Ifc4x1::IfcAlignment2DVertical* Ifc4x1::IfcAlignmentCurve::Vertical() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcAlignment2DVertical>(true); } void Ifc4x1::IfcAlignmentCurve::setVertical(::Ifc4x1::IfcAlignment2DVertical* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x1::IfcAlignmentCurve::Tag() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x1::IfcAlignmentCurve::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } @@ -11401,7 +11581,7 @@ Ifc4x1::IfcAnnotation::IfcAnnotation(IfcEntityInstanceData* e) : IfcProduct((Ifc Ifc4x1::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation) : IfcProduct((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcAnnotation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} } // Function implementations for IfcAnnotationFillArea -::Ifc4x1::IfcCurve* Ifc4x1::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCurve>(); } +::Ifc4x1::IfcCurve* Ifc4x1::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcAnnotationFillArea::setOuterBoundary(::Ifc4x1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< aggregate_of< ::Ifc4x1::IfcCurve >::ptr > Ifc4x1::IfcAnnotationFillArea::InnerBoundaries() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x1::IfcCurve >(); } void Ifc4x1::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc4x1::IfcCurve >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(1,attr);} } @@ -11413,7 +11593,7 @@ Ifc4x1::IfcAnnotationFillArea::IfcAnnotationFillArea(IfcEntityInstanceData* e) : Ifc4x1::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc4x1::IfcCurve* v1_OuterBoundary, boost::optional< aggregate_of< ::Ifc4x1::IfcCurve >::ptr > v2_InnerBoundaries) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcAnnotationFillArea_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_OuterBoundary));data_->setArgument(0,attr);} if (v2_InnerBoundaries) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_InnerBoundaries)->generalize());data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcApplication -::Ifc4x1::IfcOrganization* Ifc4x1::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcOrganization>(); } +::Ifc4x1::IfcOrganization* Ifc4x1::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcOrganization>(true); } void Ifc4x1::IfcApplication::setApplicationDeveloper(::Ifc4x1::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } std::string Ifc4x1::IfcApplication::Version() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x1::IfcApplication::setVersion(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -11433,9 +11613,9 @@ boost::optional< std::string > Ifc4x1::IfcAppliedValue::Name() const { if(!data_ void Ifc4x1::IfcAppliedValue::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcAppliedValue::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x1::IfcAppliedValue::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4x1::IfcAppliedValueSelect* Ifc4x1::IfcAppliedValue::AppliedValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcAppliedValueSelect>(); } +::Ifc4x1::IfcAppliedValueSelect* Ifc4x1::IfcAppliedValue::AppliedValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcAppliedValueSelect>(true); } void Ifc4x1::IfcAppliedValue::setAppliedValue(::Ifc4x1::IfcAppliedValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x1::IfcMeasureWithUnit* Ifc4x1::IfcAppliedValue::UnitBasis() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcMeasureWithUnit>(); } +::Ifc4x1::IfcMeasureWithUnit* Ifc4x1::IfcAppliedValue::UnitBasis() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcMeasureWithUnit>(true); } void Ifc4x1::IfcAppliedValue::setUnitBasis(::Ifc4x1::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcAppliedValue::ApplicableDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x1::IfcAppliedValue::setApplicableDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -11472,9 +11652,9 @@ boost::optional< std::string > Ifc4x1::IfcApproval::Level() const { if(!data_->g void Ifc4x1::IfcApproval::setLevel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x1::IfcApproval::Qualifier() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4x1::IfcApproval::setQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } -::Ifc4x1::IfcActorSelect* Ifc4x1::IfcApproval::RequestingApproval() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x1::IfcActorSelect>(); } +::Ifc4x1::IfcActorSelect* Ifc4x1::IfcApproval::RequestingApproval() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x1::IfcActorSelect>(true); } void Ifc4x1::IfcApproval::setRequestingApproval(::Ifc4x1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -::Ifc4x1::IfcActorSelect* Ifc4x1::IfcApproval::GivingApproval() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x1::IfcActorSelect>(); } +::Ifc4x1::IfcActorSelect* Ifc4x1::IfcApproval::GivingApproval() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x1::IfcActorSelect>(true); } void Ifc4x1::IfcApproval::setGivingApproval(::Ifc4x1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } ::Ifc4x1::IfcExternalReferenceRelationship::list::ptr Ifc4x1::IfcApproval::HasExternalReferences() const { return data_->getInverse(IFC4X1_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -11489,7 +11669,7 @@ Ifc4x1::IfcApproval::IfcApproval(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEnt Ifc4x1::IfcApproval::IfcApproval(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_TimeOfApproval, boost::optional< std::string > v5_Status, boost::optional< std::string > v6_Level, boost::optional< std::string > v7_Qualifier, ::Ifc4x1::IfcActorSelect* v8_RequestingApproval, ::Ifc4x1::IfcActorSelect* v9_GivingApproval) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcApproval_type); if (v1_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Name));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_TimeOfApproval) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_TimeOfApproval));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Status));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Level) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Level));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Qualifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Qualifier));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_RequestingApproval));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_GivingApproval));data_->setArgument(8,attr);} } // Function implementations for IfcApprovalRelationship -::Ifc4x1::IfcApproval* Ifc4x1::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcApproval>(); } +::Ifc4x1::IfcApproval* Ifc4x1::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcApproval>(true); } void Ifc4x1::IfcApprovalRelationship::setRelatingApproval(::Ifc4x1::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4x1::IfcApproval >::ptr Ifc4x1::IfcApprovalRelationship::RelatedApprovals() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x1::IfcApproval >(); } void Ifc4x1::IfcApprovalRelationship::setRelatedApprovals(aggregate_of< ::Ifc4x1::IfcApproval >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -11501,7 +11681,7 @@ Ifc4x1::IfcApprovalRelationship::IfcApprovalRelationship(IfcEntityInstanceData* Ifc4x1::IfcApprovalRelationship::IfcApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcApproval* v3_RelatingApproval, aggregate_of< ::Ifc4x1::IfcApproval >::ptr v4_RelatedApprovals) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingApproval));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedApprovals)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcArbitraryClosedProfileDef -::Ifc4x1::IfcCurve* Ifc4x1::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcCurve>(); } +::Ifc4x1::IfcCurve* Ifc4x1::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcArbitraryClosedProfileDef::setOuterCurve(::Ifc4x1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -11511,7 +11691,7 @@ Ifc4x1::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcEntityInst Ifc4x1::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcCurve* v3_OuterCurve) : IfcProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcArbitraryClosedProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4x1::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_OuterCurve));data_->setArgument(2,attr);} } // Function implementations for IfcArbitraryOpenProfileDef -::Ifc4x1::IfcBoundedCurve* Ifc4x1::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcBoundedCurve>(); } +::Ifc4x1::IfcBoundedCurve* Ifc4x1::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcBoundedCurve>(true); } void Ifc4x1::IfcArbitraryOpenProfileDef::setCurve(::Ifc4x1::IfcBoundedCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -11533,21 +11713,21 @@ Ifc4x1::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::Ifc4x // Function implementations for IfcAsset boost::optional< std::string > Ifc4x1::IfcAsset::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x1::IfcAsset::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4x1::IfcCostValue* Ifc4x1::IfcAsset::OriginalValue() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcCostValue>(); } +::Ifc4x1::IfcCostValue* Ifc4x1::IfcAsset::OriginalValue() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcCostValue>(true); } void Ifc4x1::IfcAsset::setOriginalValue(::Ifc4x1::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4x1::IfcCostValue* Ifc4x1::IfcAsset::CurrentValue() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x1::IfcCostValue>(); } +::Ifc4x1::IfcCostValue* Ifc4x1::IfcAsset::CurrentValue() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x1::IfcCostValue>(true); } void Ifc4x1::IfcAsset::setCurrentValue(::Ifc4x1::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -::Ifc4x1::IfcCostValue* Ifc4x1::IfcAsset::TotalReplacementCost() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x1::IfcCostValue>(); } +::Ifc4x1::IfcCostValue* Ifc4x1::IfcAsset::TotalReplacementCost() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x1::IfcCostValue>(true); } void Ifc4x1::IfcAsset::setTotalReplacementCost(::Ifc4x1::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -::Ifc4x1::IfcActorSelect* Ifc4x1::IfcAsset::Owner() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x1::IfcActorSelect>(); } +::Ifc4x1::IfcActorSelect* Ifc4x1::IfcAsset::Owner() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x1::IfcActorSelect>(true); } void Ifc4x1::IfcAsset::setOwner(::Ifc4x1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -::Ifc4x1::IfcActorSelect* Ifc4x1::IfcAsset::User() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x1::IfcActorSelect>(); } +::Ifc4x1::IfcActorSelect* Ifc4x1::IfcAsset::User() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x1::IfcActorSelect>(true); } void Ifc4x1::IfcAsset::setUser(::Ifc4x1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -::Ifc4x1::IfcPerson* Ifc4x1::IfcAsset::ResponsiblePerson() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x1::IfcPerson>(); } +::Ifc4x1::IfcPerson* Ifc4x1::IfcAsset::ResponsiblePerson() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x1::IfcPerson>(true); } void Ifc4x1::IfcAsset::setResponsiblePerson(::Ifc4x1::IfcPerson* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x1::IfcAsset::IncorporationDate() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } void Ifc4x1::IfcAsset::setIncorporationDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } -::Ifc4x1::IfcCostValue* Ifc4x1::IfcAsset::DepreciatedValue() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x1::IfcCostValue>(); } +::Ifc4x1::IfcCostValue* Ifc4x1::IfcAsset::DepreciatedValue() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x1::IfcCostValue>(true); } void Ifc4x1::IfcAsset::setDepreciatedValue(::Ifc4x1::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } @@ -11609,7 +11789,7 @@ Ifc4x1::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(IfcEntityInstan Ifc4x1::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcAudioVisualApplianceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x1::IfcAudioVisualApplianceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcAxis1Placement -::Ifc4x1::IfcDirection* Ifc4x1::IfcAxis1Placement::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcDirection>(); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcAxis1Placement::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcAxis1Placement::setAxis(::Ifc4x1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -11619,7 +11799,7 @@ Ifc4x1::IfcAxis1Placement::IfcAxis1Placement(IfcEntityInstanceData* e) : IfcPlac Ifc4x1::IfcAxis1Placement::IfcAxis1Placement(::Ifc4x1::IfcCartesianPoint* v1_Location, ::Ifc4x1::IfcDirection* v2_Axis) : IfcPlacement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcAxis1Placement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Location));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Axis));data_->setArgument(1,attr);} } // Function implementations for IfcAxis2Placement2D -::Ifc4x1::IfcDirection* Ifc4x1::IfcAxis2Placement2D::RefDirection() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcDirection>(); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcAxis2Placement2D::RefDirection() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcAxis2Placement2D::setRefDirection(::Ifc4x1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -11629,9 +11809,9 @@ Ifc4x1::IfcAxis2Placement2D::IfcAxis2Placement2D(IfcEntityInstanceData* e) : Ifc Ifc4x1::IfcAxis2Placement2D::IfcAxis2Placement2D(::Ifc4x1::IfcCartesianPoint* v1_Location, ::Ifc4x1::IfcDirection* v2_RefDirection) : IfcPlacement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcAxis2Placement2D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Location));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RefDirection));data_->setArgument(1,attr);} } // Function implementations for IfcAxis2Placement3D -::Ifc4x1::IfcDirection* Ifc4x1::IfcAxis2Placement3D::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcDirection>(); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcAxis2Placement3D::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcAxis2Placement3D::setAxis(::Ifc4x1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x1::IfcDirection* Ifc4x1::IfcAxis2Placement3D::RefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcDirection>(); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcAxis2Placement3D::RefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcAxis2Placement3D::setRefDirection(::Ifc4x1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -11797,9 +11977,9 @@ Ifc4x1::IfcBooleanClippingResult::IfcBooleanClippingResult(::Ifc4x1::IfcBooleanO // Function implementations for IfcBooleanResult ::Ifc4x1::IfcBooleanOperator::Value Ifc4x1::IfcBooleanResult::Operator() const { return ::Ifc4x1::IfcBooleanOperator::FromString(*data_->getArgument(0)); } void Ifc4x1::IfcBooleanResult::setOperator(::Ifc4x1::IfcBooleanOperator::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcBooleanOperator::ToString(v)));data_->setArgument(0,attr);} } -::Ifc4x1::IfcBooleanOperand* Ifc4x1::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcBooleanOperand>(); } +::Ifc4x1::IfcBooleanOperand* Ifc4x1::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcBooleanOperand>(true); } void Ifc4x1::IfcBooleanResult::setFirstOperand(::Ifc4x1::IfcBooleanOperand* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x1::IfcBooleanOperand* Ifc4x1::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcBooleanOperand>(); } +::Ifc4x1::IfcBooleanOperand* Ifc4x1::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcBooleanOperand>(true); } void Ifc4x1::IfcBooleanResult::setSecondOperand(::Ifc4x1::IfcBooleanOperand* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -11827,17 +12007,17 @@ Ifc4x1::IfcBoundaryCurve::IfcBoundaryCurve(IfcEntityInstanceData* e) : IfcCompos Ifc4x1::IfcBoundaryCurve::IfcBoundaryCurve(aggregate_of< ::Ifc4x1::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurveOnSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcBoundaryCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Segments)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SelfIntersect));data_->setArgument(1,attr);} } // Function implementations for IfcBoundaryEdgeCondition -::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x1::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthX(::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x1::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthY(::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x1::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthZ(::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x1::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x1::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x1::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -11847,11 +12027,11 @@ Ifc4x1::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(IfcEntityInstanceData Ifc4x1::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect* v2_TranslationalStiffnessByLengthX, ::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect* v3_TranslationalStiffnessByLengthY, ::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect* v4_TranslationalStiffnessByLengthZ, ::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect* v5_RotationalStiffnessByLengthX, ::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect* v6_RotationalStiffnessByLengthY, ::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect* v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcBoundaryEdgeCondition_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TranslationalStiffnessByLengthX));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TranslationalStiffnessByLengthY));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TranslationalStiffnessByLengthZ));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RotationalStiffnessByLengthX));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RotationalStiffnessByLengthY));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RotationalStiffnessByLengthZ));data_->setArgument(6,attr);} } // Function implementations for IfcBoundaryFaceCondition -::Ifc4x1::IfcModulusOfSubgradeReactionSelect* Ifc4x1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4x1::IfcModulusOfSubgradeReactionSelect* Ifc4x1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x1::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaX(::Ifc4x1::IfcModulusOfSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x1::IfcModulusOfSubgradeReactionSelect* Ifc4x1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4x1::IfcModulusOfSubgradeReactionSelect* Ifc4x1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x1::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaY(::Ifc4x1::IfcModulusOfSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x1::IfcModulusOfSubgradeReactionSelect* Ifc4x1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4x1::IfcModulusOfSubgradeReactionSelect* Ifc4x1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x1::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(::Ifc4x1::IfcModulusOfSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -11861,17 +12041,17 @@ Ifc4x1::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(IfcEntityInstanceData Ifc4x1::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcModulusOfSubgradeReactionSelect* v2_TranslationalStiffnessByAreaX, ::Ifc4x1::IfcModulusOfSubgradeReactionSelect* v3_TranslationalStiffnessByAreaY, ::Ifc4x1::IfcModulusOfSubgradeReactionSelect* v4_TranslationalStiffnessByAreaZ) : IfcBoundaryCondition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcBoundaryFaceCondition_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TranslationalStiffnessByAreaX));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TranslationalStiffnessByAreaY));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TranslationalStiffnessByAreaZ));data_->setArgument(3,attr);} } // Function implementations for IfcBoundaryNodeCondition -::Ifc4x1::IfcTranslationalStiffnessSelect* Ifc4x1::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcTranslationalStiffnessSelect>(); } +::Ifc4x1::IfcTranslationalStiffnessSelect* Ifc4x1::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcTranslationalStiffnessSelect>(true); } void Ifc4x1::IfcBoundaryNodeCondition::setTranslationalStiffnessX(::Ifc4x1::IfcTranslationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x1::IfcTranslationalStiffnessSelect* Ifc4x1::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcTranslationalStiffnessSelect>(); } +::Ifc4x1::IfcTranslationalStiffnessSelect* Ifc4x1::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcTranslationalStiffnessSelect>(true); } void Ifc4x1::IfcBoundaryNodeCondition::setTranslationalStiffnessY(::Ifc4x1::IfcTranslationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x1::IfcTranslationalStiffnessSelect* Ifc4x1::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcTranslationalStiffnessSelect>(); } +::Ifc4x1::IfcTranslationalStiffnessSelect* Ifc4x1::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcTranslationalStiffnessSelect>(true); } void Ifc4x1::IfcBoundaryNodeCondition::setTranslationalStiffnessZ(::Ifc4x1::IfcTranslationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x1::IfcRotationalStiffnessSelect* Ifc4x1::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcRotationalStiffnessSelect>(); } +::Ifc4x1::IfcRotationalStiffnessSelect* Ifc4x1::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcRotationalStiffnessSelect>(true); } void Ifc4x1::IfcBoundaryNodeCondition::setRotationalStiffnessX(::Ifc4x1::IfcRotationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x1::IfcRotationalStiffnessSelect* Ifc4x1::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcRotationalStiffnessSelect>(); } +::Ifc4x1::IfcRotationalStiffnessSelect* Ifc4x1::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcRotationalStiffnessSelect>(true); } void Ifc4x1::IfcBoundaryNodeCondition::setRotationalStiffnessY(::Ifc4x1::IfcRotationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x1::IfcRotationalStiffnessSelect* Ifc4x1::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcRotationalStiffnessSelect>(); } +::Ifc4x1::IfcRotationalStiffnessSelect* Ifc4x1::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcRotationalStiffnessSelect>(true); } void Ifc4x1::IfcBoundaryNodeCondition::setRotationalStiffnessZ(::Ifc4x1::IfcRotationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -11881,7 +12061,7 @@ Ifc4x1::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(IfcEntityInstanceData Ifc4x1::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x1::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x1::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x1::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x1::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x1::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ) : IfcBoundaryCondition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcBoundaryNodeCondition_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TranslationalStiffnessX));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TranslationalStiffnessY));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TranslationalStiffnessZ));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RotationalStiffnessX));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RotationalStiffnessY));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RotationalStiffnessZ));data_->setArgument(6,attr);} } // Function implementations for IfcBoundaryNodeConditionWarping -::Ifc4x1::IfcWarpingStiffnessSelect* Ifc4x1::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x1::IfcWarpingStiffnessSelect>(); } +::Ifc4x1::IfcWarpingStiffnessSelect* Ifc4x1::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x1::IfcWarpingStiffnessSelect>(true); } void Ifc4x1::IfcBoundaryNodeConditionWarping::setWarpingStiffness(::Ifc4x1::IfcWarpingStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -11907,7 +12087,7 @@ Ifc4x1::IfcBoundedSurface::IfcBoundedSurface(IfcEntityInstanceData* e) : IfcSurf Ifc4x1::IfcBoundedSurface::IfcBoundedSurface() : IfcSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcBoundedSurface_type); } // Function implementations for IfcBoundingBox -::Ifc4x1::IfcCartesianPoint* Ifc4x1::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCartesianPoint>(); } +::Ifc4x1::IfcCartesianPoint* Ifc4x1::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCartesianPoint>(true); } void Ifc4x1::IfcBoundingBox::setCorner(::Ifc4x1::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x1::IfcBoundingBox::XDim() const { double v = *data_->getArgument(1); return v; } void Ifc4x1::IfcBoundingBox::setXDim(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -11923,7 +12103,7 @@ Ifc4x1::IfcBoundingBox::IfcBoundingBox(IfcEntityInstanceData* e) : IfcGeometricR Ifc4x1::IfcBoundingBox::IfcBoundingBox(::Ifc4x1::IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcBoundingBox_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Corner));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_XDim));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_YDim));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ZDim));data_->setArgument(3,attr);} } // Function implementations for IfcBoxedHalfSpace -::Ifc4x1::IfcBoundingBox* Ifc4x1::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcBoundingBox>(); } +::Ifc4x1::IfcBoundingBox* Ifc4x1::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcBoundingBox>(true); } void Ifc4x1::IfcBoxedHalfSpace::setEnclosure(::Ifc4x1::IfcBoundingBox* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -11937,7 +12117,7 @@ boost::optional< double > Ifc4x1::IfcBuilding::ElevationOfRefHeight() const { if void Ifc4x1::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } boost::optional< double > Ifc4x1::IfcBuilding::ElevationOfTerrain() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } void Ifc4x1::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } -::Ifc4x1::IfcPostalAddress* Ifc4x1::IfcBuilding::BuildingAddress() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x1::IfcPostalAddress>(); } +::Ifc4x1::IfcPostalAddress* Ifc4x1::IfcBuilding::BuildingAddress() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x1::IfcPostalAddress>(true); } void Ifc4x1::IfcBuilding::setBuildingAddress(::Ifc4x1::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } @@ -12185,11 +12365,11 @@ Ifc4x1::IfcCartesianPointList3D::IfcCartesianPointList3D(IfcEntityInstanceData* Ifc4x1::IfcCartesianPointList3D::IfcCartesianPointList3D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcCartesianPointList3D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CoordList));data_->setArgument(0,attr);} if (v2_TagList) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_TagList));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcCartesianTransformationOperator -::Ifc4x1::IfcDirection* Ifc4x1::IfcCartesianTransformationOperator::Axis1() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcDirection>(); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcCartesianTransformationOperator::Axis1() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcCartesianTransformationOperator::setAxis1(::Ifc4x1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x1::IfcDirection* Ifc4x1::IfcCartesianTransformationOperator::Axis2() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcDirection>(); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcCartesianTransformationOperator::Axis2() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcCartesianTransformationOperator::setAxis2(::Ifc4x1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x1::IfcCartesianPoint* Ifc4x1::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcCartesianPoint>(); } +::Ifc4x1::IfcCartesianPoint* Ifc4x1::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcCartesianPoint>(true); } void Ifc4x1::IfcCartesianTransformationOperator::setLocalOrigin(::Ifc4x1::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x1::IfcCartesianTransformationOperator::Scale() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4x1::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } @@ -12219,7 +12399,7 @@ Ifc4x1::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformati Ifc4x1::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(::Ifc4x1::IfcDirection* v1_Axis1, ::Ifc4x1::IfcDirection* v2_Axis2, ::Ifc4x1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2) : IfcCartesianTransformationOperator2D((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcCartesianTransformationOperator2DnonUniform_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Axis1));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Axis2));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_LocalOrigin));data_->setArgument(2,attr);} if (v4_Scale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Scale));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Scale2) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Scale2));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcCartesianTransformationOperator3D -::Ifc4x1::IfcDirection* Ifc4x1::IfcCartesianTransformationOperator3D::Axis3() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcDirection>(); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcCartesianTransformationOperator3D::Axis3() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcCartesianTransformationOperator3D::setAxis3(::Ifc4x1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -12373,7 +12553,7 @@ Ifc4x1::IfcClassification::IfcClassification(IfcEntityInstanceData* e) : IfcExte Ifc4x1::IfcClassification::IfcClassification(boost::optional< std::string > v1_Source, boost::optional< std::string > v2_Edition, boost::optional< std::string > v3_EditionDate, std::string v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Location, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcClassification_type); if (v1_Source) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Source));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Edition) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Edition));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EditionDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EditionDate));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Name));data_->setArgument(3,attr);} if (v5_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Description));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Location));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ReferenceTokens) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ReferenceTokens));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcClassificationReference -::Ifc4x1::IfcClassificationReferenceSelect* Ifc4x1::IfcClassificationReference::ReferencedSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcClassificationReferenceSelect>(); } +::Ifc4x1::IfcClassificationReferenceSelect* Ifc4x1::IfcClassificationReference::ReferencedSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcClassificationReferenceSelect>(true); } void Ifc4x1::IfcClassificationReference::setReferencedSource(::Ifc4x1::IfcClassificationReferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcClassificationReference::Description() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x1::IfcClassificationReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -12549,7 +12729,7 @@ Ifc4x1::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(aggregate_of< ::I void Ifc4x1::IfcCompositeCurveSegment::setTransition(::Ifc4x1::IfcTransitionCode::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcTransitionCode::ToString(v)));data_->setArgument(0,attr);} } bool Ifc4x1::IfcCompositeCurveSegment::SameSense() const { bool v = *data_->getArgument(1); return v; } void Ifc4x1::IfcCompositeCurveSegment::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x1::IfcCurve* Ifc4x1::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcCurve>(); } +::Ifc4x1::IfcCurve* Ifc4x1::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcCompositeCurveSegment::setParentCurve(::Ifc4x1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4x1::IfcCompositeCurve::list::ptr Ifc4x1::IfcCompositeCurveSegment::UsingCurves() const { return data_->getInverse(IFC4X1_IfcCompositeCurve_type, 0)->as(); } @@ -12612,7 +12792,7 @@ Ifc4x1::IfcCondenserType::IfcCondenserType(IfcEntityInstanceData* e) : IfcEnergy Ifc4x1::IfcCondenserType::IfcCondenserType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCondenserTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcCondenserType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x1::IfcCondenserTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcConic -::Ifc4x1::IfcAxis2Placement* Ifc4x1::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcAxis2Placement>(); } +::Ifc4x1::IfcAxis2Placement* Ifc4x1::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcAxis2Placement>(true); } void Ifc4x1::IfcConic::setPosition(::Ifc4x1::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -12632,9 +12812,9 @@ Ifc4x1::IfcConnectedFaceSet::IfcConnectedFaceSet(IfcEntityInstanceData* e) : Ifc Ifc4x1::IfcConnectedFaceSet::IfcConnectedFaceSet(aggregate_of< ::Ifc4x1::IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcConnectedFaceSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CfsFaces)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcConnectionCurveGeometry -::Ifc4x1::IfcCurveOrEdgeCurve* Ifc4x1::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCurveOrEdgeCurve>(); } +::Ifc4x1::IfcCurveOrEdgeCurve* Ifc4x1::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCurveOrEdgeCurve>(true); } void Ifc4x1::IfcConnectionCurveGeometry::setCurveOnRelatingElement(::Ifc4x1::IfcCurveOrEdgeCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x1::IfcCurveOrEdgeCurve* Ifc4x1::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcCurveOrEdgeCurve>(); } +::Ifc4x1::IfcCurveOrEdgeCurve* Ifc4x1::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcCurveOrEdgeCurve>(true); } void Ifc4x1::IfcConnectionCurveGeometry::setCurveOnRelatedElement(::Ifc4x1::IfcCurveOrEdgeCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -12666,9 +12846,9 @@ Ifc4x1::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcEntity Ifc4x1::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(::Ifc4x1::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x1::IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcConnectionPointEccentricity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_PointOnRelatingElement));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PointOnRelatedElement));data_->setArgument(1,attr);} if (v3_EccentricityInX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EccentricityInX));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_EccentricityInY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_EccentricityInY));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_EccentricityInZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_EccentricityInZ));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcConnectionPointGeometry -::Ifc4x1::IfcPointOrVertexPoint* Ifc4x1::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcPointOrVertexPoint>(); } +::Ifc4x1::IfcPointOrVertexPoint* Ifc4x1::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcPointOrVertexPoint>(true); } void Ifc4x1::IfcConnectionPointGeometry::setPointOnRelatingElement(::Ifc4x1::IfcPointOrVertexPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x1::IfcPointOrVertexPoint* Ifc4x1::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcPointOrVertexPoint>(); } +::Ifc4x1::IfcPointOrVertexPoint* Ifc4x1::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcPointOrVertexPoint>(true); } void Ifc4x1::IfcConnectionPointGeometry::setPointOnRelatedElement(::Ifc4x1::IfcPointOrVertexPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -12678,9 +12858,9 @@ Ifc4x1::IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcEntityInstance Ifc4x1::IfcConnectionPointGeometry::IfcConnectionPointGeometry(::Ifc4x1::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x1::IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcConnectionPointGeometry_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_PointOnRelatingElement));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PointOnRelatedElement));data_->setArgument(1,attr);} } // Function implementations for IfcConnectionSurfaceGeometry -::Ifc4x1::IfcSurfaceOrFaceSurface* Ifc4x1::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcSurfaceOrFaceSurface>(); } +::Ifc4x1::IfcSurfaceOrFaceSurface* Ifc4x1::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcSurfaceOrFaceSurface>(true); } void Ifc4x1::IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(::Ifc4x1::IfcSurfaceOrFaceSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x1::IfcSurfaceOrFaceSurface* Ifc4x1::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcSurfaceOrFaceSurface>(); } +::Ifc4x1::IfcSurfaceOrFaceSurface* Ifc4x1::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcSurfaceOrFaceSurface>(true); } void Ifc4x1::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(::Ifc4x1::IfcSurfaceOrFaceSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -12690,9 +12870,9 @@ Ifc4x1::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcEntityInst Ifc4x1::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(::Ifc4x1::IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, ::Ifc4x1::IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcConnectionSurfaceGeometry_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SurfaceOnRelatingElement));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SurfaceOnRelatedElement));data_->setArgument(1,attr);} } // Function implementations for IfcConnectionVolumeGeometry -::Ifc4x1::IfcSolidOrShell* Ifc4x1::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcSolidOrShell>(); } +::Ifc4x1::IfcSolidOrShell* Ifc4x1::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcSolidOrShell>(true); } void Ifc4x1::IfcConnectionVolumeGeometry::setVolumeOnRelatingElement(::Ifc4x1::IfcSolidOrShell* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x1::IfcSolidOrShell* Ifc4x1::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcSolidOrShell>(); } +::Ifc4x1::IfcSolidOrShell* Ifc4x1::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcSolidOrShell>(true); } void Ifc4x1::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(::Ifc4x1::IfcSolidOrShell* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -12710,7 +12890,7 @@ void Ifc4x1::IfcConstraint::setDescription(boost::optional< std::string > v) { { void Ifc4x1::IfcConstraint::setConstraintGrade(::Ifc4x1::IfcConstraintEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcConstraintEnum::ToString(v)));data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x1::IfcConstraint::ConstraintSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x1::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } -::Ifc4x1::IfcActorSelect* Ifc4x1::IfcConstraint::CreatingActor() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcActorSelect>(); } +::Ifc4x1::IfcActorSelect* Ifc4x1::IfcConstraint::CreatingActor() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcActorSelect>(true); } void Ifc4x1::IfcConstraint::setCreatingActor(::Ifc4x1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x1::IfcConstraint::CreationTime() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x1::IfcConstraint::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } @@ -12786,11 +12966,11 @@ Ifc4x1::IfcConstructionProductResourceType::IfcConstructionProductResourceType(I Ifc4x1::IfcConstructionProductResourceType::IfcConstructionProductResourceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x1::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcConstructionProductResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4x1::IfcConstructionProductResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcConstructionResource -::Ifc4x1::IfcResourceTime* Ifc4x1::IfcConstructionResource::Usage() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x1::IfcResourceTime>(); } +::Ifc4x1::IfcResourceTime* Ifc4x1::IfcConstructionResource::Usage() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x1::IfcResourceTime>(true); } void Ifc4x1::IfcConstructionResource::setUsage(::Ifc4x1::IfcResourceTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > Ifc4x1::IfcConstructionResource::BaseCosts() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x1::IfcAppliedValue >(); } void Ifc4x1::IfcConstructionResource::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } -::Ifc4x1::IfcPhysicalQuantity* Ifc4x1::IfcConstructionResource::BaseQuantity() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x1::IfcPhysicalQuantity>(); } +::Ifc4x1::IfcPhysicalQuantity* Ifc4x1::IfcConstructionResource::BaseQuantity() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x1::IfcPhysicalQuantity>(true); } void Ifc4x1::IfcConstructionResource::setBaseQuantity(::Ifc4x1::IfcPhysicalQuantity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -12802,7 +12982,7 @@ Ifc4x1::IfcConstructionResource::IfcConstructionResource(std::string v1_GlobalId // Function implementations for IfcConstructionResourceType boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > Ifc4x1::IfcConstructionResourceType::BaseCosts() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x1::IfcAppliedValue >(); } void Ifc4x1::IfcConstructionResourceType::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(9,attr);} } -::Ifc4x1::IfcPhysicalQuantity* Ifc4x1::IfcConstructionResourceType::BaseQuantity() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x1::IfcPhysicalQuantity>(); } +::Ifc4x1::IfcPhysicalQuantity* Ifc4x1::IfcConstructionResourceType::BaseQuantity() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x1::IfcPhysicalQuantity>(true); } void Ifc4x1::IfcConstructionResourceType::setBaseQuantity(::Ifc4x1::IfcPhysicalQuantity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -12820,7 +13000,7 @@ boost::optional< std::string > Ifc4x1::IfcContext::Phase() const { if(!data_->ge void Ifc4x1::IfcContext::setPhase(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationContext >::ptr > Ifc4x1::IfcContext::RepresentationContexts() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x1::IfcRepresentationContext >(); } void Ifc4x1::IfcContext::setRepresentationContexts(boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationContext >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } -::Ifc4x1::IfcUnitAssignment* Ifc4x1::IfcContext::UnitsInContext() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x1::IfcUnitAssignment>(); } +::Ifc4x1::IfcUnitAssignment* Ifc4x1::IfcContext::UnitsInContext() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x1::IfcUnitAssignment>(true); } void Ifc4x1::IfcContext::setUnitsInContext(::Ifc4x1::IfcUnitAssignment* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } ::Ifc4x1::IfcRelDefinesByProperties::list::ptr Ifc4x1::IfcContext::IsDefinedBy() const { return data_->getInverse(IFC4X1_IfcRelDefinesByProperties_type, 4)->as(); } @@ -12876,7 +13056,7 @@ Ifc4x1::IfcControllerType::IfcControllerType(std::string v1_GlobalId, ::Ifc4x1:: // Function implementations for IfcConversionBasedUnit std::string Ifc4x1::IfcConversionBasedUnit::Name() const { std::string v = *data_->getArgument(2); return v; } void Ifc4x1::IfcConversionBasedUnit::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x1::IfcMeasureWithUnit* Ifc4x1::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcMeasureWithUnit>(); } +::Ifc4x1::IfcMeasureWithUnit* Ifc4x1::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcMeasureWithUnit>(true); } void Ifc4x1::IfcConversionBasedUnit::setConversionFactor(::Ifc4x1::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x1::IfcExternalReferenceRelationship::list::ptr Ifc4x1::IfcConversionBasedUnit::HasExternalReference() const { return data_->getInverse(IFC4X1_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -12937,9 +13117,9 @@ Ifc4x1::IfcCoolingTowerType::IfcCoolingTowerType(IfcEntityInstanceData* e) : Ifc Ifc4x1::IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcCoolingTowerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x1::IfcCoolingTowerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcCoordinateOperation -::Ifc4x1::IfcCoordinateReferenceSystemSelect* Ifc4x1::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCoordinateReferenceSystemSelect>(); } +::Ifc4x1::IfcCoordinateReferenceSystemSelect* Ifc4x1::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCoordinateReferenceSystemSelect>(true); } void Ifc4x1::IfcCoordinateOperation::setSourceCRS(::Ifc4x1::IfcCoordinateReferenceSystemSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x1::IfcCoordinateReferenceSystem* Ifc4x1::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcCoordinateReferenceSystem>(); } +::Ifc4x1::IfcCoordinateReferenceSystem* Ifc4x1::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcCoordinateReferenceSystem>(true); } void Ifc4x1::IfcCoordinateOperation::setTargetCRS(::Ifc4x1::IfcCoordinateReferenceSystem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13046,7 +13226,7 @@ Ifc4x1::IfcCrewResourceType::IfcCrewResourceType(IfcEntityInstanceData* e) : Ifc Ifc4x1::IfcCrewResourceType::IfcCrewResourceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x1::IfcCrewResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcCrewResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4x1::IfcCrewResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcCsgPrimitive3D -::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcAxis2Placement3D>(); } +::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcAxis2Placement3D>(true); } void Ifc4x1::IfcCsgPrimitive3D::setPosition(::Ifc4x1::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -13056,7 +13236,7 @@ Ifc4x1::IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcEntityInstanceData* e) : IfcGeom Ifc4x1::IfcCsgPrimitive3D::IfcCsgPrimitive3D(::Ifc4x1::IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcCsgPrimitive3D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);} } // Function implementations for IfcCsgSolid -::Ifc4x1::IfcCsgSelect* Ifc4x1::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCsgSelect>(); } +::Ifc4x1::IfcCsgSelect* Ifc4x1::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCsgSelect>(true); } void Ifc4x1::IfcCsgSolid::setTreeRootExpression(::Ifc4x1::IfcCsgSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -13066,15 +13246,15 @@ Ifc4x1::IfcCsgSolid::IfcCsgSolid(IfcEntityInstanceData* e) : IfcSolidModel((IfcE Ifc4x1::IfcCsgSolid::IfcCsgSolid(::Ifc4x1::IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcCsgSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TreeRootExpression));data_->setArgument(0,attr);} } // Function implementations for IfcCurrencyRelationship -::Ifc4x1::IfcMonetaryUnit* Ifc4x1::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcMonetaryUnit>(); } +::Ifc4x1::IfcMonetaryUnit* Ifc4x1::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcMonetaryUnit>(true); } void Ifc4x1::IfcCurrencyRelationship::setRelatingMonetaryUnit(::Ifc4x1::IfcMonetaryUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x1::IfcMonetaryUnit* Ifc4x1::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcMonetaryUnit>(); } +::Ifc4x1::IfcMonetaryUnit* Ifc4x1::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcMonetaryUnit>(true); } void Ifc4x1::IfcCurrencyRelationship::setRelatedMonetaryUnit(::Ifc4x1::IfcMonetaryUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } double Ifc4x1::IfcCurrencyRelationship::ExchangeRate() const { double v = *data_->getArgument(4); return v; } void Ifc4x1::IfcCurrencyRelationship::setExchangeRate(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x1::IfcCurrencyRelationship::RateDateTime() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x1::IfcCurrencyRelationship::setRateDateTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4x1::IfcLibraryInformation* Ifc4x1::IfcCurrencyRelationship::RateSource() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcLibraryInformation>(); } +::Ifc4x1::IfcLibraryInformation* Ifc4x1::IfcCurrencyRelationship::RateSource() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcLibraryInformation>(true); } void Ifc4x1::IfcCurrencyRelationship::setRateSource(::Ifc4x1::IfcLibraryInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -13112,9 +13292,9 @@ Ifc4x1::IfcCurve::IfcCurve(IfcEntityInstanceData* e) : IfcGeometricRepresentatio Ifc4x1::IfcCurve::IfcCurve() : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcCurve_type); } // Function implementations for IfcCurveBoundedPlane -::Ifc4x1::IfcPlane* Ifc4x1::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcPlane>(); } +::Ifc4x1::IfcPlane* Ifc4x1::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcPlane>(true); } void Ifc4x1::IfcCurveBoundedPlane::setBasisSurface(::Ifc4x1::IfcPlane* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x1::IfcCurve* Ifc4x1::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcCurve>(); } +::Ifc4x1::IfcCurve* Ifc4x1::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcCurveBoundedPlane::setOuterBoundary(::Ifc4x1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x1::IfcCurve >::ptr Ifc4x1::IfcCurveBoundedPlane::InnerBoundaries() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x1::IfcCurve >(); } void Ifc4x1::IfcCurveBoundedPlane::setInnerBoundaries(aggregate_of< ::Ifc4x1::IfcCurve >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } @@ -13126,7 +13306,7 @@ Ifc4x1::IfcCurveBoundedPlane::IfcCurveBoundedPlane(IfcEntityInstanceData* e) : I Ifc4x1::IfcCurveBoundedPlane::IfcCurveBoundedPlane(::Ifc4x1::IfcPlane* v1_BasisSurface, ::Ifc4x1::IfcCurve* v2_OuterBoundary, aggregate_of< ::Ifc4x1::IfcCurve >::ptr v3_InnerBoundaries) : IfcBoundedSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcCurveBoundedPlane_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisSurface));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OuterBoundary));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_InnerBoundaries)->generalize());data_->setArgument(2,attr);} } // Function implementations for IfcCurveBoundedSurface -::Ifc4x1::IfcSurface* Ifc4x1::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcSurface>(); } +::Ifc4x1::IfcSurface* Ifc4x1::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcSurface>(true); } void Ifc4x1::IfcCurveBoundedSurface::setBasisSurface(::Ifc4x1::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x1::IfcBoundaryCurve >::ptr Ifc4x1::IfcCurveBoundedSurface::Boundaries() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x1::IfcBoundaryCurve >(); } void Ifc4x1::IfcCurveBoundedSurface::setBoundaries(aggregate_of< ::Ifc4x1::IfcBoundaryCurve >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -13140,7 +13320,7 @@ Ifc4x1::IfcCurveBoundedSurface::IfcCurveBoundedSurface(IfcEntityInstanceData* e) Ifc4x1::IfcCurveBoundedSurface::IfcCurveBoundedSurface(::Ifc4x1::IfcSurface* v1_BasisSurface, aggregate_of< ::Ifc4x1::IfcBoundaryCurve >::ptr v2_Boundaries, bool v3_ImplicitOuter) : IfcBoundedSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcCurveBoundedSurface_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisSurface));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Boundaries)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ImplicitOuter));data_->setArgument(2,attr);} } // Function implementations for IfcCurveSegment2D -::Ifc4x1::IfcCartesianPoint* Ifc4x1::IfcCurveSegment2D::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCartesianPoint>(); } +::Ifc4x1::IfcCartesianPoint* Ifc4x1::IfcCurveSegment2D::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCartesianPoint>(true); } void Ifc4x1::IfcCurveSegment2D::setStartPoint(::Ifc4x1::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x1::IfcCurveSegment2D::StartDirection() const { double v = *data_->getArgument(1); return v; } void Ifc4x1::IfcCurveSegment2D::setStartDirection(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13154,11 +13334,11 @@ Ifc4x1::IfcCurveSegment2D::IfcCurveSegment2D(IfcEntityInstanceData* e) : IfcBoun Ifc4x1::IfcCurveSegment2D::IfcCurveSegment2D(::Ifc4x1::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcCurveSegment2D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_StartPoint));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_StartDirection));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SegmentLength));data_->setArgument(2,attr);} } // Function implementations for IfcCurveStyle -::Ifc4x1::IfcCurveFontOrScaledCurveFontSelect* Ifc4x1::IfcCurveStyle::CurveFont() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcCurveFontOrScaledCurveFontSelect>(); } +::Ifc4x1::IfcCurveFontOrScaledCurveFontSelect* Ifc4x1::IfcCurveStyle::CurveFont() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcCurveFontOrScaledCurveFontSelect>(true); } void Ifc4x1::IfcCurveStyle::setCurveFont(::Ifc4x1::IfcCurveFontOrScaledCurveFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x1::IfcSizeSelect* Ifc4x1::IfcCurveStyle::CurveWidth() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcSizeSelect>(); } +::Ifc4x1::IfcSizeSelect* Ifc4x1::IfcCurveStyle::CurveWidth() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcSizeSelect>(true); } void Ifc4x1::IfcCurveStyle::setCurveWidth(::Ifc4x1::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x1::IfcColour* Ifc4x1::IfcCurveStyle::CurveColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcColour>(); } +::Ifc4x1::IfcColour* Ifc4x1::IfcCurveStyle::CurveColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcColour>(true); } void Ifc4x1::IfcCurveStyle::setCurveColour(::Ifc4x1::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< bool > Ifc4x1::IfcCurveStyle::ModelOrDraughting() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } bool v = *data_->getArgument(4); return v; } void Ifc4x1::IfcCurveStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -13184,7 +13364,7 @@ Ifc4x1::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_N // Function implementations for IfcCurveStyleFontAndScaling boost::optional< std::string > Ifc4x1::IfcCurveStyleFontAndScaling::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4x1::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } -::Ifc4x1::IfcCurveStyleFontSelect* Ifc4x1::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcCurveStyleFontSelect>(); } +::Ifc4x1::IfcCurveStyleFontSelect* Ifc4x1::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcCurveStyleFontSelect>(true); } void Ifc4x1::IfcCurveStyleFontAndScaling::setCurveFont(::Ifc4x1::IfcCurveStyleFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } double Ifc4x1::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = *data_->getArgument(2); return v; } void Ifc4x1::IfcCurveStyleFontAndScaling::setCurveFontScaling(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -13238,9 +13418,9 @@ Ifc4x1::IfcDamperType::IfcDamperType(IfcEntityInstanceData* e) : IfcFlowControll Ifc4x1::IfcDamperType::IfcDamperType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDamperTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcDamperType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x1::IfcDamperTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcDerivedProfileDef -::Ifc4x1::IfcProfileDef* Ifc4x1::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcProfileDef>(); } +::Ifc4x1::IfcProfileDef* Ifc4x1::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcProfileDef>(true); } void Ifc4x1::IfcDerivedProfileDef::setParentProfile(::Ifc4x1::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x1::IfcCartesianTransformationOperator2D* Ifc4x1::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcCartesianTransformationOperator2D>(); } +::Ifc4x1::IfcCartesianTransformationOperator2D* Ifc4x1::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcCartesianTransformationOperator2D>(true); } void Ifc4x1::IfcDerivedProfileDef::setOperator(::Ifc4x1::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcDerivedProfileDef::Label() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x1::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -13266,7 +13446,7 @@ Ifc4x1::IfcDerivedUnit::IfcDerivedUnit(IfcEntityInstanceData* e) : IfcUtil::IfcB Ifc4x1::IfcDerivedUnit::IfcDerivedUnit(aggregate_of< ::Ifc4x1::IfcDerivedUnitElement >::ptr v1_Elements, ::Ifc4x1::IfcDerivedUnitEnum::Value v2_UnitType, boost::optional< std::string > v3_UserDefinedType) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcDerivedUnit_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_UnitType,::Ifc4x1::IfcDerivedUnitEnum::ToString(v2_UnitType))));data_->setArgument(1,attr);} if (v3_UserDefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UserDefinedType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcDerivedUnitElement -::Ifc4x1::IfcNamedUnit* Ifc4x1::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcNamedUnit>(); } +::Ifc4x1::IfcNamedUnit* Ifc4x1::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcNamedUnit>(true); } void Ifc4x1::IfcDerivedUnitElement::setUnit(::Ifc4x1::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } int Ifc4x1::IfcDerivedUnitElement::Exponent() const { int v = *data_->getArgument(1); return v; } void Ifc4x1::IfcDerivedUnitElement::setExponent(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13469,7 +13649,7 @@ boost::optional< std::string > Ifc4x1::IfcDocumentInformation::Scope() const { i void Ifc4x1::IfcDocumentInformation::setScope(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x1::IfcDocumentInformation::Revision() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } void Ifc4x1::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } -::Ifc4x1::IfcActorSelect* Ifc4x1::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x1::IfcActorSelect>(); } +::Ifc4x1::IfcActorSelect* Ifc4x1::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x1::IfcActorSelect>(true); } void Ifc4x1::IfcDocumentInformation::setDocumentOwner(::Ifc4x1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x1::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(9); return v; } void Ifc4x1::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } @@ -13499,7 +13679,7 @@ Ifc4x1::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData* e) Ifc4x1::IfcDocumentInformation::IfcDocumentInformation(std::string v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_Location, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, ::Ifc4x1::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of_instance::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< ::Ifc4x1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x1::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x1::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x1::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcDocumentInformationRelationship -::Ifc4x1::IfcDocumentInformation* Ifc4x1::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcDocumentInformation>(); } +::Ifc4x1::IfcDocumentInformation* Ifc4x1::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcDocumentInformation>(true); } void Ifc4x1::IfcDocumentInformationRelationship::setRelatingDocument(::Ifc4x1::IfcDocumentInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4x1::IfcDocumentInformation >::ptr Ifc4x1::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x1::IfcDocumentInformation >(); } void Ifc4x1::IfcDocumentInformationRelationship::setRelatedDocuments(aggregate_of< ::Ifc4x1::IfcDocumentInformation >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -13515,7 +13695,7 @@ Ifc4x1::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(b // Function implementations for IfcDocumentReference boost::optional< std::string > Ifc4x1::IfcDocumentReference::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x1::IfcDocumentReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } -::Ifc4x1::IfcDocumentInformation* Ifc4x1::IfcDocumentReference::ReferencedDocument() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcDocumentInformation>(); } +::Ifc4x1::IfcDocumentInformation* Ifc4x1::IfcDocumentReference::ReferencedDocument() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcDocumentInformation>(true); } void Ifc4x1::IfcDocumentReference::setReferencedDocument(::Ifc4x1::IfcDocumentInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4x1::IfcRelAssociatesDocument::list::ptr Ifc4x1::IfcDocumentReference::DocumentRefForObjects() const { return data_->getInverse(IFC4X1_IfcRelAssociatesDocument_type, 5)->as(); } @@ -13564,7 +13744,7 @@ boost::optional< double > Ifc4x1::IfcDoorLiningProperties::CasingThickness() con void Ifc4x1::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } boost::optional< double > Ifc4x1::IfcDoorLiningProperties::CasingDepth() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } void Ifc4x1::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } -::Ifc4x1::IfcShapeAspect* Ifc4x1::IfcDoorLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(14)))->as<::Ifc4x1::IfcShapeAspect>(); } +::Ifc4x1::IfcShapeAspect* Ifc4x1::IfcDoorLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(14)))->as<::Ifc4x1::IfcShapeAspect>(true); } void Ifc4x1::IfcDoorLiningProperties::setShapeAspectStyle(::Ifc4x1::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(14,attr);} } boost::optional< double > Ifc4x1::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } void Ifc4x1::IfcDoorLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } @@ -13586,7 +13766,7 @@ boost::optional< double > Ifc4x1::IfcDoorPanelProperties::PanelWidth() const { i void Ifc4x1::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } ::Ifc4x1::IfcDoorPanelPositionEnum::Value Ifc4x1::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x1::IfcDoorPanelPositionEnum::FromString(*data_->getArgument(7)); } void Ifc4x1::IfcDoorPanelProperties::setPanelPosition(::Ifc4x1::IfcDoorPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcDoorPanelPositionEnum::ToString(v)));data_->setArgument(7,attr);} } -::Ifc4x1::IfcShapeAspect* Ifc4x1::IfcDoorPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x1::IfcShapeAspect>(); } +::Ifc4x1::IfcShapeAspect* Ifc4x1::IfcDoorPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x1::IfcShapeAspect>(true); } void Ifc4x1::IfcDoorPanelProperties::setShapeAspectStyle(::Ifc4x1::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -13712,9 +13892,9 @@ Ifc4x1::IfcDuctSilencerType::IfcDuctSilencerType(IfcEntityInstanceData* e) : Ifc Ifc4x1::IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcDuctSilencerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x1::IfcDuctSilencerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcEdge -::Ifc4x1::IfcVertex* Ifc4x1::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcVertex>(); } +::Ifc4x1::IfcVertex* Ifc4x1::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcVertex>(true); } void Ifc4x1::IfcEdge::setEdgeStart(::Ifc4x1::IfcVertex* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x1::IfcVertex* Ifc4x1::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcVertex>(); } +::Ifc4x1::IfcVertex* Ifc4x1::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcVertex>(true); } void Ifc4x1::IfcEdge::setEdgeEnd(::Ifc4x1::IfcVertex* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13724,7 +13904,7 @@ Ifc4x1::IfcEdge::IfcEdge(IfcEntityInstanceData* e) : IfcTopologicalRepresentatio Ifc4x1::IfcEdge::IfcEdge(::Ifc4x1::IfcVertex* v1_EdgeStart, ::Ifc4x1::IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcEdge_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_EdgeStart));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EdgeEnd));data_->setArgument(1,attr);} } // Function implementations for IfcEdgeCurve -::Ifc4x1::IfcCurve* Ifc4x1::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcCurve>(); } +::Ifc4x1::IfcCurve* Ifc4x1::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcEdgeCurve::setEdgeGeometry(::Ifc4x1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } bool Ifc4x1::IfcEdgeCurve::SameSense() const { bool v = *data_->getArgument(3); return v; } void Ifc4x1::IfcEdgeCurve::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -13948,7 +14128,7 @@ Ifc4x1::IfcElementType::IfcElementType(IfcEntityInstanceData* e) : IfcTypeProduc Ifc4x1::IfcElementType::IfcElementType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcElementarySurface -::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcAxis2Placement3D>(); } +::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcAxis2Placement3D>(true); } void Ifc4x1::IfcElementarySurface::setPosition(::Ifc4x1::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -14064,7 +14244,7 @@ boost::optional< ::Ifc4x1::IfcEventTriggerTypeEnum::Value > Ifc4x1::IfcEvent::Ev void Ifc4x1::IfcEvent::setEventTriggerType(boost::optional< ::Ifc4x1::IfcEventTriggerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcEventTriggerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x1::IfcEvent::UserDefinedEventTriggerType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } void Ifc4x1::IfcEvent::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } -::Ifc4x1::IfcEventTime* Ifc4x1::IfcEvent::EventOccurenceTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x1::IfcEventTime>(); } +::Ifc4x1::IfcEventTime* Ifc4x1::IfcEvent::EventOccurenceTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x1::IfcEventTime>(true); } void Ifc4x1::IfcEvent::setEventOccurenceTime(::Ifc4x1::IfcEventTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -14141,7 +14321,7 @@ Ifc4x1::IfcExternalReference::IfcExternalReference(IfcEntityInstanceData* e) : I Ifc4x1::IfcExternalReference::IfcExternalReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcExternalReference_type); if (v1_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Location));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Identification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcExternalReferenceRelationship -::Ifc4x1::IfcExternalReference* Ifc4x1::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcExternalReference>(); } +::Ifc4x1::IfcExternalReference* Ifc4x1::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcExternalReference>(true); } void Ifc4x1::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x1::IfcExternalReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of_instance::ptr Ifc4x1::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } void Ifc4x1::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -14196,7 +14376,7 @@ Ifc4x1::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(IfcEntityInst Ifc4x1::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcExternallyDefinedTextFont_type); if (v1_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Location));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Identification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcExtrudedAreaSolid -::Ifc4x1::IfcDirection* Ifc4x1::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcDirection>(); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcExtrudedAreaSolid::setExtrudedDirection(::Ifc4x1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc4x1::IfcExtrudedAreaSolid::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc4x1::IfcExtrudedAreaSolid::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -14208,7 +14388,7 @@ Ifc4x1::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcEntityInstanceData* e) : I Ifc4x1::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(::Ifc4x1::IfcProfileDef* v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D* v2_Position, ::Ifc4x1::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcExtrudedAreaSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ExtrudedDirection));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);} } // Function implementations for IfcExtrudedAreaSolidTapered -::Ifc4x1::IfcProfileDef* Ifc4x1::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcProfileDef>(); } +::Ifc4x1::IfcProfileDef* Ifc4x1::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcProfileDef>(true); } void Ifc4x1::IfcExtrudedAreaSolidTapered::setEndSweptArea(::Ifc4x1::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -14239,7 +14419,7 @@ Ifc4x1::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(IfcEntityInstanceData Ifc4x1::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(aggregate_of< ::Ifc4x1::IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcFaceBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_FbsmFaces)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcFaceBound -::Ifc4x1::IfcLoop* Ifc4x1::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcLoop>(); } +::Ifc4x1::IfcLoop* Ifc4x1::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcLoop>(true); } void Ifc4x1::IfcFaceBound::setBound(::Ifc4x1::IfcLoop* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } bool Ifc4x1::IfcFaceBound::Orientation() const { bool v = *data_->getArgument(1); return v; } void Ifc4x1::IfcFaceBound::setOrientation(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -14259,7 +14439,7 @@ Ifc4x1::IfcFaceOuterBound::IfcFaceOuterBound(IfcEntityInstanceData* e) : IfcFace Ifc4x1::IfcFaceOuterBound::IfcFaceOuterBound(::Ifc4x1::IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcFaceOuterBound_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Bound));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Orientation));data_->setArgument(1,attr);} } // Function implementations for IfcFaceSurface -::Ifc4x1::IfcSurface* Ifc4x1::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcSurface>(); } +::Ifc4x1::IfcSurface* Ifc4x1::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcSurface>(true); } void Ifc4x1::IfcFaceSurface::setFaceSurface(::Ifc4x1::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } bool Ifc4x1::IfcFaceSurface::SameSense() const { bool v = *data_->getArgument(2); return v; } void Ifc4x1::IfcFaceSurface::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -14387,13 +14567,13 @@ Ifc4x1::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData* e) : IfcPresen Ifc4x1::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of_instance::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelorDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelorDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcFillAreaStyleHatching -::Ifc4x1::IfcCurveStyle* Ifc4x1::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCurveStyle>(); } +::Ifc4x1::IfcCurveStyle* Ifc4x1::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCurveStyle>(true); } void Ifc4x1::IfcFillAreaStyleHatching::setHatchLineAppearance(::Ifc4x1::IfcCurveStyle* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x1::IfcHatchLineDistanceSelect* Ifc4x1::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcHatchLineDistanceSelect>(); } +::Ifc4x1::IfcHatchLineDistanceSelect* Ifc4x1::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcHatchLineDistanceSelect>(true); } void Ifc4x1::IfcFillAreaStyleHatching::setStartOfNextHatchLine(::Ifc4x1::IfcHatchLineDistanceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x1::IfcCartesianPoint* Ifc4x1::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcCartesianPoint>(); } +::Ifc4x1::IfcCartesianPoint* Ifc4x1::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcCartesianPoint>(true); } void Ifc4x1::IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(::Ifc4x1::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x1::IfcCartesianPoint* Ifc4x1::IfcFillAreaStyleHatching::PatternStart() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcCartesianPoint>(); } +::Ifc4x1::IfcCartesianPoint* Ifc4x1::IfcFillAreaStyleHatching::PatternStart() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcCartesianPoint>(true); } void Ifc4x1::IfcFillAreaStyleHatching::setPatternStart(::Ifc4x1::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } double Ifc4x1::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = *data_->getArgument(4); return v; } void Ifc4x1::IfcFillAreaStyleHatching::setHatchLineAngle(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -14459,13 +14639,13 @@ Ifc4x1::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(IfcEntity Ifc4x1::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcFireSuppressionTerminalType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcFixedReferenceSweptAreaSolid -::Ifc4x1::IfcCurve* Ifc4x1::IfcFixedReferenceSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcCurve>(); } +::Ifc4x1::IfcCurve* Ifc4x1::IfcFixedReferenceSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcFixedReferenceSweptAreaSolid::setDirectrix(::Ifc4x1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x1::IfcFixedReferenceSweptAreaSolid::StartParam() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4x1::IfcFixedReferenceSweptAreaSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } boost::optional< double > Ifc4x1::IfcFixedReferenceSweptAreaSolid::EndParam() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } void Ifc4x1::IfcFixedReferenceSweptAreaSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc4x1::IfcDirection* Ifc4x1::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcDirection>(); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcFixedReferenceSweptAreaSolid::setFixedReference(::Ifc4x1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -14717,9 +14897,9 @@ int Ifc4x1::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const void Ifc4x1::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x1::IfcGeometricRepresentationContext::Precision() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4x1::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } -::Ifc4x1::IfcAxis2Placement* Ifc4x1::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcAxis2Placement>(); } +::Ifc4x1::IfcAxis2Placement* Ifc4x1::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcAxis2Placement>(true); } void Ifc4x1::IfcGeometricRepresentationContext::setWorldCoordinateSystem(::Ifc4x1::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x1::IfcDirection* Ifc4x1::IfcGeometricRepresentationContext::TrueNorth() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcDirection>(); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcGeometricRepresentationContext::TrueNorth() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcGeometricRepresentationContext::setTrueNorth(::Ifc4x1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4x1::IfcGeometricRepresentationSubContext::list::ptr Ifc4x1::IfcGeometricRepresentationContext::HasSubContexts() const { return data_->getInverse(IFC4X1_IfcGeometricRepresentationSubContext_type, 6)->as(); } @@ -14739,7 +14919,7 @@ Ifc4x1::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem(IfcEntity Ifc4x1::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcGeometricRepresentationItem_type); } // Function implementations for IfcGeometricRepresentationSubContext -::Ifc4x1::IfcGeometricRepresentationContext* Ifc4x1::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcGeometricRepresentationContext>(); } +::Ifc4x1::IfcGeometricRepresentationContext* Ifc4x1::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcGeometricRepresentationContext>(true); } void Ifc4x1::IfcGeometricRepresentationSubContext::setParentContext(::Ifc4x1::IfcGeometricRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x1::IfcGeometricRepresentationSubContext::TargetScale() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4x1::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } @@ -14783,7 +14963,7 @@ Ifc4x1::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_ // Function implementations for IfcGridAxis boost::optional< std::string > Ifc4x1::IfcGridAxis::AxisTag() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4x1::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } -::Ifc4x1::IfcCurve* Ifc4x1::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcCurve>(); } +::Ifc4x1::IfcCurve* Ifc4x1::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcGridAxis::setAxisCurve(::Ifc4x1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } bool Ifc4x1::IfcGridAxis::SameSense() const { bool v = *data_->getArgument(2); return v; } void Ifc4x1::IfcGridAxis::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -14799,9 +14979,9 @@ Ifc4x1::IfcGridAxis::IfcGridAxis(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEnt Ifc4x1::IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, ::Ifc4x1::IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcGridAxis_type); if (v1_AxisTag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_AxisTag));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_AxisCurve));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SameSense));data_->setArgument(2,attr);} } // Function implementations for IfcGridPlacement -::Ifc4x1::IfcVirtualGridIntersection* Ifc4x1::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcVirtualGridIntersection>(); } +::Ifc4x1::IfcVirtualGridIntersection* Ifc4x1::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcVirtualGridIntersection>(true); } void Ifc4x1::IfcGridPlacement::setPlacementLocation(::Ifc4x1::IfcVirtualGridIntersection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x1::IfcGridPlacementDirectionSelect* Ifc4x1::IfcGridPlacement::PlacementRefDirection() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcGridPlacementDirectionSelect>(); } +::Ifc4x1::IfcGridPlacementDirectionSelect* Ifc4x1::IfcGridPlacement::PlacementRefDirection() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcGridPlacementDirectionSelect>(true); } void Ifc4x1::IfcGridPlacement::setPlacementRefDirection(::Ifc4x1::IfcGridPlacementDirectionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -14820,7 +15000,7 @@ Ifc4x1::IfcGroup::IfcGroup(IfcEntityInstanceData* e) : IfcObject((IfcEntityInsta Ifc4x1::IfcGroup::IfcGroup(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcGroup_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcHalfSpaceSolid -::Ifc4x1::IfcSurface* Ifc4x1::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcSurface>(); } +::Ifc4x1::IfcSurface* Ifc4x1::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcSurface>(true); } void Ifc4x1::IfcHalfSpaceSolid::setBaseSurface(::Ifc4x1::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } bool Ifc4x1::IfcHalfSpaceSolid::AgreementFlag() const { bool v = *data_->getArgument(1); return v; } void Ifc4x1::IfcHalfSpaceSolid::setAgreementFlag(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -14904,11 +15084,11 @@ Ifc4x1::IfcImageTexture::IfcImageTexture(IfcEntityInstanceData* e) : IfcSurfaceT Ifc4x1::IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x1::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) : IfcSurfaceTexture((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcImageTexture_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_RepeatS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RepeatT));data_->setArgument(1,attr);} if (v3_Mode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Mode));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TextureTransform));data_->setArgument(3,attr);} if (v5_Parameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Parameter));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_URLReference));data_->setArgument(5,attr);} } // Function implementations for IfcIndexedColourMap -::Ifc4x1::IfcTessellatedFaceSet* Ifc4x1::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcTessellatedFaceSet>(); } +::Ifc4x1::IfcTessellatedFaceSet* Ifc4x1::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcTessellatedFaceSet>(true); } void Ifc4x1::IfcIndexedColourMap::setMappedTo(::Ifc4x1::IfcTessellatedFaceSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4x1::IfcIndexedColourMap::Opacity() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } void Ifc4x1::IfcIndexedColourMap::setOpacity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4x1::IfcColourRgbList* Ifc4x1::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcColourRgbList>(); } +::Ifc4x1::IfcColourRgbList* Ifc4x1::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcColourRgbList>(true); } void Ifc4x1::IfcIndexedColourMap::setColours(::Ifc4x1::IfcColourRgbList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } std::vector< int > /*[1:?]*/ Ifc4x1::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } void Ifc4x1::IfcIndexedColourMap::setColourIndex(std::vector< int > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -14920,7 +15100,7 @@ Ifc4x1::IfcIndexedColourMap::IfcIndexedColourMap(IfcEntityInstanceData* e) : Ifc Ifc4x1::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x1::IfcTessellatedFaceSet* v1_MappedTo, boost::optional< double > v2_Opacity, ::Ifc4x1::IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcIndexedColourMap_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MappedTo));data_->setArgument(0,attr);} if (v2_Opacity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Opacity));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Colours));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ColourIndex));data_->setArgument(3,attr);} } // Function implementations for IfcIndexedPolyCurve -::Ifc4x1::IfcCartesianPointList* Ifc4x1::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCartesianPointList>(); } +::Ifc4x1::IfcCartesianPointList* Ifc4x1::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCartesianPointList>(true); } void Ifc4x1::IfcIndexedPolyCurve::setPoints(::Ifc4x1::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x1::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4x1::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } @@ -14955,9 +15135,9 @@ Ifc4x1::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(IfcEn Ifc4x1::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) : IfcIndexedPolygonalFace((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcIndexedPolygonalFaceWithVoids_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CoordIndex));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_InnerCoordIndices));data_->setArgument(1,attr);} } // Function implementations for IfcIndexedTextureMap -::Ifc4x1::IfcTessellatedFaceSet* Ifc4x1::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcTessellatedFaceSet>(); } +::Ifc4x1::IfcTessellatedFaceSet* Ifc4x1::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcTessellatedFaceSet>(true); } void Ifc4x1::IfcIndexedTextureMap::setMappedTo(::Ifc4x1::IfcTessellatedFaceSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x1::IfcTextureVertexList* Ifc4x1::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcTextureVertexList>(); } +::Ifc4x1::IfcTextureVertexList* Ifc4x1::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcTextureVertexList>(true); } void Ifc4x1::IfcIndexedTextureMap::setTexCoords(::Ifc4x1::IfcTextureVertexList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -15007,15 +15187,15 @@ Ifc4x1::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4x1::IfcCurve* v1_Curve3 // Function implementations for IfcInventory boost::optional< ::Ifc4x1::IfcInventoryTypeEnum::Value > Ifc4x1::IfcInventory::PredefinedType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x1::IfcInventoryTypeEnum::FromString(*data_->getArgument(5)); } void Ifc4x1::IfcInventory::setPredefinedType(boost::optional< ::Ifc4x1::IfcInventoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcInventoryTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } -::Ifc4x1::IfcActorSelect* Ifc4x1::IfcInventory::Jurisdiction() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcActorSelect>(); } +::Ifc4x1::IfcActorSelect* Ifc4x1::IfcInventory::Jurisdiction() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcActorSelect>(true); } void Ifc4x1::IfcInventory::setJurisdiction(::Ifc4x1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x1::IfcPerson >::ptr > Ifc4x1::IfcInventory::ResponsiblePersons() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x1::IfcPerson >(); } void Ifc4x1::IfcInventory::setResponsiblePersons(boost::optional< aggregate_of< ::Ifc4x1::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x1::IfcInventory::LastUpdateDate() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc4x1::IfcInventory::setLastUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } -::Ifc4x1::IfcCostValue* Ifc4x1::IfcInventory::CurrentValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x1::IfcCostValue>(); } +::Ifc4x1::IfcCostValue* Ifc4x1::IfcInventory::CurrentValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x1::IfcCostValue>(true); } void Ifc4x1::IfcInventory::setCurrentValue(::Ifc4x1::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -::Ifc4x1::IfcCostValue* Ifc4x1::IfcInventory::OriginalValue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x1::IfcCostValue>(); } +::Ifc4x1::IfcCostValue* Ifc4x1::IfcInventory::OriginalValue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x1::IfcCostValue>(true); } void Ifc4x1::IfcInventory::setOriginalValue(::Ifc4x1::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -15107,7 +15287,7 @@ Ifc4x1::IfcLaborResourceType::IfcLaborResourceType(IfcEntityInstanceData* e) : I Ifc4x1::IfcLaborResourceType::IfcLaborResourceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x1::IfcLaborResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcLaborResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4x1::IfcLaborResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcLagTime -::Ifc4x1::IfcTimeOrRatioSelect* Ifc4x1::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcTimeOrRatioSelect>(); } +::Ifc4x1::IfcTimeOrRatioSelect* Ifc4x1::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcTimeOrRatioSelect>(true); } void Ifc4x1::IfcLagTime::setLagValue(::Ifc4x1::IfcTimeOrRatioSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x1::IfcTaskDurationEnum::Value Ifc4x1::IfcLagTime::DurationType() const { return ::Ifc4x1::IfcTaskDurationEnum::FromString(*data_->getArgument(4)); } void Ifc4x1::IfcLagTime::setDurationType(::Ifc4x1::IfcTaskDurationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcTaskDurationEnum::ToString(v)));data_->setArgument(4,attr);} } @@ -15143,7 +15323,7 @@ std::string Ifc4x1::IfcLibraryInformation::Name() const { std::string v = *data void Ifc4x1::IfcLibraryInformation::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcLibraryInformation::Version() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x1::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4x1::IfcActorSelect* Ifc4x1::IfcLibraryInformation::Publisher() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcActorSelect>(); } +::Ifc4x1::IfcActorSelect* Ifc4x1::IfcLibraryInformation::Publisher() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcActorSelect>(true); } void Ifc4x1::IfcLibraryInformation::setPublisher(::Ifc4x1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x1::IfcLibraryInformation::VersionDate() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x1::IfcLibraryInformation::setVersionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } @@ -15165,7 +15345,7 @@ boost::optional< std::string > Ifc4x1::IfcLibraryReference::Description() const void Ifc4x1::IfcLibraryReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcLibraryReference::Language() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x1::IfcLibraryReference::setLanguage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc4x1::IfcLibraryInformation* Ifc4x1::IfcLibraryReference::ReferencedLibrary() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcLibraryInformation>(); } +::Ifc4x1::IfcLibraryInformation* Ifc4x1::IfcLibraryReference::ReferencedLibrary() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcLibraryInformation>(true); } void Ifc4x1::IfcLibraryReference::setReferencedLibrary(::Ifc4x1::IfcLibraryInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4x1::IfcRelAssociatesLibrary::list::ptr Ifc4x1::IfcLibraryReference::LibraryRefForObjects() const { return data_->getInverse(IFC4X1_IfcRelAssociatesLibrary_type, 5)->as(); } @@ -15224,7 +15404,7 @@ Ifc4x1::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4x1::I // Function implementations for IfcLightSource boost::optional< std::string > Ifc4x1::IfcLightSource::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4x1::IfcLightSource::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } -::Ifc4x1::IfcColourRgb* Ifc4x1::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcColourRgb>(); } +::Ifc4x1::IfcColourRgb* Ifc4x1::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcColourRgb>(true); } void Ifc4x1::IfcLightSource::setLightColour(::Ifc4x1::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4x1::IfcLightSource::AmbientIntensity() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } void Ifc4x1::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } @@ -15246,7 +15426,7 @@ Ifc4x1::IfcLightSourceAmbient::IfcLightSourceAmbient(IfcEntityInstanceData* e) : Ifc4x1::IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcLightSource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcLightSourceAmbient_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcLightSourceDirectional -::Ifc4x1::IfcDirection* Ifc4x1::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcDirection>(); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcLightSourceDirectional::setOrientation(::Ifc4x1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -15256,9 +15436,9 @@ Ifc4x1::IfcLightSourceDirectional::IfcLightSourceDirectional(IfcEntityInstanceDa Ifc4x1::IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x1::IfcDirection* v5_Orientation) : IfcLightSource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcLightSourceDirectional_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Orientation));data_->setArgument(4,attr);} } // Function implementations for IfcLightSourceGoniometric -::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcAxis2Placement3D>(); } +::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcAxis2Placement3D>(true); } void Ifc4x1::IfcLightSourceGoniometric::setPosition(::Ifc4x1::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x1::IfcColourRgb* Ifc4x1::IfcLightSourceGoniometric::ColourAppearance() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcColourRgb>(); } +::Ifc4x1::IfcColourRgb* Ifc4x1::IfcLightSourceGoniometric::ColourAppearance() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcColourRgb>(true); } void Ifc4x1::IfcLightSourceGoniometric::setColourAppearance(::Ifc4x1::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } double Ifc4x1::IfcLightSourceGoniometric::ColourTemperature() const { double v = *data_->getArgument(6); return v; } void Ifc4x1::IfcLightSourceGoniometric::setColourTemperature(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -15266,7 +15446,7 @@ double Ifc4x1::IfcLightSourceGoniometric::LuminousFlux() const { double v = *da void Ifc4x1::IfcLightSourceGoniometric::setLuminousFlux(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x1::IfcLightEmissionSourceEnum::Value Ifc4x1::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4x1::IfcLightEmissionSourceEnum::FromString(*data_->getArgument(8)); } void Ifc4x1::IfcLightSourceGoniometric::setLightEmissionSource(::Ifc4x1::IfcLightEmissionSourceEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcLightEmissionSourceEnum::ToString(v)));data_->setArgument(8,attr);} } -::Ifc4x1::IfcLightDistributionDataSourceSelect* Ifc4x1::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x1::IfcLightDistributionDataSourceSelect>(); } +::Ifc4x1::IfcLightDistributionDataSourceSelect* Ifc4x1::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x1::IfcLightDistributionDataSourceSelect>(true); } void Ifc4x1::IfcLightSourceGoniometric::setLightDistributionDataSource(::Ifc4x1::IfcLightDistributionDataSourceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -15276,7 +15456,7 @@ Ifc4x1::IfcLightSourceGoniometric::IfcLightSourceGoniometric(IfcEntityInstanceDa Ifc4x1::IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x1::IfcAxis2Placement3D* v5_Position, ::Ifc4x1::IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x1::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x1::IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcLightSourceGoniometric_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Position));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ColourAppearance));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ColourTemperature));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LuminousFlux));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_LightEmissionSource,::Ifc4x1::IfcLightEmissionSourceEnum::ToString(v9_LightEmissionSource))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_LightDistributionDataSource));data_->setArgument(9,attr);} } // Function implementations for IfcLightSourcePositional -::Ifc4x1::IfcCartesianPoint* Ifc4x1::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcCartesianPoint>(); } +::Ifc4x1::IfcCartesianPoint* Ifc4x1::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcCartesianPoint>(true); } void Ifc4x1::IfcLightSourcePositional::setPosition(::Ifc4x1::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } double Ifc4x1::IfcLightSourcePositional::Radius() const { double v = *data_->getArgument(5); return v; } void Ifc4x1::IfcLightSourcePositional::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -15294,7 +15474,7 @@ Ifc4x1::IfcLightSourcePositional::IfcLightSourcePositional(IfcEntityInstanceData Ifc4x1::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x1::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) : IfcLightSource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcLightSourcePositional_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Position));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Radius));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConstantAttenuation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_DistanceAttenuation));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_QuadricAttenuation));data_->setArgument(8,attr);} } // Function implementations for IfcLightSourceSpot -::Ifc4x1::IfcDirection* Ifc4x1::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x1::IfcDirection>(); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcLightSourceSpot::setOrientation(::Ifc4x1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< double > Ifc4x1::IfcLightSourceSpot::ConcentrationExponent() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } void Ifc4x1::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } @@ -15310,9 +15490,9 @@ Ifc4x1::IfcLightSourceSpot::IfcLightSourceSpot(IfcEntityInstanceData* e) : IfcLi Ifc4x1::IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x1::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x1::IfcDirection* v10_Orientation, boost::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) : IfcLightSourcePositional((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcLightSourceSpot_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Position));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Radius));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConstantAttenuation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_DistanceAttenuation));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_QuadricAttenuation));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_Orientation));data_->setArgument(9,attr);} if (v11_ConcentrationExponent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_ConcentrationExponent));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_SpreadAngle));data_->setArgument(11,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v13_BeamWidthAngle));data_->setArgument(12,attr);} } // Function implementations for IfcLine -::Ifc4x1::IfcCartesianPoint* Ifc4x1::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCartesianPoint>(); } +::Ifc4x1::IfcCartesianPoint* Ifc4x1::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCartesianPoint>(true); } void Ifc4x1::IfcLine::setPnt(::Ifc4x1::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x1::IfcVector* Ifc4x1::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcVector>(); } +::Ifc4x1::IfcVector* Ifc4x1::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcVector>(true); } void Ifc4x1::IfcLine::setDir(::Ifc4x1::IfcVector* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15330,13 +15510,13 @@ Ifc4x1::IfcLineSegment2D::IfcLineSegment2D(IfcEntityInstanceData* e) : IfcCurveS Ifc4x1::IfcLineSegment2D::IfcLineSegment2D(::Ifc4x1::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) : IfcCurveSegment2D((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcLineSegment2D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_StartPoint));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_StartDirection));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SegmentLength));data_->setArgument(2,attr);} } // Function implementations for IfcLinearPlacement -::Ifc4x1::IfcCurve* Ifc4x1::IfcLinearPlacement::PlacementRelTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCurve>(); } +::Ifc4x1::IfcCurve* Ifc4x1::IfcLinearPlacement::PlacementRelTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcLinearPlacement::setPlacementRelTo(::Ifc4x1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x1::IfcDistanceExpression* Ifc4x1::IfcLinearPlacement::Distance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcDistanceExpression>(); } +::Ifc4x1::IfcDistanceExpression* Ifc4x1::IfcLinearPlacement::Distance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcDistanceExpression>(true); } void Ifc4x1::IfcLinearPlacement::setDistance(::Ifc4x1::IfcDistanceExpression* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x1::IfcOrientationExpression* Ifc4x1::IfcLinearPlacement::Orientation() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcOrientationExpression>(); } +::Ifc4x1::IfcOrientationExpression* Ifc4x1::IfcLinearPlacement::Orientation() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcOrientationExpression>(true); } void Ifc4x1::IfcLinearPlacement::setOrientation(::Ifc4x1::IfcOrientationExpression* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcLinearPlacement::CartesianPosition() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcAxis2Placement3D>(); } +::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcLinearPlacement::CartesianPosition() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcAxis2Placement3D>(true); } void Ifc4x1::IfcLinearPlacement::setCartesianPosition(::Ifc4x1::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -15346,7 +15526,7 @@ Ifc4x1::IfcLinearPlacement::IfcLinearPlacement(IfcEntityInstanceData* e) : IfcOb Ifc4x1::IfcLinearPlacement::IfcLinearPlacement(::Ifc4x1::IfcCurve* v1_PlacementRelTo, ::Ifc4x1::IfcDistanceExpression* v2_Distance, ::Ifc4x1::IfcOrientationExpression* v3_Orientation, ::Ifc4x1::IfcAxis2Placement3D* v4_CartesianPosition) : IfcObjectPlacement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcLinearPlacement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_PlacementRelTo));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Distance));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Orientation));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_CartesianPosition));data_->setArgument(3,attr);} } // Function implementations for IfcLinearPositioningElement -::Ifc4x1::IfcCurve* Ifc4x1::IfcLinearPositioningElement::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x1::IfcCurve>(); } +::Ifc4x1::IfcCurve* Ifc4x1::IfcLinearPositioningElement::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcLinearPositioningElement::setAxis(::Ifc4x1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -15356,9 +15536,9 @@ Ifc4x1::IfcLinearPositioningElement::IfcLinearPositioningElement(IfcEntityInstan Ifc4x1::IfcLinearPositioningElement::IfcLinearPositioningElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcCurve* v8_Axis) : IfcPositioningElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcLinearPositioningElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Axis));data_->setArgument(7,attr);} } // Function implementations for IfcLocalPlacement -::Ifc4x1::IfcObjectPlacement* Ifc4x1::IfcLocalPlacement::PlacementRelTo() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcObjectPlacement>(); } +::Ifc4x1::IfcObjectPlacement* Ifc4x1::IfcLocalPlacement::PlacementRelTo() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcObjectPlacement>(true); } void Ifc4x1::IfcLocalPlacement::setPlacementRelTo(::Ifc4x1::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x1::IfcAxis2Placement* Ifc4x1::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcAxis2Placement>(); } +::Ifc4x1::IfcAxis2Placement* Ifc4x1::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcAxis2Placement>(true); } void Ifc4x1::IfcLocalPlacement::setRelativePlacement(::Ifc4x1::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15376,7 +15556,7 @@ Ifc4x1::IfcLoop::IfcLoop(IfcEntityInstanceData* e) : IfcTopologicalRepresentatio Ifc4x1::IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcLoop_type); } // Function implementations for IfcManifoldSolidBrep -::Ifc4x1::IfcClosedShell* Ifc4x1::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcClosedShell>(); } +::Ifc4x1::IfcClosedShell* Ifc4x1::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcClosedShell>(true); } void Ifc4x1::IfcManifoldSolidBrep::setOuter(::Ifc4x1::IfcClosedShell* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -15406,9 +15586,9 @@ Ifc4x1::IfcMapConversion::IfcMapConversion(IfcEntityInstanceData* e) : IfcCoordi Ifc4x1::IfcMapConversion::IfcMapConversion(::Ifc4x1::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x1::IfcCoordinateReferenceSystem* v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, boost::optional< double > v6_XAxisAbscissa, boost::optional< double > v7_XAxisOrdinate, boost::optional< double > v8_Scale) : IfcCoordinateOperation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcMapConversion_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SourceCRS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TargetCRS));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Eastings));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Northings));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_OrthogonalHeight));data_->setArgument(4,attr);} if (v6_XAxisAbscissa) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_XAxisAbscissa));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_XAxisOrdinate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_XAxisOrdinate));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Scale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Scale));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcMappedItem -::Ifc4x1::IfcRepresentationMap* Ifc4x1::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcRepresentationMap>(); } +::Ifc4x1::IfcRepresentationMap* Ifc4x1::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcRepresentationMap>(true); } void Ifc4x1::IfcMappedItem::setMappingSource(::Ifc4x1::IfcRepresentationMap* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x1::IfcCartesianTransformationOperator* Ifc4x1::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcCartesianTransformationOperator>(); } +::Ifc4x1::IfcCartesianTransformationOperator* Ifc4x1::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcCartesianTransformationOperator>(true); } void Ifc4x1::IfcMappedItem::setMappingTarget(::Ifc4x1::IfcCartesianTransformationOperator* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15437,7 +15617,7 @@ Ifc4x1::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::stri // Function implementations for IfcMaterialClassificationRelationship aggregate_of_instance::ptr Ifc4x1::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } void Ifc4x1::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x1::IfcMaterial* Ifc4x1::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcMaterial>(); } +::Ifc4x1::IfcMaterial* Ifc4x1::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcMaterial>(true); } void Ifc4x1::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x1::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15451,7 +15631,7 @@ boost::optional< std::string > Ifc4x1::IfcMaterialConstituent::Name() const { if void Ifc4x1::IfcMaterialConstituent::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcMaterialConstituent::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x1::IfcMaterialConstituent::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4x1::IfcMaterial* Ifc4x1::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcMaterial>(); } +::Ifc4x1::IfcMaterial* Ifc4x1::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcMaterial>(true); } void Ifc4x1::IfcMaterialConstituent::setMaterial(::Ifc4x1::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x1::IfcMaterialConstituent::Fraction() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4x1::IfcMaterialConstituent::setFraction(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } @@ -15491,7 +15671,7 @@ Ifc4x1::IfcMaterialDefinition::IfcMaterialDefinition(IfcEntityInstanceData* e) : Ifc4x1::IfcMaterialDefinition::IfcMaterialDefinition() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcMaterialDefinition_type); } // Function implementations for IfcMaterialDefinitionRepresentation -::Ifc4x1::IfcMaterial* Ifc4x1::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcMaterial>(); } +::Ifc4x1::IfcMaterial* Ifc4x1::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcMaterial>(true); } void Ifc4x1::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(::Ifc4x1::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -15501,7 +15681,7 @@ Ifc4x1::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation Ifc4x1::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcRepresentation >::ptr v3_Representations, ::Ifc4x1::IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcMaterialDefinitionRepresentation_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Representations)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RepresentedMaterial));data_->setArgument(3,attr);} } // Function implementations for IfcMaterialLayer -::Ifc4x1::IfcMaterial* Ifc4x1::IfcMaterialLayer::Material() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcMaterial>(); } +::Ifc4x1::IfcMaterial* Ifc4x1::IfcMaterialLayer::Material() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcMaterial>(true); } void Ifc4x1::IfcMaterialLayer::setMaterial(::Ifc4x1::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x1::IfcMaterialLayer::LayerThickness() const { double v = *data_->getArgument(1); return v; } void Ifc4x1::IfcMaterialLayer::setLayerThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15538,7 +15718,7 @@ Ifc4x1::IfcMaterialLayerSet::IfcMaterialLayerSet(IfcEntityInstanceData* e) : Ifc Ifc4x1::IfcMaterialLayerSet::IfcMaterialLayerSet(aggregate_of< ::Ifc4x1::IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName, boost::optional< std::string > v3_Description) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcMaterialLayerSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialLayers)->generalize());data_->setArgument(0,attr);} if (v2_LayerSetName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_LayerSetName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialLayerSetUsage -::Ifc4x1::IfcMaterialLayerSet* Ifc4x1::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcMaterialLayerSet>(); } +::Ifc4x1::IfcMaterialLayerSet* Ifc4x1::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcMaterialLayerSet>(true); } void Ifc4x1::IfcMaterialLayerSetUsage::setForLayerSet(::Ifc4x1::IfcMaterialLayerSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4x1::IfcLayerSetDirectionEnum::Value Ifc4x1::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4x1::IfcLayerSetDirectionEnum::FromString(*data_->getArgument(1)); } void Ifc4x1::IfcMaterialLayerSetUsage::setLayerSetDirection(::Ifc4x1::IfcLayerSetDirectionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcLayerSetDirectionEnum::ToString(v)));data_->setArgument(1,attr);} } @@ -15582,9 +15762,9 @@ boost::optional< std::string > Ifc4x1::IfcMaterialProfile::Name() const { if(!da void Ifc4x1::IfcMaterialProfile::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcMaterialProfile::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x1::IfcMaterialProfile::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4x1::IfcMaterial* Ifc4x1::IfcMaterialProfile::Material() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcMaterial>(); } +::Ifc4x1::IfcMaterial* Ifc4x1::IfcMaterialProfile::Material() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcMaterial>(true); } void Ifc4x1::IfcMaterialProfile::setMaterial(::Ifc4x1::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x1::IfcProfileDef* Ifc4x1::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcProfileDef>(); } +::Ifc4x1::IfcProfileDef* Ifc4x1::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcProfileDef>(true); } void Ifc4x1::IfcMaterialProfile::setProfile(::Ifc4x1::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< int > Ifc4x1::IfcMaterialProfile::Priority() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } void Ifc4x1::IfcMaterialProfile::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -15605,7 +15785,7 @@ boost::optional< std::string > Ifc4x1::IfcMaterialProfileSet::Description() cons void Ifc4x1::IfcMaterialProfileSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x1::IfcMaterialProfile >::ptr Ifc4x1::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x1::IfcMaterialProfile >(); } void Ifc4x1::IfcMaterialProfileSet::setMaterialProfiles(aggregate_of< ::Ifc4x1::IfcMaterialProfile >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } -::Ifc4x1::IfcCompositeProfileDef* Ifc4x1::IfcMaterialProfileSet::CompositeProfile() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcCompositeProfileDef>(); } +::Ifc4x1::IfcCompositeProfileDef* Ifc4x1::IfcMaterialProfileSet::CompositeProfile() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcCompositeProfileDef>(true); } void Ifc4x1::IfcMaterialProfileSet::setCompositeProfile(::Ifc4x1::IfcCompositeProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -15615,7 +15795,7 @@ Ifc4x1::IfcMaterialProfileSet::IfcMaterialProfileSet(IfcEntityInstanceData* e) : Ifc4x1::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcMaterialProfile >::ptr v3_MaterialProfiles, ::Ifc4x1::IfcCompositeProfileDef* v4_CompositeProfile) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcMaterialProfileSet_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_MaterialProfiles)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_CompositeProfile));data_->setArgument(3,attr);} } // Function implementations for IfcMaterialProfileSetUsage -::Ifc4x1::IfcMaterialProfileSet* Ifc4x1::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcMaterialProfileSet>(); } +::Ifc4x1::IfcMaterialProfileSet* Ifc4x1::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcMaterialProfileSet>(true); } void Ifc4x1::IfcMaterialProfileSetUsage::setForProfileSet(::Ifc4x1::IfcMaterialProfileSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< int > Ifc4x1::IfcMaterialProfileSetUsage::CardinalPoint() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } int v = *data_->getArgument(1); return v; } void Ifc4x1::IfcMaterialProfileSetUsage::setCardinalPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } @@ -15629,7 +15809,7 @@ Ifc4x1::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(IfcEntityInstance Ifc4x1::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4x1::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent) : IfcMaterialUsageDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcMaterialProfileSetUsage_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ForProfileSet));data_->setArgument(0,attr);} if (v2_CardinalPoint) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_CardinalPoint));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ReferenceExtent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ReferenceExtent));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialProfileSetUsageTapering -::Ifc4x1::IfcMaterialProfileSet* Ifc4x1::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcMaterialProfileSet>(); } +::Ifc4x1::IfcMaterialProfileSet* Ifc4x1::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcMaterialProfileSet>(true); } void Ifc4x1::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(::Ifc4x1::IfcMaterialProfileSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< int > Ifc4x1::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } void Ifc4x1::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -15651,7 +15831,7 @@ Ifc4x1::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(IfcEntityIn Ifc4x1::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcMaterial* v3_Material, ::Ifc4x1::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) : IfcMaterialProfile((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcMaterialProfileWithOffsets_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Material));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Profile));data_->setArgument(3,attr);} if (v5_Priority) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Priority));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Category));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_OffsetValues));data_->setArgument(6,attr);} } // Function implementations for IfcMaterialProperties -::Ifc4x1::IfcMaterialDefinition* Ifc4x1::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcMaterialDefinition>(); } +::Ifc4x1::IfcMaterialDefinition* Ifc4x1::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcMaterialDefinition>(true); } void Ifc4x1::IfcMaterialProperties::setMaterial(::Ifc4x1::IfcMaterialDefinition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -15661,7 +15841,7 @@ Ifc4x1::IfcMaterialProperties::IfcMaterialProperties(IfcEntityInstanceData* e) : Ifc4x1::IfcMaterialProperties::IfcMaterialProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcProperty >::ptr v3_Properties, ::Ifc4x1::IfcMaterialDefinition* v4_Material) : IfcExtendedProperties((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcMaterialProperties_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Properties)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Material));data_->setArgument(3,attr);} } // Function implementations for IfcMaterialRelationship -::Ifc4x1::IfcMaterial* Ifc4x1::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcMaterial>(); } +::Ifc4x1::IfcMaterial* Ifc4x1::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcMaterial>(true); } void Ifc4x1::IfcMaterialRelationship::setRelatingMaterial(::Ifc4x1::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4x1::IfcMaterial >::ptr Ifc4x1::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x1::IfcMaterial >(); } void Ifc4x1::IfcMaterialRelationship::setRelatedMaterials(aggregate_of< ::Ifc4x1::IfcMaterial >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -15684,9 +15864,9 @@ Ifc4x1::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition(IfcEntityInstance Ifc4x1::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcMaterialUsageDefinition_type); } // Function implementations for IfcMeasureWithUnit -::Ifc4x1::IfcValue* Ifc4x1::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcValue>(); } +::Ifc4x1::IfcValue* Ifc4x1::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcValue>(true); } void Ifc4x1::IfcMeasureWithUnit::setValueComponent(::Ifc4x1::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x1::IfcUnit* Ifc4x1::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcUnit>(); } +::Ifc4x1::IfcUnit* Ifc4x1::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcUnit>(true); } void Ifc4x1::IfcMeasureWithUnit::setUnitComponent(::Ifc4x1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15776,9 +15956,9 @@ Ifc4x1::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc4x1::IfcOwner void Ifc4x1::IfcMetric::setBenchmark(::Ifc4x1::IfcBenchmarkEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcBenchmarkEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x1::IfcMetric::ValueSource() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc4x1::IfcMetric::setValueSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } -::Ifc4x1::IfcMetricValueSelect* Ifc4x1::IfcMetric::DataValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x1::IfcMetricValueSelect>(); } +::Ifc4x1::IfcMetricValueSelect* Ifc4x1::IfcMetric::DataValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x1::IfcMetricValueSelect>(true); } void Ifc4x1::IfcMetric::setDataValue(::Ifc4x1::IfcMetricValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -::Ifc4x1::IfcReference* Ifc4x1::IfcMetric::ReferencePath() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x1::IfcReference>(); } +::Ifc4x1::IfcReference* Ifc4x1::IfcMetric::ReferencePath() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x1::IfcReference>(true); } void Ifc4x1::IfcMetric::setReferencePath(::Ifc4x1::IfcReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -15826,7 +16006,7 @@ Ifc4x1::IfcMotorConnectionType::IfcMotorConnectionType(IfcEntityInstanceData* e) Ifc4x1::IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcMotorConnectionType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x1::IfcMotorConnectionTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcNamedUnit -::Ifc4x1::IfcDimensionalExponents* Ifc4x1::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcDimensionalExponents>(); } +::Ifc4x1::IfcDimensionalExponents* Ifc4x1::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcDimensionalExponents>(true); } void Ifc4x1::IfcNamedUnit::setDimensions(::Ifc4x1::IfcDimensionalExponents* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4x1::IfcUnitEnum::Value Ifc4x1::IfcNamedUnit::UnitType() const { return ::Ifc4x1::IfcUnitEnum::FromString(*data_->getArgument(1)); } void Ifc4x1::IfcNamedUnit::setUnitType(::Ifc4x1::IfcUnitEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcUnitEnum::ToString(v)));data_->setArgument(1,attr);} } @@ -15903,7 +16083,7 @@ Ifc4x1::IfcOccupant::IfcOccupant(IfcEntityInstanceData* e) : IfcActor((IfcEntity Ifc4x1::IfcOccupant::IfcOccupant(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcActorSelect* v6_TheActor, boost::optional< ::Ifc4x1::IfcOccupantTypeEnum::Value > v7_PredefinedType) : IfcActor((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcOccupant_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_TheActor));data_->setArgument(5,attr);} if (v7_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v7_PredefinedType,::Ifc4x1::IfcOccupantTypeEnum::ToString(*v7_PredefinedType))));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcOffsetCurve -::Ifc4x1::IfcCurve* Ifc4x1::IfcOffsetCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCurve>(); } +::Ifc4x1::IfcCurve* Ifc4x1::IfcOffsetCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcOffsetCurve::setBasisCurve(::Ifc4x1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -15929,7 +16109,7 @@ double Ifc4x1::IfcOffsetCurve3D::Distance() const { double v = *data_->getArgum void Ifc4x1::IfcOffsetCurve3D::setDistance(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::logic::tribool Ifc4x1::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = *data_->getArgument(2); return v; } void Ifc4x1::IfcOffsetCurve3D::setSelfIntersect(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x1::IfcDirection* Ifc4x1::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcDirection>(); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcOffsetCurve3D::setRefDirection(::Ifc4x1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -15999,7 +16179,7 @@ Ifc4x1::IfcOrganization::IfcOrganization(IfcEntityInstanceData* e) : IfcUtil::If Ifc4x1::IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc4x1::IfcActorRole >::ptr > v4_Roles, boost::optional< aggregate_of< ::Ifc4x1::IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcOrganization_type); if (v1_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identification));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Roles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Roles)->generalize());data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Addresses) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Addresses)->generalize());data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcOrganizationRelationship -::Ifc4x1::IfcOrganization* Ifc4x1::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcOrganization>(); } +::Ifc4x1::IfcOrganization* Ifc4x1::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcOrganization>(true); } void Ifc4x1::IfcOrganizationRelationship::setRelatingOrganization(::Ifc4x1::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4x1::IfcOrganization >::ptr Ifc4x1::IfcOrganizationRelationship::RelatedOrganizations() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x1::IfcOrganization >(); } void Ifc4x1::IfcOrganizationRelationship::setRelatedOrganizations(aggregate_of< ::Ifc4x1::IfcOrganization >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -16011,9 +16191,9 @@ Ifc4x1::IfcOrganizationRelationship::IfcOrganizationRelationship(IfcEntityInstan Ifc4x1::IfcOrganizationRelationship::IfcOrganizationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcOrganization* v3_RelatingOrganization, aggregate_of< ::Ifc4x1::IfcOrganization >::ptr v4_RelatedOrganizations) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcOrganizationRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingOrganization));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedOrganizations)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcOrientationExpression -::Ifc4x1::IfcDirection* Ifc4x1::IfcOrientationExpression::LateralAxisDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcDirection>(); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcOrientationExpression::LateralAxisDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcOrientationExpression::setLateralAxisDirection(::Ifc4x1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x1::IfcDirection* Ifc4x1::IfcOrientationExpression::VerticalAxisDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcDirection>(); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcOrientationExpression::VerticalAxisDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcOrientationExpression::setVerticalAxisDirection(::Ifc4x1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -16023,7 +16203,7 @@ Ifc4x1::IfcOrientationExpression::IfcOrientationExpression(IfcEntityInstanceData Ifc4x1::IfcOrientationExpression::IfcOrientationExpression(::Ifc4x1::IfcDirection* v1_LateralAxisDirection, ::Ifc4x1::IfcDirection* v2_VerticalAxisDirection) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcOrientationExpression_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_LateralAxisDirection));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_VerticalAxisDirection));data_->setArgument(1,attr);} } // Function implementations for IfcOrientedEdge -::Ifc4x1::IfcEdge* Ifc4x1::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcEdge>(); } +::Ifc4x1::IfcEdge* Ifc4x1::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcEdge>(true); } void Ifc4x1::IfcOrientedEdge::setEdgeElement(::Ifc4x1::IfcEdge* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } bool Ifc4x1::IfcOrientedEdge::Orientation() const { bool v = *data_->getArgument(3); return v; } void Ifc4x1::IfcOrientedEdge::setOrientation(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16063,9 +16243,9 @@ Ifc4x1::IfcOutletType::IfcOutletType(IfcEntityInstanceData* e) : IfcFlowTerminal Ifc4x1::IfcOutletType::IfcOutletType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcOutletTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcOutletType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x1::IfcOutletTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcOwnerHistory -::Ifc4x1::IfcPersonAndOrganization* Ifc4x1::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcPersonAndOrganization>(); } +::Ifc4x1::IfcPersonAndOrganization* Ifc4x1::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcPersonAndOrganization>(true); } void Ifc4x1::IfcOwnerHistory::setOwningUser(::Ifc4x1::IfcPersonAndOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x1::IfcApplication* Ifc4x1::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcApplication>(); } +::Ifc4x1::IfcApplication* Ifc4x1::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcApplication>(true); } void Ifc4x1::IfcOwnerHistory::setOwningApplication(::Ifc4x1::IfcApplication* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< ::Ifc4x1::IfcStateEnum::Value > Ifc4x1::IfcOwnerHistory::State() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc4x1::IfcStateEnum::FromString(*data_->getArgument(2)); } void Ifc4x1::IfcOwnerHistory::setState(boost::optional< ::Ifc4x1::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcStateEnum::ToString(*v)));data_->setArgument(2,attr);} } @@ -16073,9 +16253,9 @@ boost::optional< ::Ifc4x1::IfcChangeActionEnum::Value > Ifc4x1::IfcOwnerHistory: void Ifc4x1::IfcOwnerHistory::setChangeAction(boost::optional< ::Ifc4x1::IfcChangeActionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcChangeActionEnum::ToString(*v)));data_->setArgument(3,attr);} } boost::optional< int > Ifc4x1::IfcOwnerHistory::LastModifiedDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } void Ifc4x1::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc4x1::IfcPersonAndOrganization* Ifc4x1::IfcOwnerHistory::LastModifyingUser() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcPersonAndOrganization>(); } +::Ifc4x1::IfcPersonAndOrganization* Ifc4x1::IfcOwnerHistory::LastModifyingUser() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcPersonAndOrganization>(true); } void Ifc4x1::IfcOwnerHistory::setLastModifyingUser(::Ifc4x1::IfcPersonAndOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x1::IfcApplication* Ifc4x1::IfcOwnerHistory::LastModifyingApplication() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcApplication>(); } +::Ifc4x1::IfcApplication* Ifc4x1::IfcOwnerHistory::LastModifyingApplication() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcApplication>(true); } void Ifc4x1::IfcOwnerHistory::setLastModifyingApplication(::Ifc4x1::IfcApplication* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } int Ifc4x1::IfcOwnerHistory::CreationDate() const { int v = *data_->getArgument(7); return v; } void Ifc4x1::IfcOwnerHistory::setCreationDate(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -16087,7 +16267,7 @@ Ifc4x1::IfcOwnerHistory::IfcOwnerHistory(IfcEntityInstanceData* e) : IfcUtil::If Ifc4x1::IfcOwnerHistory::IfcOwnerHistory(::Ifc4x1::IfcPersonAndOrganization* v1_OwningUser, ::Ifc4x1::IfcApplication* v2_OwningApplication, boost::optional< ::Ifc4x1::IfcStateEnum::Value > v3_State, boost::optional< ::Ifc4x1::IfcChangeActionEnum::Value > v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, ::Ifc4x1::IfcPersonAndOrganization* v6_LastModifyingUser, ::Ifc4x1::IfcApplication* v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcOwnerHistory_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_OwningUser));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwningApplication));data_->setArgument(1,attr);} if (v3_State) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v3_State,::Ifc4x1::IfcStateEnum::ToString(*v3_State))));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_ChangeAction) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v4_ChangeAction,::Ifc4x1::IfcChangeActionEnum::ToString(*v4_ChangeAction))));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_LastModifiedDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_LastModifiedDate));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LastModifyingUser));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LastModifyingApplication));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_CreationDate));data_->setArgument(7,attr);} } // Function implementations for IfcParameterizedProfileDef -::Ifc4x1::IfcAxis2Placement2D* Ifc4x1::IfcParameterizedProfileDef::Position() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcAxis2Placement2D>(); } +::Ifc4x1::IfcAxis2Placement2D* Ifc4x1::IfcParameterizedProfileDef::Position() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcAxis2Placement2D>(true); } void Ifc4x1::IfcParameterizedProfileDef::setPosition(::Ifc4x1::IfcAxis2Placement2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -16107,9 +16287,9 @@ Ifc4x1::IfcPath::IfcPath(IfcEntityInstanceData* e) : IfcTopologicalRepresentatio Ifc4x1::IfcPath::IfcPath(aggregate_of< ::Ifc4x1::IfcOrientedEdge >::ptr v1_EdgeList) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcPath_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_EdgeList)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcPcurve -::Ifc4x1::IfcSurface* Ifc4x1::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcSurface>(); } +::Ifc4x1::IfcSurface* Ifc4x1::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcSurface>(true); } void Ifc4x1::IfcPcurve::setBasisSurface(::Ifc4x1::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x1::IfcCurve* Ifc4x1::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcCurve>(); } +::Ifc4x1::IfcCurve* Ifc4x1::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcPcurve::setReferenceCurve(::Ifc4x1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -16139,7 +16319,7 @@ boost::optional< double > Ifc4x1::IfcPermeableCoveringProperties::FrameDepth() c void Ifc4x1::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x1::IfcPermeableCoveringProperties::FrameThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4x1::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } -::Ifc4x1::IfcShapeAspect* Ifc4x1::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x1::IfcShapeAspect>(); } +::Ifc4x1::IfcShapeAspect* Ifc4x1::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x1::IfcShapeAspect>(true); } void Ifc4x1::IfcPermeableCoveringProperties::setShapeAspectStyle(::Ifc4x1::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -16188,9 +16368,9 @@ Ifc4x1::IfcPerson::IfcPerson(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity( Ifc4x1::IfcPerson::IfcPerson(boost::optional< std::string > v1_Identification, boost::optional< std::string > v2_FamilyName, boost::optional< std::string > v3_GivenName, boost::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, boost::optional< aggregate_of< ::Ifc4x1::IfcActorRole >::ptr > v7_Roles, boost::optional< aggregate_of< ::Ifc4x1::IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcPerson_type); if (v1_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identification));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_FamilyName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_FamilyName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_GivenName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_GivenName));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_MiddleNames) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_MiddleNames));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_PrefixTitles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_PrefixTitles));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_SuffixTitles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_SuffixTitles));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Roles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Roles)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Addresses) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Addresses)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcPersonAndOrganization -::Ifc4x1::IfcPerson* Ifc4x1::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcPerson>(); } +::Ifc4x1::IfcPerson* Ifc4x1::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcPerson>(true); } void Ifc4x1::IfcPersonAndOrganization::setThePerson(::Ifc4x1::IfcPerson* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x1::IfcOrganization* Ifc4x1::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcOrganization>(); } +::Ifc4x1::IfcOrganization* Ifc4x1::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcOrganization>(true); } void Ifc4x1::IfcPersonAndOrganization::setTheOrganization(::Ifc4x1::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< aggregate_of< ::Ifc4x1::IfcActorRole >::ptr > Ifc4x1::IfcPersonAndOrganization::Roles() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x1::IfcActorRole >(); } void Ifc4x1::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x1::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(2,attr);} } @@ -16232,7 +16412,7 @@ Ifc4x1::IfcPhysicalQuantity::IfcPhysicalQuantity(IfcEntityInstanceData* e) : Ifc Ifc4x1::IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcPhysicalQuantity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcPhysicalSimpleQuantity -::Ifc4x1::IfcNamedUnit* Ifc4x1::IfcPhysicalSimpleQuantity::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcNamedUnit>(); } +::Ifc4x1::IfcNamedUnit* Ifc4x1::IfcPhysicalSimpleQuantity::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcNamedUnit>(true); } void Ifc4x1::IfcPhysicalSimpleQuantity::setUnit(::Ifc4x1::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -16320,7 +16500,7 @@ Ifc4x1::IfcPixelTexture::IfcPixelTexture(IfcEntityInstanceData* e) : IfcSurfaceT Ifc4x1::IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x1::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) : IfcSurfaceTexture((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcPixelTexture_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_RepeatS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RepeatT));data_->setArgument(1,attr);} if (v3_Mode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Mode));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TextureTransform));data_->setArgument(3,attr);} if (v5_Parameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Parameter));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Width));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Height));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_ColourComponents));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_Pixel));data_->setArgument(8,attr);} } // Function implementations for IfcPlacement -::Ifc4x1::IfcCartesianPoint* Ifc4x1::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCartesianPoint>(); } +::Ifc4x1::IfcCartesianPoint* Ifc4x1::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCartesianPoint>(true); } void Ifc4x1::IfcPlacement::setLocation(::Ifc4x1::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -16330,7 +16510,7 @@ Ifc4x1::IfcPlacement::IfcPlacement(IfcEntityInstanceData* e) : IfcGeometricRepre Ifc4x1::IfcPlacement::IfcPlacement(::Ifc4x1::IfcCartesianPoint* v1_Location) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcPlacement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Location));data_->setArgument(0,attr);} } // Function implementations for IfcPlanarBox -::Ifc4x1::IfcAxis2Placement* Ifc4x1::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcAxis2Placement>(); } +::Ifc4x1::IfcAxis2Placement* Ifc4x1::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcAxis2Placement>(true); } void Ifc4x1::IfcPlanarBox::setPlacement(::Ifc4x1::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -16396,7 +16576,7 @@ Ifc4x1::IfcPoint::IfcPoint(IfcEntityInstanceData* e) : IfcGeometricRepresentatio Ifc4x1::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcPoint_type); } // Function implementations for IfcPointOnCurve -::Ifc4x1::IfcCurve* Ifc4x1::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCurve>(); } +::Ifc4x1::IfcCurve* Ifc4x1::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcPointOnCurve::setBasisCurve(::Ifc4x1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x1::IfcPointOnCurve::PointParameter() const { double v = *data_->getArgument(1); return v; } void Ifc4x1::IfcPointOnCurve::setPointParameter(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -16408,7 +16588,7 @@ Ifc4x1::IfcPointOnCurve::IfcPointOnCurve(IfcEntityInstanceData* e) : IfcPoint((I Ifc4x1::IfcPointOnCurve::IfcPointOnCurve(::Ifc4x1::IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcPointOnCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PointParameter));data_->setArgument(1,attr);} } // Function implementations for IfcPointOnSurface -::Ifc4x1::IfcSurface* Ifc4x1::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcSurface>(); } +::Ifc4x1::IfcSurface* Ifc4x1::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcSurface>(true); } void Ifc4x1::IfcPointOnSurface::setBasisSurface(::Ifc4x1::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x1::IfcPointOnSurface::PointParameterU() const { double v = *data_->getArgument(1); return v; } void Ifc4x1::IfcPointOnSurface::setPointParameterU(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -16432,9 +16612,9 @@ Ifc4x1::IfcPolyLoop::IfcPolyLoop(IfcEntityInstanceData* e) : IfcLoop((IfcEntityI Ifc4x1::IfcPolyLoop::IfcPolyLoop(aggregate_of< ::Ifc4x1::IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcPolyLoop_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Polygon)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcPolygonalBoundedHalfSpace -::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcAxis2Placement3D>(); } +::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcAxis2Placement3D>(true); } void Ifc4x1::IfcPolygonalBoundedHalfSpace::setPosition(::Ifc4x1::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x1::IfcBoundedCurve* Ifc4x1::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcBoundedCurve>(); } +::Ifc4x1::IfcBoundedCurve* Ifc4x1::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcBoundedCurve>(true); } void Ifc4x1::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(::Ifc4x1::IfcBoundedCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16655,9 +16835,9 @@ Ifc4x1::IfcProcess::IfcProcess(IfcEntityInstanceData* e) : IfcObject((IfcEntityI Ifc4x1::IfcProcess::IfcProcess(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcProcess_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcProduct -::Ifc4x1::IfcObjectPlacement* Ifc4x1::IfcProduct::ObjectPlacement() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcObjectPlacement>(); } +::Ifc4x1::IfcObjectPlacement* Ifc4x1::IfcProduct::ObjectPlacement() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcObjectPlacement>(true); } void Ifc4x1::IfcProduct::setObjectPlacement(::Ifc4x1::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x1::IfcProductRepresentation* Ifc4x1::IfcProduct::Representation() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcProductRepresentation>(); } +::Ifc4x1::IfcProductRepresentation* Ifc4x1::IfcProduct::Representation() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcProductRepresentation>(true); } void Ifc4x1::IfcProduct::setRepresentation(::Ifc4x1::IfcProductRepresentation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } ::Ifc4x1::IfcRelAssignsToProduct::list::ptr Ifc4x1::IfcProduct::ReferencedBy() const { return data_->getInverse(IFC4X1_IfcRelAssignsToProduct_type, 6)->as(); } @@ -16706,7 +16886,7 @@ Ifc4x1::IfcProfileDef::IfcProfileDef(IfcEntityInstanceData* e) : IfcUtil::IfcBas Ifc4x1::IfcProfileDef::IfcProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4x1::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcProfileProperties -::Ifc4x1::IfcProfileDef* Ifc4x1::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcProfileDef>(); } +::Ifc4x1::IfcProfileDef* Ifc4x1::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcProfileDef>(true); } void Ifc4x1::IfcProfileProperties::setProfileDefinition(::Ifc4x1::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16750,7 +16930,7 @@ boost::optional< std::string > Ifc4x1::IfcProjectedCRS::MapProjection() const { void Ifc4x1::IfcProjectedCRS::setMapProjection(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x1::IfcProjectedCRS::MapZone() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x1::IfcProjectedCRS::setMapZone(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4x1::IfcNamedUnit* Ifc4x1::IfcProjectedCRS::MapUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcNamedUnit>(); } +::Ifc4x1::IfcNamedUnit* Ifc4x1::IfcProjectedCRS::MapUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcNamedUnit>(true); } void Ifc4x1::IfcProjectedCRS::setMapUnit(::Ifc4x1::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -16797,13 +16977,13 @@ Ifc4x1::IfcPropertyAbstraction::IfcPropertyAbstraction(IfcEntityInstanceData* e) Ifc4x1::IfcPropertyAbstraction::IfcPropertyAbstraction() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcPropertyAbstraction_type); } // Function implementations for IfcPropertyBoundedValue -::Ifc4x1::IfcValue* Ifc4x1::IfcPropertyBoundedValue::UpperBoundValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcValue>(); } +::Ifc4x1::IfcValue* Ifc4x1::IfcPropertyBoundedValue::UpperBoundValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcValue>(true); } void Ifc4x1::IfcPropertyBoundedValue::setUpperBoundValue(::Ifc4x1::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x1::IfcValue* Ifc4x1::IfcPropertyBoundedValue::LowerBoundValue() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcValue>(); } +::Ifc4x1::IfcValue* Ifc4x1::IfcPropertyBoundedValue::LowerBoundValue() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcValue>(true); } void Ifc4x1::IfcPropertyBoundedValue::setLowerBoundValue(::Ifc4x1::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x1::IfcUnit* Ifc4x1::IfcPropertyBoundedValue::Unit() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcUnit>(); } +::Ifc4x1::IfcUnit* Ifc4x1::IfcPropertyBoundedValue::Unit() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcUnit>(true); } void Ifc4x1::IfcPropertyBoundedValue::setUnit(::Ifc4x1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x1::IfcValue* Ifc4x1::IfcPropertyBoundedValue::SetPointValue() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcValue>(); } +::Ifc4x1::IfcValue* Ifc4x1::IfcPropertyBoundedValue::SetPointValue() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcValue>(true); } void Ifc4x1::IfcPropertyBoundedValue::setSetPointValue(::Ifc4x1::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -16823,9 +17003,9 @@ Ifc4x1::IfcPropertyDefinition::IfcPropertyDefinition(IfcEntityInstanceData* e) : Ifc4x1::IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcPropertyDefinition_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPropertyDependencyRelationship -::Ifc4x1::IfcProperty* Ifc4x1::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcProperty>(); } +::Ifc4x1::IfcProperty* Ifc4x1::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcProperty>(true); } void Ifc4x1::IfcPropertyDependencyRelationship::setDependingProperty(::Ifc4x1::IfcProperty* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x1::IfcProperty* Ifc4x1::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcProperty>(); } +::Ifc4x1::IfcProperty* Ifc4x1::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcProperty>(true); } void Ifc4x1::IfcPropertyDependencyRelationship::setDependantProperty(::Ifc4x1::IfcProperty* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcPropertyDependencyRelationship::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x1::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -16839,7 +17019,7 @@ Ifc4x1::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boo // Function implementations for IfcPropertyEnumeratedValue boost::optional< aggregate_of_instance::ptr > Ifc4x1::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } void Ifc4x1::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x1::IfcPropertyEnumeration* Ifc4x1::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcPropertyEnumeration>(); } +::Ifc4x1::IfcPropertyEnumeration* Ifc4x1::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcPropertyEnumeration>(true); } void Ifc4x1::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x1::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16853,7 +17033,7 @@ std::string Ifc4x1::IfcPropertyEnumeration::Name() const { std::string v = *dat void Ifc4x1::IfcPropertyEnumeration::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of_instance::ptr Ifc4x1::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4x1::IfcPropertyEnumeration::setEnumerationValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x1::IfcUnit* Ifc4x1::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcUnit>(); } +::Ifc4x1::IfcUnit* Ifc4x1::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcUnit>(true); } void Ifc4x1::IfcPropertyEnumeration::setUnit(::Ifc4x1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -16865,7 +17045,7 @@ Ifc4x1::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggr // Function implementations for IfcPropertyListValue boost::optional< aggregate_of_instance::ptr > Ifc4x1::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } void Ifc4x1::IfcPropertyListValue::setListValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x1::IfcUnit* Ifc4x1::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcUnit>(); } +::Ifc4x1::IfcUnit* Ifc4x1::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcUnit>(true); } void Ifc4x1::IfcPropertyListValue::setUnit(::Ifc4x1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16877,7 +17057,7 @@ Ifc4x1::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::o // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4x1::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x1::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x1::IfcObjectReferenceSelect* Ifc4x1::IfcPropertyReferenceValue::PropertyReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcObjectReferenceSelect>(); } +::Ifc4x1::IfcObjectReferenceSelect* Ifc4x1::IfcPropertyReferenceValue::PropertyReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcObjectReferenceSelect>(true); } void Ifc4x1::IfcPropertyReferenceValue::setPropertyReference(::Ifc4x1::IfcObjectReferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16923,9 +17103,9 @@ Ifc4x1::IfcPropertySetTemplate::IfcPropertySetTemplate(IfcEntityInstanceData* e) Ifc4x1::IfcPropertySetTemplate::IfcPropertySetTemplate(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x1::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_ApplicableEntity, aggregate_of< ::Ifc4x1::IfcPropertyTemplate >::ptr v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcPropertySetTemplate_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_TemplateType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v5_TemplateType,::Ifc4x1::IfcPropertySetTemplateTypeEnum::ToString(*v5_TemplateType))));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ApplicableEntity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ApplicableEntity));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_HasPropertyTemplates)->generalize());data_->setArgument(6,attr);} } // Function implementations for IfcPropertySingleValue -::Ifc4x1::IfcValue* Ifc4x1::IfcPropertySingleValue::NominalValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcValue>(); } +::Ifc4x1::IfcValue* Ifc4x1::IfcPropertySingleValue::NominalValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcValue>(true); } void Ifc4x1::IfcPropertySingleValue::setNominalValue(::Ifc4x1::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x1::IfcUnit* Ifc4x1::IfcPropertySingleValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcUnit>(); } +::Ifc4x1::IfcUnit* Ifc4x1::IfcPropertySingleValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcUnit>(true); } void Ifc4x1::IfcPropertySingleValue::setUnit(::Ifc4x1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16941,9 +17121,9 @@ boost::optional< aggregate_of_instance::ptr > Ifc4x1::IfcPropertyTableValue::Def void Ifc4x1::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x1::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc4x1::IfcUnit* Ifc4x1::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcUnit>(); } +::Ifc4x1::IfcUnit* Ifc4x1::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcUnit>(true); } void Ifc4x1::IfcPropertyTableValue::setDefiningUnit(::Ifc4x1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x1::IfcUnit* Ifc4x1::IfcPropertyTableValue::DefinedUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcUnit>(); } +::Ifc4x1::IfcUnit* Ifc4x1::IfcPropertyTableValue::DefinedUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcUnit>(true); } void Ifc4x1::IfcPropertyTableValue::setDefinedUnit(::Ifc4x1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4x1::IfcCurveInterpolationEnum::Value > Ifc4x1::IfcPropertyTableValue::CurveInterpolation() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x1::IfcCurveInterpolationEnum::FromString(*data_->getArgument(7)); } void Ifc4x1::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4x1::IfcCurveInterpolationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcCurveInterpolationEnum::ToString(*v)));data_->setArgument(7,attr);} } @@ -17245,7 +17425,7 @@ Ifc4x1::IfcRectangularPyramid::IfcRectangularPyramid(IfcEntityInstanceData* e) : Ifc4x1::IfcRectangularPyramid::IfcRectangularPyramid(::Ifc4x1::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRectangularPyramid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_XLength));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_YLength));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Height));data_->setArgument(3,attr);} } // Function implementations for IfcRectangularTrimmedSurface -::Ifc4x1::IfcSurface* Ifc4x1::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcSurface>(); } +::Ifc4x1::IfcSurface* Ifc4x1::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcSurface>(true); } void Ifc4x1::IfcRectangularTrimmedSurface::setBasisSurface(::Ifc4x1::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x1::IfcRectangularTrimmedSurface::U1() const { double v = *data_->getArgument(1); return v; } void Ifc4x1::IfcRectangularTrimmedSurface::setU1(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17299,7 +17479,7 @@ boost::optional< std::string > Ifc4x1::IfcReference::InstanceName() const { if(! void Ifc4x1::IfcReference::setInstanceName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x1::IfcReference::ListPositions() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } void Ifc4x1::IfcReference::setListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } -::Ifc4x1::IfcReference* Ifc4x1::IfcReference::InnerReference() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcReference>(); } +::Ifc4x1::IfcReference* Ifc4x1::IfcReference::InnerReference() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcReference>(true); } void Ifc4x1::IfcReference::setInnerReference(::Ifc4x1::IfcReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -17479,7 +17659,7 @@ Ifc4x1::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData* e) Ifc4x1::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< aggregate_of_instance::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x1::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcRelAggregates -::Ifc4x1::IfcObjectDefinition* Ifc4x1::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcObjectDefinition>(); } +::Ifc4x1::IfcObjectDefinition* Ifc4x1::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcObjectDefinition>(true); } void Ifc4x1::IfcRelAggregates::setRelatingObject(::Ifc4x1::IfcObjectDefinition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr Ifc4x1::IfcRelAggregates::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x1::IfcObjectDefinition >(); } void Ifc4x1::IfcRelAggregates::setRelatedObjects(aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -17503,9 +17683,9 @@ Ifc4x1::IfcRelAssigns::IfcRelAssigns(IfcEntityInstanceData* e) : IfcRelationship Ifc4x1::IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssigns_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x1::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } } // Function implementations for IfcRelAssignsToActor -::Ifc4x1::IfcActor* Ifc4x1::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcActor>(); } +::Ifc4x1::IfcActor* Ifc4x1::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcActor>(true); } void Ifc4x1::IfcRelAssignsToActor::setRelatingActor(::Ifc4x1::IfcActor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4x1::IfcActorRole* Ifc4x1::IfcRelAssignsToActor::ActingRole() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x1::IfcActorRole>(); } +::Ifc4x1::IfcActorRole* Ifc4x1::IfcRelAssignsToActor::ActingRole() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x1::IfcActorRole>(true); } void Ifc4x1::IfcRelAssignsToActor::setActingRole(::Ifc4x1::IfcActorRole* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -17515,7 +17695,7 @@ Ifc4x1::IfcRelAssignsToActor::IfcRelAssignsToActor(IfcEntityInstanceData* e) : I Ifc4x1::IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcActor* v7_RelatingActor, ::Ifc4x1::IfcActorRole* v8_ActingRole) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssignsToActor_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x1::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingActor));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_ActingRole));data_->setArgument(7,attr);} } // Function implementations for IfcRelAssignsToControl -::Ifc4x1::IfcControl* Ifc4x1::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcControl>(); } +::Ifc4x1::IfcControl* Ifc4x1::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcControl>(true); } void Ifc4x1::IfcRelAssignsToControl::setRelatingControl(::Ifc4x1::IfcControl* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -17525,7 +17705,7 @@ Ifc4x1::IfcRelAssignsToControl::IfcRelAssignsToControl(IfcEntityInstanceData* e) Ifc4x1::IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcControl* v7_RelatingControl) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssignsToControl_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x1::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingControl));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssignsToGroup -::Ifc4x1::IfcGroup* Ifc4x1::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcGroup>(); } +::Ifc4x1::IfcGroup* Ifc4x1::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcGroup>(true); } void Ifc4x1::IfcRelAssignsToGroup::setRelatingGroup(::Ifc4x1::IfcGroup* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -17545,9 +17725,9 @@ Ifc4x1::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(IfcEntityInst Ifc4x1::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcGroup* v7_RelatingGroup, double v8_Factor) : IfcRelAssignsToGroup((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssignsToGroupByFactor_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x1::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingGroup));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Factor));data_->setArgument(7,attr);} } // Function implementations for IfcRelAssignsToProcess -::Ifc4x1::IfcProcessSelect* Ifc4x1::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcProcessSelect>(); } +::Ifc4x1::IfcProcessSelect* Ifc4x1::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcProcessSelect>(true); } void Ifc4x1::IfcRelAssignsToProcess::setRelatingProcess(::Ifc4x1::IfcProcessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4x1::IfcMeasureWithUnit* Ifc4x1::IfcRelAssignsToProcess::QuantityInProcess() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x1::IfcMeasureWithUnit>(); } +::Ifc4x1::IfcMeasureWithUnit* Ifc4x1::IfcRelAssignsToProcess::QuantityInProcess() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x1::IfcMeasureWithUnit>(true); } void Ifc4x1::IfcRelAssignsToProcess::setQuantityInProcess(::Ifc4x1::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -17557,7 +17737,7 @@ Ifc4x1::IfcRelAssignsToProcess::IfcRelAssignsToProcess(IfcEntityInstanceData* e) Ifc4x1::IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcProcessSelect* v7_RelatingProcess, ::Ifc4x1::IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssignsToProcess_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x1::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingProcess));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_QuantityInProcess));data_->setArgument(7,attr);} } // Function implementations for IfcRelAssignsToProduct -::Ifc4x1::IfcProductSelect* Ifc4x1::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcProductSelect>(); } +::Ifc4x1::IfcProductSelect* Ifc4x1::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcProductSelect>(true); } void Ifc4x1::IfcRelAssignsToProduct::setRelatingProduct(::Ifc4x1::IfcProductSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -17567,7 +17747,7 @@ Ifc4x1::IfcRelAssignsToProduct::IfcRelAssignsToProduct(IfcEntityInstanceData* e) Ifc4x1::IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcProductSelect* v7_RelatingProduct) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssignsToProduct_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x1::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingProduct));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssignsToResource -::Ifc4x1::IfcResourceSelect* Ifc4x1::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcResourceSelect>(); } +::Ifc4x1::IfcResourceSelect* Ifc4x1::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcResourceSelect>(true); } void Ifc4x1::IfcRelAssignsToResource::setRelatingResource(::Ifc4x1::IfcResourceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -17587,7 +17767,7 @@ Ifc4x1::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData* e) : IfcRelati Ifc4x1::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } // Function implementations for IfcRelAssociatesApproval -::Ifc4x1::IfcApproval* Ifc4x1::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcApproval>(); } +::Ifc4x1::IfcApproval* Ifc4x1::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcApproval>(true); } void Ifc4x1::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x1::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17597,7 +17777,7 @@ Ifc4x1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData Ifc4x1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x1::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesClassification -::Ifc4x1::IfcClassificationSelect* Ifc4x1::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcClassificationSelect>(); } +::Ifc4x1::IfcClassificationSelect* Ifc4x1::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcClassificationSelect>(true); } void Ifc4x1::IfcRelAssociatesClassification::setRelatingClassification(::Ifc4x1::IfcClassificationSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17609,7 +17789,7 @@ Ifc4x1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::stri // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4x1::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x1::IfcRelAssociatesConstraint::setIntent(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4x1::IfcConstraint* Ifc4x1::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcConstraint>(); } +::Ifc4x1::IfcConstraint* Ifc4x1::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcConstraint>(true); } void Ifc4x1::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x1::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -17619,7 +17799,7 @@ Ifc4x1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstance Ifc4x1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x1::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociatesDocument -::Ifc4x1::IfcDocumentSelect* Ifc4x1::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcDocumentSelect>(); } +::Ifc4x1::IfcDocumentSelect* Ifc4x1::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcDocumentSelect>(true); } void Ifc4x1::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x1::IfcDocumentSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17629,7 +17809,7 @@ Ifc4x1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData Ifc4x1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x1::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesLibrary -::Ifc4x1::IfcLibrarySelect* Ifc4x1::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcLibrarySelect>(); } +::Ifc4x1::IfcLibrarySelect* Ifc4x1::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcLibrarySelect>(true); } void Ifc4x1::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x1::IfcLibrarySelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17639,7 +17819,7 @@ Ifc4x1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData* Ifc4x1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x1::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesMaterial -::Ifc4x1::IfcMaterialSelect* Ifc4x1::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcMaterialSelect>(); } +::Ifc4x1::IfcMaterialSelect* Ifc4x1::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcMaterialSelect>(true); } void Ifc4x1::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x1::IfcMaterialSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17657,11 +17837,11 @@ Ifc4x1::IfcRelConnects::IfcRelConnects(IfcEntityInstanceData* e) : IfcRelationsh Ifc4x1::IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelConnects_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcRelConnectsElements -::Ifc4x1::IfcConnectionGeometry* Ifc4x1::IfcRelConnectsElements::ConnectionGeometry() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcConnectionGeometry>(); } +::Ifc4x1::IfcConnectionGeometry* Ifc4x1::IfcRelConnectsElements::ConnectionGeometry() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcConnectionGeometry>(true); } void Ifc4x1::IfcRelConnectsElements::setConnectionGeometry(::Ifc4x1::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x1::IfcElement* Ifc4x1::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcElement>(); } +::Ifc4x1::IfcElement* Ifc4x1::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcElement>(true); } void Ifc4x1::IfcRelConnectsElements::setRelatingElement(::Ifc4x1::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x1::IfcElement* Ifc4x1::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcElement>(); } +::Ifc4x1::IfcElement* Ifc4x1::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcElement>(true); } void Ifc4x1::IfcRelConnectsElements::setRelatedElement(::Ifc4x1::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -17687,9 +17867,9 @@ Ifc4x1::IfcRelConnectsPathElements::IfcRelConnectsPathElements(IfcEntityInstance Ifc4x1::IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x1::IfcElement* v6_RelatingElement, ::Ifc4x1::IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x1::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x1::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) : IfcRelConnectsElements((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelConnectsPathElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ConnectionGeometry));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatedElement));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_RelatingPriorities));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_RelatedPriorities));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_RelatedConnectionType,::Ifc4x1::IfcConnectionTypeEnum::ToString(v10_RelatedConnectionType))));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v11_RelatingConnectionType,::Ifc4x1::IfcConnectionTypeEnum::ToString(v11_RelatingConnectionType))));data_->setArgument(10,attr);} } // Function implementations for IfcRelConnectsPortToElement -::Ifc4x1::IfcPort* Ifc4x1::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcPort>(); } +::Ifc4x1::IfcPort* Ifc4x1::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcPort>(true); } void Ifc4x1::IfcRelConnectsPortToElement::setRelatingPort(::Ifc4x1::IfcPort* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x1::IfcDistributionElement* Ifc4x1::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcDistributionElement>(); } +::Ifc4x1::IfcDistributionElement* Ifc4x1::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcDistributionElement>(true); } void Ifc4x1::IfcRelConnectsPortToElement::setRelatedElement(::Ifc4x1::IfcDistributionElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17699,11 +17879,11 @@ Ifc4x1::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(IfcEntityInstan Ifc4x1::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcPort* v5_RelatingPort, ::Ifc4x1::IfcDistributionElement* v6_RelatedElement) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelConnectsPortToElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingPort));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnectsPorts -::Ifc4x1::IfcPort* Ifc4x1::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcPort>(); } +::Ifc4x1::IfcPort* Ifc4x1::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcPort>(true); } void Ifc4x1::IfcRelConnectsPorts::setRelatingPort(::Ifc4x1::IfcPort* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x1::IfcPort* Ifc4x1::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcPort>(); } +::Ifc4x1::IfcPort* Ifc4x1::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcPort>(true); } void Ifc4x1::IfcRelConnectsPorts::setRelatedPort(::Ifc4x1::IfcPort* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x1::IfcElement* Ifc4x1::IfcRelConnectsPorts::RealizingElement() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcElement>(); } +::Ifc4x1::IfcElement* Ifc4x1::IfcRelConnectsPorts::RealizingElement() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcElement>(true); } void Ifc4x1::IfcRelConnectsPorts::setRealizingElement(::Ifc4x1::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -17713,9 +17893,9 @@ Ifc4x1::IfcRelConnectsPorts::IfcRelConnectsPorts(IfcEntityInstanceData* e) : Ifc Ifc4x1::IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcPort* v5_RelatingPort, ::Ifc4x1::IfcPort* v6_RelatedPort, ::Ifc4x1::IfcElement* v7_RealizingElement) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelConnectsPorts_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingPort));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedPort));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RealizingElement));data_->setArgument(6,attr);} } // Function implementations for IfcRelConnectsStructuralActivity -::Ifc4x1::IfcStructuralActivityAssignmentSelect* Ifc4x1::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcStructuralActivityAssignmentSelect>(); } +::Ifc4x1::IfcStructuralActivityAssignmentSelect* Ifc4x1::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcStructuralActivityAssignmentSelect>(true); } void Ifc4x1::IfcRelConnectsStructuralActivity::setRelatingElement(::Ifc4x1::IfcStructuralActivityAssignmentSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x1::IfcStructuralActivity* Ifc4x1::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcStructuralActivity>(); } +::Ifc4x1::IfcStructuralActivity* Ifc4x1::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcStructuralActivity>(true); } void Ifc4x1::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(::Ifc4x1::IfcStructuralActivity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17725,17 +17905,17 @@ Ifc4x1::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(IfcEn Ifc4x1::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcStructuralActivityAssignmentSelect* v5_RelatingElement, ::Ifc4x1::IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelConnectsStructuralActivity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedStructuralActivity));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnectsStructuralMember -::Ifc4x1::IfcStructuralMember* Ifc4x1::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcStructuralMember>(); } +::Ifc4x1::IfcStructuralMember* Ifc4x1::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcStructuralMember>(true); } void Ifc4x1::IfcRelConnectsStructuralMember::setRelatingStructuralMember(::Ifc4x1::IfcStructuralMember* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x1::IfcStructuralConnection* Ifc4x1::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcStructuralConnection>(); } +::Ifc4x1::IfcStructuralConnection* Ifc4x1::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcStructuralConnection>(true); } void Ifc4x1::IfcRelConnectsStructuralMember::setRelatedStructuralConnection(::Ifc4x1::IfcStructuralConnection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x1::IfcBoundaryCondition* Ifc4x1::IfcRelConnectsStructuralMember::AppliedCondition() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcBoundaryCondition>(); } +::Ifc4x1::IfcBoundaryCondition* Ifc4x1::IfcRelConnectsStructuralMember::AppliedCondition() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcBoundaryCondition>(true); } void Ifc4x1::IfcRelConnectsStructuralMember::setAppliedCondition(::Ifc4x1::IfcBoundaryCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4x1::IfcStructuralConnectionCondition* Ifc4x1::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x1::IfcStructuralConnectionCondition>(); } +::Ifc4x1::IfcStructuralConnectionCondition* Ifc4x1::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x1::IfcStructuralConnectionCondition>(true); } void Ifc4x1::IfcRelConnectsStructuralMember::setAdditionalConditions(::Ifc4x1::IfcStructuralConnectionCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< double > Ifc4x1::IfcRelConnectsStructuralMember::SupportedLength() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } void Ifc4x1::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } -::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x1::IfcAxis2Placement3D>(); } +::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x1::IfcAxis2Placement3D>(true); } void Ifc4x1::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(::Ifc4x1::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -17745,7 +17925,7 @@ Ifc4x1::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(IfcEntity Ifc4x1::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x1::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x1::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x1::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x1::IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelConnectsStructuralMember_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingStructuralMember));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedStructuralConnection));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_AppliedCondition));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AdditionalConditions));data_->setArgument(7,attr);} if (v9_SupportedLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_SupportedLength));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_ConditionCoordinateSystem));data_->setArgument(9,attr);} } // Function implementations for IfcRelConnectsWithEccentricity -::Ifc4x1::IfcConnectionGeometry* Ifc4x1::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x1::IfcConnectionGeometry>(); } +::Ifc4x1::IfcConnectionGeometry* Ifc4x1::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x1::IfcConnectionGeometry>(true); } void Ifc4x1::IfcRelConnectsWithEccentricity::setConnectionConstraint(::Ifc4x1::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -17769,7 +17949,7 @@ Ifc4x1::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements // Function implementations for IfcRelContainedInSpatialStructure aggregate_of< ::Ifc4x1::IfcProduct >::ptr Ifc4x1::IfcRelContainedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x1::IfcProduct >(); } void Ifc4x1::IfcRelContainedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x1::IfcProduct >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x1::IfcSpatialElement* Ifc4x1::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcSpatialElement>(); } +::Ifc4x1::IfcSpatialElement* Ifc4x1::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcSpatialElement>(true); } void Ifc4x1::IfcRelContainedInSpatialStructure::setRelatingStructure(::Ifc4x1::IfcSpatialElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17779,7 +17959,7 @@ Ifc4x1::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(Ifc Ifc4x1::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcProduct >::ptr v5_RelatedElements, ::Ifc4x1::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelContainedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } // Function implementations for IfcRelCoversBldgElements -::Ifc4x1::IfcElement* Ifc4x1::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcElement>(); } +::Ifc4x1::IfcElement* Ifc4x1::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcElement>(true); } void Ifc4x1::IfcRelCoversBldgElements::setRelatingBuildingElement(::Ifc4x1::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x1::IfcCovering >::ptr Ifc4x1::IfcRelCoversBldgElements::RelatedCoverings() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x1::IfcCovering >(); } void Ifc4x1::IfcRelCoversBldgElements::setRelatedCoverings(aggregate_of< ::Ifc4x1::IfcCovering >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -17791,7 +17971,7 @@ Ifc4x1::IfcRelCoversBldgElements::IfcRelCoversBldgElements(IfcEntityInstanceData Ifc4x1::IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcElement* v5_RelatingBuildingElement, aggregate_of< ::Ifc4x1::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelCoversBldgElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingBuildingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedCoverings)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelCoversSpaces -::Ifc4x1::IfcSpace* Ifc4x1::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcSpace>(); } +::Ifc4x1::IfcSpace* Ifc4x1::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcSpace>(true); } void Ifc4x1::IfcRelCoversSpaces::setRelatingSpace(::Ifc4x1::IfcSpace* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x1::IfcCovering >::ptr Ifc4x1::IfcRelCoversSpaces::RelatedCoverings() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x1::IfcCovering >(); } void Ifc4x1::IfcRelCoversSpaces::setRelatedCoverings(aggregate_of< ::Ifc4x1::IfcCovering >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -17803,7 +17983,7 @@ Ifc4x1::IfcRelCoversSpaces::IfcRelCoversSpaces(IfcEntityInstanceData* e) : IfcRe Ifc4x1::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcSpace* v5_RelatingSpace, aggregate_of< ::Ifc4x1::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelCoversSpaces_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSpace));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedCoverings)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelDeclares -::Ifc4x1::IfcContext* Ifc4x1::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcContext>(); } +::Ifc4x1::IfcContext* Ifc4x1::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcContext>(true); } void Ifc4x1::IfcRelDeclares::setRelatingContext(::Ifc4x1::IfcContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of_instance::ptr Ifc4x1::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr v = *data_->getArgument(5); return v; } void Ifc4x1::IfcRelDeclares::setRelatedDefinitions(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17833,7 +18013,7 @@ Ifc4x1::IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, ::Ifc4x1::IfcOwner // Function implementations for IfcRelDefinesByObject aggregate_of< ::Ifc4x1::IfcObject >::ptr Ifc4x1::IfcRelDefinesByObject::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x1::IfcObject >(); } void Ifc4x1::IfcRelDefinesByObject::setRelatedObjects(aggregate_of< ::Ifc4x1::IfcObject >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x1::IfcObject* Ifc4x1::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcObject>(); } +::Ifc4x1::IfcObject* Ifc4x1::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcObject>(true); } void Ifc4x1::IfcRelDefinesByObject::setRelatingObject(::Ifc4x1::IfcObject* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17845,7 +18025,7 @@ Ifc4x1::IfcRelDefinesByObject::IfcRelDefinesByObject(std::string v1_GlobalId, :: // Function implementations for IfcRelDefinesByProperties aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr Ifc4x1::IfcRelDefinesByProperties::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x1::IfcObjectDefinition >(); } void Ifc4x1::IfcRelDefinesByProperties::setRelatedObjects(aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x1::IfcPropertySetDefinitionSelect* Ifc4x1::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcPropertySetDefinitionSelect>(); } +::Ifc4x1::IfcPropertySetDefinitionSelect* Ifc4x1::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcPropertySetDefinitionSelect>(true); } void Ifc4x1::IfcRelDefinesByProperties::setRelatingPropertyDefinition(::Ifc4x1::IfcPropertySetDefinitionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17857,7 +18037,7 @@ Ifc4x1::IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_Glob // Function implementations for IfcRelDefinesByTemplate aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr Ifc4x1::IfcRelDefinesByTemplate::RelatedPropertySets() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x1::IfcPropertySetDefinition >(); } void Ifc4x1::IfcRelDefinesByTemplate::setRelatedPropertySets(aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x1::IfcPropertySetTemplate* Ifc4x1::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcPropertySetTemplate>(); } +::Ifc4x1::IfcPropertySetTemplate* Ifc4x1::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcPropertySetTemplate>(true); } void Ifc4x1::IfcRelDefinesByTemplate::setRelatingTemplate(::Ifc4x1::IfcPropertySetTemplate* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17869,7 +18049,7 @@ Ifc4x1::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(std::string v1_GlobalId // Function implementations for IfcRelDefinesByType aggregate_of< ::Ifc4x1::IfcObject >::ptr Ifc4x1::IfcRelDefinesByType::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x1::IfcObject >(); } void Ifc4x1::IfcRelDefinesByType::setRelatedObjects(aggregate_of< ::Ifc4x1::IfcObject >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x1::IfcTypeObject* Ifc4x1::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcTypeObject>(); } +::Ifc4x1::IfcTypeObject* Ifc4x1::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcTypeObject>(true); } void Ifc4x1::IfcRelDefinesByType::setRelatingType(::Ifc4x1::IfcTypeObject* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17879,9 +18059,9 @@ Ifc4x1::IfcRelDefinesByType::IfcRelDefinesByType(IfcEntityInstanceData* e) : Ifc Ifc4x1::IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x1::IfcTypeObject* v6_RelatingType) : IfcRelDefines((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelDefinesByType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingType));data_->setArgument(5,attr);} } // Function implementations for IfcRelFillsElement -::Ifc4x1::IfcOpeningElement* Ifc4x1::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcOpeningElement>(); } +::Ifc4x1::IfcOpeningElement* Ifc4x1::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcOpeningElement>(true); } void Ifc4x1::IfcRelFillsElement::setRelatingOpeningElement(::Ifc4x1::IfcOpeningElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x1::IfcElement* Ifc4x1::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcElement>(); } +::Ifc4x1::IfcElement* Ifc4x1::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcElement>(true); } void Ifc4x1::IfcRelFillsElement::setRelatedBuildingElement(::Ifc4x1::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17893,7 +18073,7 @@ Ifc4x1::IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, ::Ifc4x1 // Function implementations for IfcRelFlowControlElements aggregate_of< ::Ifc4x1::IfcDistributionControlElement >::ptr Ifc4x1::IfcRelFlowControlElements::RelatedControlElements() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x1::IfcDistributionControlElement >(); } void Ifc4x1::IfcRelFlowControlElements::setRelatedControlElements(aggregate_of< ::Ifc4x1::IfcDistributionControlElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x1::IfcDistributionFlowElement* Ifc4x1::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcDistributionFlowElement>(); } +::Ifc4x1::IfcDistributionFlowElement* Ifc4x1::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcDistributionFlowElement>(true); } void Ifc4x1::IfcRelFlowControlElements::setRelatingFlowElement(::Ifc4x1::IfcDistributionFlowElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17903,11 +18083,11 @@ Ifc4x1::IfcRelFlowControlElements::IfcRelFlowControlElements(IfcEntityInstanceDa Ifc4x1::IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDistributionControlElement >::ptr v5_RelatedControlElements, ::Ifc4x1::IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelFlowControlElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedControlElements)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingFlowElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelInterferesElements -::Ifc4x1::IfcElement* Ifc4x1::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcElement>(); } +::Ifc4x1::IfcElement* Ifc4x1::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcElement>(true); } void Ifc4x1::IfcRelInterferesElements::setRelatingElement(::Ifc4x1::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x1::IfcElement* Ifc4x1::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcElement>(); } +::Ifc4x1::IfcElement* Ifc4x1::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcElement>(true); } void Ifc4x1::IfcRelInterferesElements::setRelatedElement(::Ifc4x1::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x1::IfcConnectionGeometry* Ifc4x1::IfcRelInterferesElements::InterferenceGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcConnectionGeometry>(); } +::Ifc4x1::IfcConnectionGeometry* Ifc4x1::IfcRelInterferesElements::InterferenceGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcConnectionGeometry>(true); } void Ifc4x1::IfcRelInterferesElements::setInterferenceGeometry(::Ifc4x1::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x1::IfcRelInterferesElements::InterferenceType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } void Ifc4x1::IfcRelInterferesElements::setInterferenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } @@ -17921,7 +18101,7 @@ Ifc4x1::IfcRelInterferesElements::IfcRelInterferesElements(IfcEntityInstanceData Ifc4x1::IfcRelInterferesElements::IfcRelInterferesElements(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcElement* v5_RelatingElement, ::Ifc4x1::IfcElement* v6_RelatedElement, ::Ifc4x1::IfcConnectionGeometry* v7_InterferenceGeometry, boost::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelInterferesElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_InterferenceGeometry));data_->setArgument(6,attr);} if (v8_InterferenceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_InterferenceType));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_ImpliedOrder));data_->setArgument(8,attr);} } // Function implementations for IfcRelNests -::Ifc4x1::IfcObjectDefinition* Ifc4x1::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcObjectDefinition>(); } +::Ifc4x1::IfcObjectDefinition* Ifc4x1::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcObjectDefinition>(true); } void Ifc4x1::IfcRelNests::setRelatingObject(::Ifc4x1::IfcObjectDefinition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr Ifc4x1::IfcRelNests::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x1::IfcObjectDefinition >(); } void Ifc4x1::IfcRelNests::setRelatedObjects(aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -17933,9 +18113,9 @@ Ifc4x1::IfcRelNests::IfcRelNests(IfcEntityInstanceData* e) : IfcRelDecomposes((I Ifc4x1::IfcRelNests::IfcRelNests(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelNests_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingObject));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedObjects)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelProjectsElement -::Ifc4x1::IfcElement* Ifc4x1::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcElement>(); } +::Ifc4x1::IfcElement* Ifc4x1::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcElement>(true); } void Ifc4x1::IfcRelProjectsElement::setRelatingElement(::Ifc4x1::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x1::IfcFeatureElementAddition* Ifc4x1::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcFeatureElementAddition>(); } +::Ifc4x1::IfcFeatureElementAddition* Ifc4x1::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcFeatureElementAddition>(true); } void Ifc4x1::IfcRelProjectsElement::setRelatedFeatureElement(::Ifc4x1::IfcFeatureElementAddition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17947,7 +18127,7 @@ Ifc4x1::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, :: // Function implementations for IfcRelReferencedInSpatialStructure aggregate_of< ::Ifc4x1::IfcProduct >::ptr Ifc4x1::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x1::IfcProduct >(); } void Ifc4x1::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x1::IfcProduct >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x1::IfcSpatialElement* Ifc4x1::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcSpatialElement>(); } +::Ifc4x1::IfcSpatialElement* Ifc4x1::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcSpatialElement>(true); } void Ifc4x1::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4x1::IfcSpatialElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17957,11 +18137,11 @@ Ifc4x1::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(I Ifc4x1::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcProduct >::ptr v5_RelatedElements, ::Ifc4x1::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } // Function implementations for IfcRelSequence -::Ifc4x1::IfcProcess* Ifc4x1::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcProcess>(); } +::Ifc4x1::IfcProcess* Ifc4x1::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcProcess>(true); } void Ifc4x1::IfcRelSequence::setRelatingProcess(::Ifc4x1::IfcProcess* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x1::IfcProcess* Ifc4x1::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcProcess>(); } +::Ifc4x1::IfcProcess* Ifc4x1::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcProcess>(true); } void Ifc4x1::IfcRelSequence::setRelatedProcess(::Ifc4x1::IfcProcess* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x1::IfcLagTime* Ifc4x1::IfcRelSequence::TimeLag() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcLagTime>(); } +::Ifc4x1::IfcLagTime* Ifc4x1::IfcRelSequence::TimeLag() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcLagTime>(true); } void Ifc4x1::IfcRelSequence::setTimeLag(::Ifc4x1::IfcLagTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4x1::IfcSequenceEnum::Value > Ifc4x1::IfcRelSequence::SequenceType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x1::IfcSequenceEnum::FromString(*data_->getArgument(7)); } void Ifc4x1::IfcRelSequence::setSequenceType(boost::optional< ::Ifc4x1::IfcSequenceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcSequenceEnum::ToString(*v)));data_->setArgument(7,attr);} } @@ -17975,7 +18155,7 @@ Ifc4x1::IfcRelSequence::IfcRelSequence(IfcEntityInstanceData* e) : IfcRelConnect Ifc4x1::IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcProcess* v5_RelatingProcess, ::Ifc4x1::IfcProcess* v6_RelatedProcess, ::Ifc4x1::IfcLagTime* v7_TimeLag, boost::optional< ::Ifc4x1::IfcSequenceEnum::Value > v8_SequenceType, boost::optional< std::string > v9_UserDefinedSequenceType) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelSequence_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingProcess));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedProcess));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_TimeLag));data_->setArgument(6,attr);} if (v8_SequenceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_SequenceType,::Ifc4x1::IfcSequenceEnum::ToString(*v8_SequenceType))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_UserDefinedSequenceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_UserDefinedSequenceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcRelServicesBuildings -::Ifc4x1::IfcSystem* Ifc4x1::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcSystem>(); } +::Ifc4x1::IfcSystem* Ifc4x1::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcSystem>(true); } void Ifc4x1::IfcRelServicesBuildings::setRelatingSystem(::Ifc4x1::IfcSystem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x1::IfcSpatialElement >::ptr Ifc4x1::IfcRelServicesBuildings::RelatedBuildings() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x1::IfcSpatialElement >(); } void Ifc4x1::IfcRelServicesBuildings::setRelatedBuildings(aggregate_of< ::Ifc4x1::IfcSpatialElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -17987,11 +18167,11 @@ Ifc4x1::IfcRelServicesBuildings::IfcRelServicesBuildings(IfcEntityInstanceData* Ifc4x1::IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcSystem* v5_RelatingSystem, aggregate_of< ::Ifc4x1::IfcSpatialElement >::ptr v6_RelatedBuildings) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelServicesBuildings_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSystem));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildings)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelSpaceBoundary -::Ifc4x1::IfcSpaceBoundarySelect* Ifc4x1::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcSpaceBoundarySelect>(); } +::Ifc4x1::IfcSpaceBoundarySelect* Ifc4x1::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcSpaceBoundarySelect>(true); } void Ifc4x1::IfcRelSpaceBoundary::setRelatingSpace(::Ifc4x1::IfcSpaceBoundarySelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x1::IfcElement* Ifc4x1::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcElement>(); } +::Ifc4x1::IfcElement* Ifc4x1::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcElement>(true); } void Ifc4x1::IfcRelSpaceBoundary::setRelatedBuildingElement(::Ifc4x1::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x1::IfcConnectionGeometry* Ifc4x1::IfcRelSpaceBoundary::ConnectionGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcConnectionGeometry>(); } +::Ifc4x1::IfcConnectionGeometry* Ifc4x1::IfcRelSpaceBoundary::ConnectionGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcConnectionGeometry>(true); } void Ifc4x1::IfcRelSpaceBoundary::setConnectionGeometry(::Ifc4x1::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } ::Ifc4x1::IfcPhysicalOrVirtualEnum::Value Ifc4x1::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4x1::IfcPhysicalOrVirtualEnum::FromString(*data_->getArgument(7)); } void Ifc4x1::IfcRelSpaceBoundary::setPhysicalOrVirtualBoundary(::Ifc4x1::IfcPhysicalOrVirtualEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcPhysicalOrVirtualEnum::ToString(v)));data_->setArgument(7,attr);} } @@ -18005,7 +18185,7 @@ Ifc4x1::IfcRelSpaceBoundary::IfcRelSpaceBoundary(IfcEntityInstanceData* e) : Ifc Ifc4x1::IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x1::IfcElement* v6_RelatedBuildingElement, ::Ifc4x1::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelSpaceBoundary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSpace));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConnectionGeometry));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_PhysicalOrVirtualBoundary,::Ifc4x1::IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_InternalOrExternalBoundary,::Ifc4x1::IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary))));data_->setArgument(8,attr);} } // Function implementations for IfcRelSpaceBoundary1stLevel -::Ifc4x1::IfcRelSpaceBoundary1stLevel* Ifc4x1::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x1::IfcRelSpaceBoundary1stLevel>(); } +::Ifc4x1::IfcRelSpaceBoundary1stLevel* Ifc4x1::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x1::IfcRelSpaceBoundary1stLevel>(true); } void Ifc4x1::IfcRelSpaceBoundary1stLevel::setParentBoundary(::Ifc4x1::IfcRelSpaceBoundary1stLevel* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } ::Ifc4x1::IfcRelSpaceBoundary1stLevel::list::ptr Ifc4x1::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return data_->getInverse(IFC4X1_IfcRelSpaceBoundary1stLevel_type, 9)->as(); } @@ -18016,7 +18196,7 @@ Ifc4x1::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(IfcEntityInstan Ifc4x1::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x1::IfcElement* v6_RelatedBuildingElement, ::Ifc4x1::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x1::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary) : IfcRelSpaceBoundary((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelSpaceBoundary1stLevel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSpace));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConnectionGeometry));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_PhysicalOrVirtualBoundary,::Ifc4x1::IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_InternalOrExternalBoundary,::Ifc4x1::IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_ParentBoundary));data_->setArgument(9,attr);} } // Function implementations for IfcRelSpaceBoundary2ndLevel -::Ifc4x1::IfcRelSpaceBoundary2ndLevel* Ifc4x1::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x1::IfcRelSpaceBoundary2ndLevel>(); } +::Ifc4x1::IfcRelSpaceBoundary2ndLevel* Ifc4x1::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x1::IfcRelSpaceBoundary2ndLevel>(true); } void Ifc4x1::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(::Ifc4x1::IfcRelSpaceBoundary2ndLevel* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } ::Ifc4x1::IfcRelSpaceBoundary2ndLevel::list::ptr Ifc4x1::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return data_->getInverse(IFC4X1_IfcRelSpaceBoundary2ndLevel_type, 10)->as(); } @@ -18027,9 +18207,9 @@ Ifc4x1::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(IfcEntityInstan Ifc4x1::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x1::IfcElement* v6_RelatedBuildingElement, ::Ifc4x1::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x1::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, ::Ifc4x1::IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary) : IfcRelSpaceBoundary1stLevel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRelSpaceBoundary2ndLevel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSpace));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConnectionGeometry));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_PhysicalOrVirtualBoundary,::Ifc4x1::IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_InternalOrExternalBoundary,::Ifc4x1::IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_ParentBoundary));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_CorrespondingBoundary));data_->setArgument(10,attr);} } // Function implementations for IfcRelVoidsElement -::Ifc4x1::IfcElement* Ifc4x1::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcElement>(); } +::Ifc4x1::IfcElement* Ifc4x1::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcElement>(true); } void Ifc4x1::IfcRelVoidsElement::setRelatingBuildingElement(::Ifc4x1::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x1::IfcFeatureElementSubtraction* Ifc4x1::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcFeatureElementSubtraction>(); } +::Ifc4x1::IfcFeatureElementSubtraction* Ifc4x1::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcFeatureElementSubtraction>(true); } void Ifc4x1::IfcRelVoidsElement::setRelatedOpeningElement(::Ifc4x1::IfcFeatureElementSubtraction* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -18057,7 +18237,7 @@ Ifc4x1::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveS Ifc4x1::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(::Ifc4x1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x1::IfcCurve* v3_ParentCurve, double v4_ParamLength) : IfcCompositeCurveSegment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcReparametrisedCompositeCurveSegment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_Transition,::Ifc4x1::IfcTransitionCode::ToString(v1_Transition))));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SameSense));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ParentCurve));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ParamLength));data_->setArgument(3,attr);} } // Function implementations for IfcRepresentation -::Ifc4x1::IfcRepresentationContext* Ifc4x1::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcRepresentationContext>(); } +::Ifc4x1::IfcRepresentationContext* Ifc4x1::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcRepresentationContext>(true); } void Ifc4x1::IfcRepresentation::setContextOfItems(::Ifc4x1::IfcRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcRepresentation::RepresentationIdentifier() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x1::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } @@ -18099,9 +18279,9 @@ Ifc4x1::IfcRepresentationItem::IfcRepresentationItem(IfcEntityInstanceData* e) : Ifc4x1::IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X1_IfcRepresentationItem_type); } // Function implementations for IfcRepresentationMap -::Ifc4x1::IfcAxis2Placement* Ifc4x1::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcAxis2Placement>(); } +::Ifc4x1::IfcAxis2Placement* Ifc4x1::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcAxis2Placement>(true); } void Ifc4x1::IfcRepresentationMap::setMappingOrigin(::Ifc4x1::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x1::IfcRepresentation* Ifc4x1::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcRepresentation>(); } +::Ifc4x1::IfcRepresentation* Ifc4x1::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcRepresentation>(true); } void Ifc4x1::IfcRepresentationMap::setMappedRepresentation(::Ifc4x1::IfcRepresentation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4x1::IfcShapeAspect::list::ptr Ifc4x1::IfcRepresentationMap::HasShapeAspects() const { return data_->getInverse(IFC4X1_IfcShapeAspect_type, 4)->as(); } @@ -18128,7 +18308,7 @@ Ifc4x1::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHist // Function implementations for IfcResourceApprovalRelationship aggregate_of_instance::ptr Ifc4x1::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } void Ifc4x1::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x1::IfcApproval* Ifc4x1::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcApproval>(); } +::Ifc4x1::IfcApproval* Ifc4x1::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcApproval>(true); } void Ifc4x1::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x1::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -18138,7 +18318,7 @@ Ifc4x1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEnti Ifc4x1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_RelatedResourceObjects, ::Ifc4x1::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } // Function implementations for IfcResourceConstraintRelationship -::Ifc4x1::IfcConstraint* Ifc4x1::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcConstraint>(); } +::Ifc4x1::IfcConstraint* Ifc4x1::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcConstraint>(true); } void Ifc4x1::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x1::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of_instance::ptr Ifc4x1::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } void Ifc4x1::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -18200,7 +18380,7 @@ Ifc4x1::IfcResourceTime::IfcResourceTime(IfcEntityInstanceData* e) : IfcScheduli Ifc4x1::IfcResourceTime::IfcResourceTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< std::string > v4_ScheduleWork, boost::optional< double > v5_ScheduleUsage, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_ScheduleContour, boost::optional< std::string > v9_LevelingDelay, boost::optional< bool > v10_IsOverAllocated, boost::optional< std::string > v11_StatusTime, boost::optional< std::string > v12_ActualWork, boost::optional< double > v13_ActualUsage, boost::optional< std::string > v14_ActualStart, boost::optional< std::string > v15_ActualFinish, boost::optional< std::string > v16_RemainingWork, boost::optional< double > v17_RemainingUsage, boost::optional< double > v18_Completion) : IfcSchedulingTime((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcResourceTime_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_DataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v2_DataOrigin,::Ifc4x1::IfcDataOriginEnum::ToString(*v2_DataOrigin))));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UserDefinedDataOrigin));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_ScheduleWork) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_ScheduleWork));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ScheduleUsage) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ScheduleUsage));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ScheduleStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ScheduleStart));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ScheduleFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ScheduleFinish));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_ScheduleContour) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_ScheduleContour));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_LevelingDelay) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_LevelingDelay));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_IsOverAllocated) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_IsOverAllocated));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_StatusTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_StatusTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_ActualWork) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_ActualWork));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ActualUsage) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ActualUsage));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ActualStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ActualStart));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ActualFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ActualFinish));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_RemainingWork) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_RemainingWork));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_RemainingUsage) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_RemainingUsage));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_Completion) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_Completion));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } } // Function implementations for IfcRevolvedAreaSolid -::Ifc4x1::IfcAxis1Placement* Ifc4x1::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcAxis1Placement>(); } +::Ifc4x1::IfcAxis1Placement* Ifc4x1::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcAxis1Placement>(true); } void Ifc4x1::IfcRevolvedAreaSolid::setAxis(::Ifc4x1::IfcAxis1Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc4x1::IfcRevolvedAreaSolid::Angle() const { double v = *data_->getArgument(3); return v; } void Ifc4x1::IfcRevolvedAreaSolid::setAngle(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -18212,7 +18392,7 @@ Ifc4x1::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcEntityInstanceData* e) : I Ifc4x1::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(::Ifc4x1::IfcProfileDef* v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D* v2_Position, ::Ifc4x1::IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcRevolvedAreaSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Axis));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Angle));data_->setArgument(3,attr);} } // Function implementations for IfcRevolvedAreaSolidTapered -::Ifc4x1::IfcProfileDef* Ifc4x1::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcProfileDef>(); } +::Ifc4x1::IfcProfileDef* Ifc4x1::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcProfileDef>(true); } void Ifc4x1::IfcRevolvedAreaSolidTapered::setEndSweptArea(::Ifc4x1::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -18268,7 +18448,7 @@ Ifc4x1::IfcRoofType::IfcRoofType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHist // Function implementations for IfcRoot std::string Ifc4x1::IfcRoot::GlobalId() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x1::IfcRoot::setGlobalId(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x1::IfcOwnerHistory* Ifc4x1::IfcRoot::OwnerHistory() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcOwnerHistory>(); } +::Ifc4x1::IfcOwnerHistory* Ifc4x1::IfcRoot::OwnerHistory() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcOwnerHistory>(true); } void Ifc4x1::IfcRoot::setOwnerHistory(::Ifc4x1::IfcOwnerHistory* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x1::IfcRoot::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x1::IfcRoot::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } @@ -18348,9 +18528,9 @@ Ifc4x1::IfcSeamCurve::IfcSeamCurve(::Ifc4x1::IfcCurve* v1_Curve3D, aggregate_of< // Function implementations for IfcSectionProperties ::Ifc4x1::IfcSectionTypeEnum::Value Ifc4x1::IfcSectionProperties::SectionType() const { return ::Ifc4x1::IfcSectionTypeEnum::FromString(*data_->getArgument(0)); } void Ifc4x1::IfcSectionProperties::setSectionType(::Ifc4x1::IfcSectionTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcSectionTypeEnum::ToString(v)));data_->setArgument(0,attr);} } -::Ifc4x1::IfcProfileDef* Ifc4x1::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcProfileDef>(); } +::Ifc4x1::IfcProfileDef* Ifc4x1::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcProfileDef>(true); } void Ifc4x1::IfcSectionProperties::setStartProfile(::Ifc4x1::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x1::IfcProfileDef* Ifc4x1::IfcSectionProperties::EndProfile() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcProfileDef>(); } +::Ifc4x1::IfcProfileDef* Ifc4x1::IfcSectionProperties::EndProfile() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcProfileDef>(true); } void Ifc4x1::IfcSectionProperties::setEndProfile(::Ifc4x1::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -18368,7 +18548,7 @@ boost::optional< double > Ifc4x1::IfcSectionReinforcementProperties::TransverseP void Ifc4x1::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } ::Ifc4x1::IfcReinforcingBarRoleEnum::Value Ifc4x1::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x1::IfcReinforcingBarRoleEnum::FromString(*data_->getArgument(3)); } void Ifc4x1::IfcSectionReinforcementProperties::setReinforcementRole(::Ifc4x1::IfcReinforcingBarRoleEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcReinforcingBarRoleEnum::ToString(v)));data_->setArgument(3,attr);} } -::Ifc4x1::IfcSectionProperties* Ifc4x1::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcSectionProperties>(); } +::Ifc4x1::IfcSectionProperties* Ifc4x1::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcSectionProperties>(true); } void Ifc4x1::IfcSectionReinforcementProperties::setSectionDefinition(::Ifc4x1::IfcSectionProperties* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x1::IfcReinforcementBarProperties >::ptr Ifc4x1::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x1::IfcReinforcementBarProperties >(); } void Ifc4x1::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(aggregate_of< ::Ifc4x1::IfcReinforcementBarProperties >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -18380,7 +18560,7 @@ Ifc4x1::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(Ifc Ifc4x1::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, ::Ifc4x1::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x1::IfcSectionProperties* v5_SectionDefinition, aggregate_of< ::Ifc4x1::IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcPreDefinedProperties((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcSectionReinforcementProperties_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_LongitudinalStartPosition));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LongitudinalEndPosition));data_->setArgument(1,attr);} if (v3_TransversePosition) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_TransversePosition));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v4_ReinforcementRole,::Ifc4x1::IfcReinforcingBarRoleEnum::ToString(v4_ReinforcementRole))));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_SectionDefinition));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_CrossSectionReinforcementDefinitions)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcSectionedSolid -::Ifc4x1::IfcCurve* Ifc4x1::IfcSectionedSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCurve>(); } +::Ifc4x1::IfcCurve* Ifc4x1::IfcSectionedSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcSectionedSolid::setDirectrix(::Ifc4x1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x1::IfcProfileDef >::ptr Ifc4x1::IfcSectionedSolid::CrossSections() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x1::IfcProfileDef >(); } void Ifc4x1::IfcSectionedSolid::setCrossSections(aggregate_of< ::Ifc4x1::IfcProfileDef >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -18404,7 +18584,7 @@ Ifc4x1::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(IfcEntityInstan Ifc4x1::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(::Ifc4x1::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x1::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x1::IfcDistanceExpression >::ptr v3_CrossSectionPositions, bool v4_FixedAxisVertical) : IfcSectionedSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcSectionedSolidHorizontal_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Directrix));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_CrossSections)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_CrossSectionPositions)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_FixedAxisVertical));data_->setArgument(3,attr);} } // Function implementations for IfcSectionedSpine -::Ifc4x1::IfcCompositeCurve* Ifc4x1::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCompositeCurve>(); } +::Ifc4x1::IfcCompositeCurve* Ifc4x1::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCompositeCurve>(true); } void Ifc4x1::IfcSectionedSpine::setSpineCurve(::Ifc4x1::IfcCompositeCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x1::IfcProfileDef >::ptr Ifc4x1::IfcSectionedSpine::CrossSections() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x1::IfcProfileDef >(); } void Ifc4x1::IfcSectionedSpine::setCrossSections(aggregate_of< ::Ifc4x1::IfcProfileDef >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -18466,7 +18646,7 @@ boost::optional< std::string > Ifc4x1::IfcShapeAspect::Description() const { if( void Ifc4x1::IfcShapeAspect::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } boost::logic::tribool Ifc4x1::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = *data_->getArgument(3); return v; } void Ifc4x1::IfcShapeAspect::setProductDefinitional(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x1::IfcProductRepresentationSelect* Ifc4x1::IfcShapeAspect::PartOfProductDefinitionShape() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcProductRepresentationSelect>(); } +::Ifc4x1::IfcProductRepresentationSelect* Ifc4x1::IfcShapeAspect::PartOfProductDefinitionShape() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcProductRepresentationSelect>(true); } void Ifc4x1::IfcShapeAspect::setPartOfProductDefinitionShape(::Ifc4x1::IfcProductRepresentationSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4x1::IfcExternalReferenceRelationship::list::ptr Ifc4x1::IfcShapeAspect::HasExternalReferences() const { return data_->getInverse(IFC4X1_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -18518,11 +18698,11 @@ boost::optional< std::string > Ifc4x1::IfcSimplePropertyTemplate::PrimaryMeasure void Ifc4x1::IfcSimplePropertyTemplate::setPrimaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x1::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4x1::IfcSimplePropertyTemplate::setSecondaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } -::Ifc4x1::IfcPropertyEnumeration* Ifc4x1::IfcSimplePropertyTemplate::Enumerators() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x1::IfcPropertyEnumeration>(); } +::Ifc4x1::IfcPropertyEnumeration* Ifc4x1::IfcSimplePropertyTemplate::Enumerators() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x1::IfcPropertyEnumeration>(true); } void Ifc4x1::IfcSimplePropertyTemplate::setEnumerators(::Ifc4x1::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -::Ifc4x1::IfcUnit* Ifc4x1::IfcSimplePropertyTemplate::PrimaryUnit() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x1::IfcUnit>(); } +::Ifc4x1::IfcUnit* Ifc4x1::IfcSimplePropertyTemplate::PrimaryUnit() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x1::IfcUnit>(true); } void Ifc4x1::IfcSimplePropertyTemplate::setPrimaryUnit(::Ifc4x1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -::Ifc4x1::IfcUnit* Ifc4x1::IfcSimplePropertyTemplate::SecondaryUnit() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x1::IfcUnit>(); } +::Ifc4x1::IfcUnit* Ifc4x1::IfcSimplePropertyTemplate::SecondaryUnit() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x1::IfcUnit>(true); } void Ifc4x1::IfcSimplePropertyTemplate::setSecondaryUnit(::Ifc4x1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x1::IfcSimplePropertyTemplate::Expression() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4x1::IfcSimplePropertyTemplate::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } @@ -18544,7 +18724,7 @@ boost::optional< double > Ifc4x1::IfcSite::RefElevation() const { if(!data_->get void Ifc4x1::IfcSite::setRefElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x1::IfcSite::LandTitleNumber() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } void Ifc4x1::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } -::Ifc4x1::IfcPostalAddress* Ifc4x1::IfcSite::SiteAddress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x1::IfcPostalAddress>(); } +::Ifc4x1::IfcPostalAddress* Ifc4x1::IfcSite::SiteAddress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x1::IfcPostalAddress>(true); } void Ifc4x1::IfcSite::setSiteAddress(::Ifc4x1::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } @@ -18839,7 +19019,7 @@ Ifc4x1::IfcStructuralAction::IfcStructuralAction(IfcEntityInstanceData* e) : Ifc Ifc4x1::IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralActivity((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcStructuralAction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc4x1::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);} if (v10_DestabilizingLoad) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_DestabilizingLoad));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcStructuralActivity -::Ifc4x1::IfcStructuralLoad* Ifc4x1::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x1::IfcStructuralLoad>(); } +::Ifc4x1::IfcStructuralLoad* Ifc4x1::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x1::IfcStructuralLoad>(true); } void Ifc4x1::IfcStructuralActivity::setAppliedLoad(::Ifc4x1::IfcStructuralLoad* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x1::IfcGlobalOrLocalEnum::Value Ifc4x1::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x1::IfcGlobalOrLocalEnum::FromString(*data_->getArgument(8)); } void Ifc4x1::IfcStructuralActivity::setGlobalOrLocal(::Ifc4x1::IfcGlobalOrLocalEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcGlobalOrLocalEnum::ToString(v)));data_->setArgument(8,attr);} } @@ -18854,13 +19034,13 @@ Ifc4x1::IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId, :: // Function implementations for IfcStructuralAnalysisModel ::Ifc4x1::IfcAnalysisModelTypeEnum::Value Ifc4x1::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x1::IfcAnalysisModelTypeEnum::FromString(*data_->getArgument(5)); } void Ifc4x1::IfcStructuralAnalysisModel::setPredefinedType(::Ifc4x1::IfcAnalysisModelTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcAnalysisModelTypeEnum::ToString(v)));data_->setArgument(5,attr);} } -::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcAxis2Placement3D>(); } +::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcAxis2Placement3D>(true); } void Ifc4x1::IfcStructuralAnalysisModel::setOrientationOf2DPlane(::Ifc4x1::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x1::IfcStructuralLoadGroup >::ptr > Ifc4x1::IfcStructuralAnalysisModel::LoadedBy() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x1::IfcStructuralLoadGroup >(); } void Ifc4x1::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc4x1::IfcStructuralLoadGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4x1::IfcStructuralResultGroup >::ptr > Ifc4x1::IfcStructuralAnalysisModel::HasResults() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x1::IfcStructuralResultGroup >(); } void Ifc4x1::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc4x1::IfcStructuralResultGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } -::Ifc4x1::IfcObjectPlacement* Ifc4x1::IfcStructuralAnalysisModel::SharedPlacement() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x1::IfcObjectPlacement>(); } +::Ifc4x1::IfcObjectPlacement* Ifc4x1::IfcStructuralAnalysisModel::SharedPlacement() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x1::IfcObjectPlacement>(true); } void Ifc4x1::IfcStructuralAnalysisModel::setSharedPlacement(::Ifc4x1::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -18870,7 +19050,7 @@ Ifc4x1::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(IfcEntityInstance Ifc4x1::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x1::IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< aggregate_of< ::Ifc4x1::IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< aggregate_of< ::Ifc4x1::IfcStructuralResultGroup >::ptr > v9_HasResults, ::Ifc4x1::IfcObjectPlacement* v10_SharedPlacement) : IfcSystem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcStructuralAnalysisModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_PredefinedType,::Ifc4x1::IfcAnalysisModelTypeEnum::ToString(v6_PredefinedType))));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_OrientationOf2DPlane));data_->setArgument(6,attr);} if (v8_LoadedBy) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LoadedBy)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_HasResults) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_HasResults)->generalize());data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_SharedPlacement));data_->setArgument(9,attr);} } // Function implementations for IfcStructuralConnection -::Ifc4x1::IfcBoundaryCondition* Ifc4x1::IfcStructuralConnection::AppliedCondition() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x1::IfcBoundaryCondition>(); } +::Ifc4x1::IfcBoundaryCondition* Ifc4x1::IfcStructuralConnection::AppliedCondition() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x1::IfcBoundaryCondition>(true); } void Ifc4x1::IfcStructuralConnection::setAppliedCondition(::Ifc4x1::IfcBoundaryCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x1::IfcRelConnectsStructuralMember::list::ptr Ifc4x1::IfcStructuralConnection::ConnectsStructuralMembers() const { return data_->getInverse(IFC4X1_IfcRelConnectsStructuralMember_type, 5)->as(); } @@ -18903,7 +19083,7 @@ Ifc4x1::IfcStructuralCurveAction::IfcStructuralCurveAction(IfcEntityInstanceData Ifc4x1::IfcStructuralCurveAction::IfcStructuralCurveAction(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcStructuralCurveAction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc4x1::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);} if (v10_DestabilizingLoad) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_DestabilizingLoad));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_ProjectedOrTrue) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_ProjectedOrTrue,::Ifc4x1::IfcProjectedOrTrueLengthEnum::ToString(*v11_ProjectedOrTrue))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4x1::IfcStructuralCurveActivityTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcStructuralCurveConnection -::Ifc4x1::IfcDirection* Ifc4x1::IfcStructuralCurveConnection::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x1::IfcDirection>(); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcStructuralCurveConnection::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcStructuralCurveConnection::setAxis(::Ifc4x1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -18915,7 +19095,7 @@ Ifc4x1::IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::string v // Function implementations for IfcStructuralCurveMember ::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Value Ifc4x1::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x1::IfcStructuralCurveMemberTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4x1::IfcStructuralCurveMember::setPredefinedType(::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcStructuralCurveMemberTypeEnum::ToString(v)));data_->setArgument(7,attr);} } -::Ifc4x1::IfcDirection* Ifc4x1::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x1::IfcDirection>(); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcStructuralCurveMember::setAxis(::Ifc4x1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -19161,7 +19341,7 @@ Ifc4x1::IfcStructuralPointAction::IfcStructuralPointAction(IfcEntityInstanceData Ifc4x1::IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralAction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcStructuralPointAction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc4x1::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);} if (v10_DestabilizingLoad) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_DestabilizingLoad));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcStructuralPointConnection -::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x1::IfcAxis2Placement3D>(); } +::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x1::IfcAxis2Placement3D>(true); } void Ifc4x1::IfcStructuralPointConnection::setConditionCoordinateSystem(::Ifc4x1::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -19189,7 +19369,7 @@ Ifc4x1::IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId, :: // Function implementations for IfcStructuralResultGroup ::Ifc4x1::IfcAnalysisTheoryTypeEnum::Value Ifc4x1::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x1::IfcAnalysisTheoryTypeEnum::FromString(*data_->getArgument(5)); } void Ifc4x1::IfcStructuralResultGroup::setTheoryType(::Ifc4x1::IfcAnalysisTheoryTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcAnalysisTheoryTypeEnum::ToString(v)));data_->setArgument(5,attr);} } -::Ifc4x1::IfcStructuralLoadGroup* Ifc4x1::IfcStructuralResultGroup::ResultForLoadGroup() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcStructuralLoadGroup>(); } +::Ifc4x1::IfcStructuralLoadGroup* Ifc4x1::IfcStructuralResultGroup::ResultForLoadGroup() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcStructuralLoadGroup>(true); } void Ifc4x1::IfcStructuralResultGroup::setResultForLoadGroup(::Ifc4x1::IfcStructuralLoadGroup* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } bool Ifc4x1::IfcStructuralResultGroup::IsLinear() const { bool v = *data_->getArgument(7); return v; } void Ifc4x1::IfcStructuralResultGroup::setIsLinear(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -19260,7 +19440,7 @@ Ifc4x1::IfcStyleModel::IfcStyleModel(IfcEntityInstanceData* e) : IfcRepresentati Ifc4x1::IfcStyleModel::IfcStyleModel(::Ifc4x1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x1::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcStyleModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcStyledItem -::Ifc4x1::IfcRepresentationItem* Ifc4x1::IfcStyledItem::Item() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcRepresentationItem>(); } +::Ifc4x1::IfcRepresentationItem* Ifc4x1::IfcStyledItem::Item() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcRepresentationItem>(true); } void Ifc4x1::IfcStyledItem::setItem(::Ifc4x1::IfcRepresentationItem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of_instance::ptr Ifc4x1::IfcStyledItem::Styles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4x1::IfcStyledItem::setStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -19302,7 +19482,7 @@ Ifc4x1::IfcSubContractResourceType::IfcSubContractResourceType(IfcEntityInstance Ifc4x1::IfcSubContractResourceType::IfcSubContractResourceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x1::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcSubContractResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4x1::IfcSubContractResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcSubedge -::Ifc4x1::IfcEdge* Ifc4x1::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcEdge>(); } +::Ifc4x1::IfcEdge* Ifc4x1::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcEdge>(true); } void Ifc4x1::IfcSubedge::setParentEdge(::Ifc4x1::IfcEdge* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -19320,7 +19500,7 @@ Ifc4x1::IfcSurface::IfcSurface(IfcEntityInstanceData* e) : IfcGeometricRepresent Ifc4x1::IfcSurface::IfcSurface() : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcSurface_type); } // Function implementations for IfcSurfaceCurve -::Ifc4x1::IfcCurve* Ifc4x1::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCurve>(); } +::Ifc4x1::IfcCurve* Ifc4x1::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcSurfaceCurve::setCurve3D(::Ifc4x1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x1::IfcPcurve >::ptr Ifc4x1::IfcSurfaceCurve::AssociatedGeometry() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x1::IfcPcurve >(); } void Ifc4x1::IfcSurfaceCurve::setAssociatedGeometry(aggregate_of< ::Ifc4x1::IfcPcurve >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -19334,13 +19514,13 @@ Ifc4x1::IfcSurfaceCurve::IfcSurfaceCurve(IfcEntityInstanceData* e) : IfcCurve((I Ifc4x1::IfcSurfaceCurve::IfcSurfaceCurve(::Ifc4x1::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x1::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcSurfaceCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Curve3D));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_AssociatedGeometry)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_MasterRepresentation,::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::ToString(v3_MasterRepresentation))));data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceCurveSweptAreaSolid -::Ifc4x1::IfcCurve* Ifc4x1::IfcSurfaceCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcCurve>(); } +::Ifc4x1::IfcCurve* Ifc4x1::IfcSurfaceCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcSurfaceCurveSweptAreaSolid::setDirectrix(::Ifc4x1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x1::IfcSurfaceCurveSweptAreaSolid::StartParam() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4x1::IfcSurfaceCurveSweptAreaSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } boost::optional< double > Ifc4x1::IfcSurfaceCurveSweptAreaSolid::EndParam() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } void Ifc4x1::IfcSurfaceCurveSweptAreaSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc4x1::IfcSurface* Ifc4x1::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcSurface>(); } +::Ifc4x1::IfcSurface* Ifc4x1::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcSurface>(true); } void Ifc4x1::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(::Ifc4x1::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -19360,7 +19540,7 @@ Ifc4x1::IfcSurfaceFeature::IfcSurfaceFeature(IfcEntityInstanceData* e) : IfcFeat Ifc4x1::IfcSurfaceFeature::IfcSurfaceFeature(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcSurfaceFeature_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4x1::IfcSurfaceFeatureTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcSurfaceOfLinearExtrusion -::Ifc4x1::IfcDirection* Ifc4x1::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcDirection>(); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcSurfaceOfLinearExtrusion::setExtrudedDirection(::Ifc4x1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc4x1::IfcSurfaceOfLinearExtrusion::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc4x1::IfcSurfaceOfLinearExtrusion::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19372,7 +19552,7 @@ Ifc4x1::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcEntityInstan Ifc4x1::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(::Ifc4x1::IfcProfileDef* v1_SweptCurve, ::Ifc4x1::IfcAxis2Placement3D* v2_Position, ::Ifc4x1::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcSurfaceOfLinearExtrusion_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ExtrudedDirection));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);} } // Function implementations for IfcSurfaceOfRevolution -::Ifc4x1::IfcAxis1Placement* Ifc4x1::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcAxis1Placement>(); } +::Ifc4x1::IfcAxis1Placement* Ifc4x1::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcAxis1Placement>(true); } void Ifc4x1::IfcSurfaceOfRevolution::setAxisPosition(::Ifc4x1::IfcAxis1Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -19408,13 +19588,13 @@ Ifc4x1::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData* e) : IfcPresenta Ifc4x1::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcSurfaceSide::Value v2_Side, aggregate_of_instance::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x1::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceStyleLighting -::Ifc4x1::IfcColourRgb* Ifc4x1::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcColourRgb>(); } +::Ifc4x1::IfcColourRgb* Ifc4x1::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcColourRgb>(true); } void Ifc4x1::IfcSurfaceStyleLighting::setDiffuseTransmissionColour(::Ifc4x1::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x1::IfcColourRgb* Ifc4x1::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcColourRgb>(); } +::Ifc4x1::IfcColourRgb* Ifc4x1::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcColourRgb>(true); } void Ifc4x1::IfcSurfaceStyleLighting::setDiffuseReflectionColour(::Ifc4x1::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x1::IfcColourRgb* Ifc4x1::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcColourRgb>(); } +::Ifc4x1::IfcColourRgb* Ifc4x1::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcColourRgb>(true); } void Ifc4x1::IfcSurfaceStyleLighting::setTransmissionColour(::Ifc4x1::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x1::IfcColourRgb* Ifc4x1::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcColourRgb>(); } +::Ifc4x1::IfcColourRgb* Ifc4x1::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcColourRgb>(true); } void Ifc4x1::IfcSurfaceStyleLighting::setReflectanceColour(::Ifc4x1::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19436,17 +19616,17 @@ Ifc4x1::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(IfcEntityInstanceDa Ifc4x1::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcSurfaceStyleRefraction_type); if (v1_RefractionIndex) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RefractionIndex));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_DispersionFactor) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_DispersionFactor));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcSurfaceStyleRendering -::Ifc4x1::IfcColourOrFactor* Ifc4x1::IfcSurfaceStyleRendering::DiffuseColour() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcColourOrFactor>(); } +::Ifc4x1::IfcColourOrFactor* Ifc4x1::IfcSurfaceStyleRendering::DiffuseColour() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcColourOrFactor>(true); } void Ifc4x1::IfcSurfaceStyleRendering::setDiffuseColour(::Ifc4x1::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x1::IfcColourOrFactor* Ifc4x1::IfcSurfaceStyleRendering::TransmissionColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcColourOrFactor>(); } +::Ifc4x1::IfcColourOrFactor* Ifc4x1::IfcSurfaceStyleRendering::TransmissionColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcColourOrFactor>(true); } void Ifc4x1::IfcSurfaceStyleRendering::setTransmissionColour(::Ifc4x1::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x1::IfcColourOrFactor* Ifc4x1::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcColourOrFactor>(); } +::Ifc4x1::IfcColourOrFactor* Ifc4x1::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcColourOrFactor>(true); } void Ifc4x1::IfcSurfaceStyleRendering::setDiffuseTransmissionColour(::Ifc4x1::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x1::IfcColourOrFactor* Ifc4x1::IfcSurfaceStyleRendering::ReflectionColour() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcColourOrFactor>(); } +::Ifc4x1::IfcColourOrFactor* Ifc4x1::IfcSurfaceStyleRendering::ReflectionColour() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcColourOrFactor>(true); } void Ifc4x1::IfcSurfaceStyleRendering::setReflectionColour(::Ifc4x1::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x1::IfcColourOrFactor* Ifc4x1::IfcSurfaceStyleRendering::SpecularColour() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcColourOrFactor>(); } +::Ifc4x1::IfcColourOrFactor* Ifc4x1::IfcSurfaceStyleRendering::SpecularColour() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcColourOrFactor>(true); } void Ifc4x1::IfcSurfaceStyleRendering::setSpecularColour(::Ifc4x1::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4x1::IfcSpecularHighlightSelect* Ifc4x1::IfcSurfaceStyleRendering::SpecularHighlight() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x1::IfcSpecularHighlightSelect>(); } +::Ifc4x1::IfcSpecularHighlightSelect* Ifc4x1::IfcSurfaceStyleRendering::SpecularHighlight() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x1::IfcSpecularHighlightSelect>(true); } void Ifc4x1::IfcSurfaceStyleRendering::setSpecularHighlight(::Ifc4x1::IfcSpecularHighlightSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x1::IfcReflectanceMethodEnum::Value Ifc4x1::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4x1::IfcReflectanceMethodEnum::FromString(*data_->getArgument(8)); } void Ifc4x1::IfcSurfaceStyleRendering::setReflectanceMethod(::Ifc4x1::IfcReflectanceMethodEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcReflectanceMethodEnum::ToString(v)));data_->setArgument(8,attr);} } @@ -19458,7 +19638,7 @@ Ifc4x1::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcEntityInstanceData Ifc4x1::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc4x1::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, ::Ifc4x1::IfcColourOrFactor* v3_DiffuseColour, ::Ifc4x1::IfcColourOrFactor* v4_TransmissionColour, ::Ifc4x1::IfcColourOrFactor* v5_DiffuseTransmissionColour, ::Ifc4x1::IfcColourOrFactor* v6_ReflectionColour, ::Ifc4x1::IfcColourOrFactor* v7_SpecularColour, ::Ifc4x1::IfcSpecularHighlightSelect* v8_SpecularHighlight, ::Ifc4x1::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) : IfcSurfaceStyleShading((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcSurfaceStyleRendering_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SurfaceColour));data_->setArgument(0,attr);} if (v2_Transparency) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Transparency));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DiffuseColour));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TransmissionColour));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_DiffuseTransmissionColour));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ReflectionColour));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_SpecularColour));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_SpecularHighlight));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_ReflectanceMethod,::Ifc4x1::IfcReflectanceMethodEnum::ToString(v9_ReflectanceMethod))));data_->setArgument(8,attr);} } // Function implementations for IfcSurfaceStyleShading -::Ifc4x1::IfcColourRgb* Ifc4x1::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcColourRgb>(); } +::Ifc4x1::IfcColourRgb* Ifc4x1::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcColourRgb>(true); } void Ifc4x1::IfcSurfaceStyleShading::setSurfaceColour(::Ifc4x1::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4x1::IfcSurfaceStyleShading::Transparency() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } void Ifc4x1::IfcSurfaceStyleShading::setTransparency(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } @@ -19486,7 +19666,7 @@ bool Ifc4x1::IfcSurfaceTexture::RepeatT() const { bool v = *data_->getArgument( void Ifc4x1::IfcSurfaceTexture::setRepeatT(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x1::IfcSurfaceTexture::Mode() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x1::IfcSurfaceTexture::setMode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x1::IfcCartesianTransformationOperator2D* Ifc4x1::IfcSurfaceTexture::TextureTransform() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcCartesianTransformationOperator2D>(); } +::Ifc4x1::IfcCartesianTransformationOperator2D* Ifc4x1::IfcSurfaceTexture::TextureTransform() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcCartesianTransformationOperator2D>(true); } void Ifc4x1::IfcSurfaceTexture::setTextureTransform(::Ifc4x1::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcSurfaceTexture::Parameter() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } void Ifc4x1::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -19500,9 +19680,9 @@ Ifc4x1::IfcSurfaceTexture::IfcSurfaceTexture(IfcEntityInstanceData* e) : IfcPres Ifc4x1::IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x1::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcSurfaceTexture_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_RepeatS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RepeatT));data_->setArgument(1,attr);} if (v3_Mode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Mode));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TextureTransform));data_->setArgument(3,attr);} if (v5_Parameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Parameter));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcSweptAreaSolid -::Ifc4x1::IfcProfileDef* Ifc4x1::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcProfileDef>(); } +::Ifc4x1::IfcProfileDef* Ifc4x1::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcProfileDef>(true); } void Ifc4x1::IfcSweptAreaSolid::setSweptArea(::Ifc4x1::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcSweptAreaSolid::Position() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcAxis2Placement3D>(); } +::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcSweptAreaSolid::Position() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcAxis2Placement3D>(true); } void Ifc4x1::IfcSweptAreaSolid::setPosition(::Ifc4x1::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -19512,7 +19692,7 @@ Ifc4x1::IfcSweptAreaSolid::IfcSweptAreaSolid(IfcEntityInstanceData* e) : IfcSoli Ifc4x1::IfcSweptAreaSolid::IfcSweptAreaSolid(::Ifc4x1::IfcProfileDef* v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D* v2_Position) : IfcSolidModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcSweptAreaSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);} } // Function implementations for IfcSweptDiskSolid -::Ifc4x1::IfcCurve* Ifc4x1::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCurve>(); } +::Ifc4x1::IfcCurve* Ifc4x1::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcSweptDiskSolid::setDirectrix(::Ifc4x1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x1::IfcSweptDiskSolid::Radius() const { double v = *data_->getArgument(1); return v; } void Ifc4x1::IfcSweptDiskSolid::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -19540,9 +19720,9 @@ Ifc4x1::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(IfcEntityInstance Ifc4x1::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(::Ifc4x1::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, boost::optional< double > v6_FilletRadius) : IfcSweptDiskSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcSweptDiskSolidPolygonal_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Directrix));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Radius));data_->setArgument(1,attr);} if (v3_InnerRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_InnerRadius));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_StartParam) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_StartParam));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_EndParam) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_EndParam));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_FilletRadius));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } } // Function implementations for IfcSweptSurface -::Ifc4x1::IfcProfileDef* Ifc4x1::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcProfileDef>(); } +::Ifc4x1::IfcProfileDef* Ifc4x1::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcProfileDef>(true); } void Ifc4x1::IfcSweptSurface::setSweptCurve(::Ifc4x1::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcSweptSurface::Position() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcAxis2Placement3D>(); } +::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcSweptSurface::Position() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcAxis2Placement3D>(true); } void Ifc4x1::IfcSweptSurface::setPosition(::Ifc4x1::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -19647,9 +19827,9 @@ boost::optional< std::string > Ifc4x1::IfcTableColumn::Name() const { if(!data_- void Ifc4x1::IfcTableColumn::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x1::IfcTableColumn::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x1::IfcTableColumn::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x1::IfcUnit* Ifc4x1::IfcTableColumn::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcUnit>(); } +::Ifc4x1::IfcUnit* Ifc4x1::IfcTableColumn::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcUnit>(true); } void Ifc4x1::IfcTableColumn::setUnit(::Ifc4x1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x1::IfcReference* Ifc4x1::IfcTableColumn::ReferencePath() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcReference>(); } +::Ifc4x1::IfcReference* Ifc4x1::IfcTableColumn::ReferencePath() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcReference>(true); } void Ifc4x1::IfcTableColumn::setReferencePath(::Ifc4x1::IfcReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -19699,7 +19879,7 @@ bool Ifc4x1::IfcTask::IsMilestone() const { bool v = *data_->getArgument(9); re void Ifc4x1::IfcTask::setIsMilestone(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< int > Ifc4x1::IfcTask::Priority() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } int v = *data_->getArgument(10); return v; } void Ifc4x1::IfcTask::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } -::Ifc4x1::IfcTaskTime* Ifc4x1::IfcTask::TaskTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x1::IfcTaskTime>(); } +::Ifc4x1::IfcTaskTime* Ifc4x1::IfcTask::TaskTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x1::IfcTaskTime>(true); } void Ifc4x1::IfcTask::setTaskTime(::Ifc4x1::IfcTaskTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< ::Ifc4x1::IfcTaskTypeEnum::Value > Ifc4x1::IfcTask::PredefinedType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } return ::Ifc4x1::IfcTaskTypeEnum::FromString(*data_->getArgument(12)); } void Ifc4x1::IfcTask::setPredefinedType(boost::optional< ::Ifc4x1::IfcTaskTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x1::IfcTaskTypeEnum::ToString(*v)));data_->setArgument(12,attr);} } @@ -19753,7 +19933,7 @@ Ifc4x1::IfcTaskTime::IfcTaskTime(IfcEntityInstanceData* e) : IfcSchedulingTime(( Ifc4x1::IfcTaskTime::IfcTaskTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x1::IfcTaskDurationEnum::Value > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion) : IfcSchedulingTime((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcTaskTime_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_DataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v2_DataOrigin,::Ifc4x1::IfcDataOriginEnum::ToString(*v2_DataOrigin))));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UserDefinedDataOrigin));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DurationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v4_DurationType,::Ifc4x1::IfcTaskDurationEnum::ToString(*v4_DurationType))));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ScheduleDuration) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ScheduleDuration));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ScheduleStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ScheduleStart));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ScheduleFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ScheduleFinish));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_EarlyStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_EarlyStart));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EarlyFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EarlyFinish));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_LateStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_LateStart));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_LateFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_LateFinish));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_FreeFloat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_FreeFloat));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_TotalFloat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_TotalFloat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_IsCritical) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_IsCritical));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_StatusTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_StatusTime));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_ActualDuration) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_ActualDuration));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_ActualStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_ActualStart));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_ActualFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_ActualFinish));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_RemainingTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_RemainingTime));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_Completion) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_Completion));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcTaskTimeRecurring -::Ifc4x1::IfcRecurrencePattern* Ifc4x1::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(20)))->as<::Ifc4x1::IfcRecurrencePattern>(); } +::Ifc4x1::IfcRecurrencePattern* Ifc4x1::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(20)))->as<::Ifc4x1::IfcRecurrencePattern>(true); } void Ifc4x1::IfcTaskTimeRecurring::setRecurrence(::Ifc4x1::IfcRecurrencePattern* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(20,attr);} } @@ -19855,7 +20035,7 @@ Ifc4x1::IfcTendonType::IfcTendonType(IfcEntityInstanceData* e) : IfcReinforcingE Ifc4x1::IfcTendonType::IfcTendonType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTendonTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheathDiameter) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcTendonType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x1::IfcTendonTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_SheathDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_SheathDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } } // Function implementations for IfcTessellatedFaceSet -::Ifc4x1::IfcCartesianPointList3D* Ifc4x1::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCartesianPointList3D>(); } +::Ifc4x1::IfcCartesianPointList3D* Ifc4x1::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCartesianPointList3D>(true); } void Ifc4x1::IfcTessellatedFaceSet::setCoordinates(::Ifc4x1::IfcCartesianPointList3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4x1::IfcIndexedColourMap::list::ptr Ifc4x1::IfcTessellatedFaceSet::HasColours() const { return data_->getInverse(IFC4X1_IfcIndexedColourMap_type, 0)->as(); } @@ -19877,7 +20057,7 @@ Ifc4x1::IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentationIte // Function implementations for IfcTextLiteral std::string Ifc4x1::IfcTextLiteral::Literal() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x1::IfcTextLiteral::setLiteral(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x1::IfcAxis2Placement* Ifc4x1::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcAxis2Placement>(); } +::Ifc4x1::IfcAxis2Placement* Ifc4x1::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcAxis2Placement>(true); } void Ifc4x1::IfcTextLiteral::setPlacement(::Ifc4x1::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4x1::IfcTextPath::Value Ifc4x1::IfcTextLiteral::Path() const { return ::Ifc4x1::IfcTextPath::FromString(*data_->getArgument(2)); } void Ifc4x1::IfcTextLiteral::setPath(::Ifc4x1::IfcTextPath::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcTextPath::ToString(v)));data_->setArgument(2,attr);} } @@ -19889,7 +20069,7 @@ Ifc4x1::IfcTextLiteral::IfcTextLiteral(IfcEntityInstanceData* e) : IfcGeometricR Ifc4x1::IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, ::Ifc4x1::IfcAxis2Placement* v2_Placement, ::Ifc4x1::IfcTextPath::Value v3_Path) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcTextLiteral_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Literal));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Placement));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_Path,::Ifc4x1::IfcTextPath::ToString(v3_Path))));data_->setArgument(2,attr);} } // Function implementations for IfcTextLiteralWithExtent -::Ifc4x1::IfcPlanarExtent* Ifc4x1::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcPlanarExtent>(); } +::Ifc4x1::IfcPlanarExtent* Ifc4x1::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcPlanarExtent>(true); } void Ifc4x1::IfcTextLiteralWithExtent::setExtent(::Ifc4x1::IfcPlanarExtent* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } std::string Ifc4x1::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = *data_->getArgument(4); return v; } void Ifc4x1::IfcTextLiteralWithExtent::setBoxAlignment(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -19901,11 +20081,11 @@ Ifc4x1::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcEntityInstanceData Ifc4x1::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(std::string v1_Literal, ::Ifc4x1::IfcAxis2Placement* v2_Placement, ::Ifc4x1::IfcTextPath::Value v3_Path, ::Ifc4x1::IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment) : IfcTextLiteral((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcTextLiteralWithExtent_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Literal));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Placement));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_Path,::Ifc4x1::IfcTextPath::ToString(v3_Path))));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Extent));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_BoxAlignment));data_->setArgument(4,attr);} } // Function implementations for IfcTextStyle -::Ifc4x1::IfcTextStyleForDefinedFont* Ifc4x1::IfcTextStyle::TextCharacterAppearance() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcTextStyleForDefinedFont>(); } +::Ifc4x1::IfcTextStyleForDefinedFont* Ifc4x1::IfcTextStyle::TextCharacterAppearance() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcTextStyleForDefinedFont>(true); } void Ifc4x1::IfcTextStyle::setTextCharacterAppearance(::Ifc4x1::IfcTextStyleForDefinedFont* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x1::IfcTextStyleTextModel* Ifc4x1::IfcTextStyle::TextStyle() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcTextStyleTextModel>(); } +::Ifc4x1::IfcTextStyleTextModel* Ifc4x1::IfcTextStyle::TextStyle() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcTextStyleTextModel>(true); } void Ifc4x1::IfcTextStyle::setTextStyle(::Ifc4x1::IfcTextStyleTextModel* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x1::IfcTextFontSelect* Ifc4x1::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcTextFontSelect>(); } +::Ifc4x1::IfcTextFontSelect* Ifc4x1::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcTextFontSelect>(true); } void Ifc4x1::IfcTextStyle::setTextFontStyle(::Ifc4x1::IfcTextFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< bool > Ifc4x1::IfcTextStyle::ModelOrDraughting() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } bool v = *data_->getArgument(4); return v; } void Ifc4x1::IfcTextStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -19925,7 +20105,7 @@ boost::optional< std::string > Ifc4x1::IfcTextStyleFontModel::FontVariant() cons void Ifc4x1::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcTextStyleFontModel::FontWeight() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x1::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc4x1::IfcSizeSelect* Ifc4x1::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcSizeSelect>(); } +::Ifc4x1::IfcSizeSelect* Ifc4x1::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x1::IfcSizeSelect>(true); } void Ifc4x1::IfcTextStyleFontModel::setFontSize(::Ifc4x1::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -19935,9 +20115,9 @@ Ifc4x1::IfcTextStyleFontModel::IfcTextStyleFontModel(IfcEntityInstanceData* e) : Ifc4x1::IfcTextStyleFontModel::IfcTextStyleFontModel(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, boost::optional< std::string > v3_FontStyle, boost::optional< std::string > v4_FontVariant, boost::optional< std::string > v5_FontWeight, ::Ifc4x1::IfcSizeSelect* v6_FontSize) : IfcPreDefinedTextFont((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcTextStyleFontModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FontFamily));data_->setArgument(1,attr);} if (v3_FontStyle) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_FontStyle));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_FontVariant) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_FontVariant));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_FontWeight) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_FontWeight));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_FontSize));data_->setArgument(5,attr);} } // Function implementations for IfcTextStyleForDefinedFont -::Ifc4x1::IfcColour* Ifc4x1::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcColour>(); } +::Ifc4x1::IfcColour* Ifc4x1::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcColour>(true); } void Ifc4x1::IfcTextStyleForDefinedFont::setColour(::Ifc4x1::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x1::IfcColour* Ifc4x1::IfcTextStyleForDefinedFont::BackgroundColour() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcColour>(); } +::Ifc4x1::IfcColour* Ifc4x1::IfcTextStyleForDefinedFont::BackgroundColour() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x1::IfcColour>(true); } void Ifc4x1::IfcTextStyleForDefinedFont::setBackgroundColour(::Ifc4x1::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -19947,19 +20127,19 @@ Ifc4x1::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcEntityInstance Ifc4x1::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4x1::IfcColour* v1_Colour, ::Ifc4x1::IfcColour* v2_BackgroundColour) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcTextStyleForDefinedFont_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Colour));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_BackgroundColour));data_->setArgument(1,attr);} } // Function implementations for IfcTextStyleTextModel -::Ifc4x1::IfcSizeSelect* Ifc4x1::IfcTextStyleTextModel::TextIndent() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcSizeSelect>(); } +::Ifc4x1::IfcSizeSelect* Ifc4x1::IfcTextStyleTextModel::TextIndent() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcSizeSelect>(true); } void Ifc4x1::IfcTextStyleTextModel::setTextIndent(::Ifc4x1::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x1::IfcTextStyleTextModel::TextAlign() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x1::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x1::IfcTextStyleTextModel::TextDecoration() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x1::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x1::IfcSizeSelect* Ifc4x1::IfcTextStyleTextModel::LetterSpacing() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcSizeSelect>(); } +::Ifc4x1::IfcSizeSelect* Ifc4x1::IfcTextStyleTextModel::LetterSpacing() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcSizeSelect>(true); } void Ifc4x1::IfcTextStyleTextModel::setLetterSpacing(::Ifc4x1::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x1::IfcSizeSelect* Ifc4x1::IfcTextStyleTextModel::WordSpacing() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcSizeSelect>(); } +::Ifc4x1::IfcSizeSelect* Ifc4x1::IfcTextStyleTextModel::WordSpacing() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x1::IfcSizeSelect>(true); } void Ifc4x1::IfcTextStyleTextModel::setWordSpacing(::Ifc4x1::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x1::IfcTextStyleTextModel::TextTransform() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x1::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4x1::IfcSizeSelect* Ifc4x1::IfcTextStyleTextModel::LineHeight() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcSizeSelect>(); } +::Ifc4x1::IfcSizeSelect* Ifc4x1::IfcTextStyleTextModel::LineHeight() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x1::IfcSizeSelect>(true); } void Ifc4x1::IfcTextStyleTextModel::setLineHeight(::Ifc4x1::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -19993,7 +20173,7 @@ Ifc4x1::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(aggregate_o // Function implementations for IfcTextureMap aggregate_of< ::Ifc4x1::IfcTextureVertex >::ptr Ifc4x1::IfcTextureMap::Vertices() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x1::IfcTextureVertex >(); } void Ifc4x1::IfcTextureMap::setVertices(aggregate_of< ::Ifc4x1::IfcTextureVertex >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } -::Ifc4x1::IfcFace* Ifc4x1::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcFace>(); } +::Ifc4x1::IfcFace* Ifc4x1::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x1::IfcFace>(true); } void Ifc4x1::IfcTextureMap::setMappedTo(::Ifc4x1::IfcFace* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -20049,7 +20229,7 @@ void Ifc4x1::IfcTimeSeries::setTimeSeriesDataType(::Ifc4x1::IfcTimeSeriesDataTyp void Ifc4x1::IfcTimeSeries::setDataOrigin(::Ifc4x1::IfcDataOriginEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x1::IfcDataOriginEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x1::IfcTimeSeries::UserDefinedDataOrigin() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4x1::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } -::Ifc4x1::IfcUnit* Ifc4x1::IfcTimeSeries::Unit() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x1::IfcUnit>(); } +::Ifc4x1::IfcUnit* Ifc4x1::IfcTimeSeries::Unit() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x1::IfcUnit>(true); } void Ifc4x1::IfcTimeSeries::setUnit(::Ifc4x1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x1::IfcExternalReferenceRelationship::list::ptr Ifc4x1::IfcTimeSeries::HasExternalReference() const { return data_->getInverse(IFC4X1_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -20198,7 +20378,7 @@ Ifc4x1::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(IfcEnti Ifc4x1::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::Ifc4x1::IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) : IfcTriangulatedFaceSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcTriangulatedIrregularNetwork_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Coordinates));data_->setArgument(0,attr);} if (v2_Normals) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Normals));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Closed) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Closed));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_CoordIndex));data_->setArgument(3,attr);} if (v5_PnIndex) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_PnIndex));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Flags));data_->setArgument(5,attr);} } // Function implementations for IfcTrimmedCurve -::Ifc4x1::IfcCurve* Ifc4x1::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCurve>(); } +::Ifc4x1::IfcCurve* Ifc4x1::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcTrimmedCurve::setBasisCurve(::Ifc4x1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of_instance::ptr Ifc4x1::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4x1::IfcTrimmedCurve::setTrim1(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -20384,7 +20564,7 @@ Ifc4x1::IfcValveType::IfcValveType(IfcEntityInstanceData* e) : IfcFlowController Ifc4x1::IfcValveType::IfcValveType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcValveTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcValveType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x1::IfcValveTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcVector -::Ifc4x1::IfcDirection* Ifc4x1::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcDirection>(); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcVector::setOrientation(::Ifc4x1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x1::IfcVector::Magnitude() const { double v = *data_->getArgument(1); return v; } void Ifc4x1::IfcVector::setMagnitude(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -20404,7 +20584,7 @@ Ifc4x1::IfcVertex::IfcVertex(IfcEntityInstanceData* e) : IfcTopologicalRepresent Ifc4x1::IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcVertex_type); } // Function implementations for IfcVertexLoop -::Ifc4x1::IfcVertex* Ifc4x1::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcVertex>(); } +::Ifc4x1::IfcVertex* Ifc4x1::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcVertex>(true); } void Ifc4x1::IfcVertexLoop::setLoopVertex(::Ifc4x1::IfcVertex* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -20414,7 +20594,7 @@ Ifc4x1::IfcVertexLoop::IfcVertexLoop(IfcEntityInstanceData* e) : IfcLoop((IfcEnt Ifc4x1::IfcVertexLoop::IfcVertexLoop(::Ifc4x1::IfcVertex* v1_LoopVertex) : IfcLoop((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcVertexLoop_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_LoopVertex));data_->setArgument(0,attr);} } // Function implementations for IfcVertexPoint -::Ifc4x1::IfcPoint* Ifc4x1::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcPoint>(); } +::Ifc4x1::IfcPoint* Ifc4x1::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x1::IfcPoint>(true); } void Ifc4x1::IfcVertexPoint::setVertexGeometry(::Ifc4x1::IfcPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -20564,7 +20744,7 @@ boost::optional< double > Ifc4x1::IfcWindowLiningProperties::FirstMullionOffset( void Ifc4x1::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } boost::optional< double > Ifc4x1::IfcWindowLiningProperties::SecondMullionOffset() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } void Ifc4x1::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } -::Ifc4x1::IfcShapeAspect* Ifc4x1::IfcWindowLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc4x1::IfcShapeAspect>(); } +::Ifc4x1::IfcShapeAspect* Ifc4x1::IfcWindowLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc4x1::IfcShapeAspect>(true); } void Ifc4x1::IfcWindowLiningProperties::setShapeAspectStyle(::Ifc4x1::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } boost::optional< double > Ifc4x1::IfcWindowLiningProperties::LiningOffset() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } void Ifc4x1::IfcWindowLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } @@ -20588,7 +20768,7 @@ boost::optional< double > Ifc4x1::IfcWindowPanelProperties::FrameDepth() const { void Ifc4x1::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x1::IfcWindowPanelProperties::FrameThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4x1::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } -::Ifc4x1::IfcShapeAspect* Ifc4x1::IfcWindowPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x1::IfcShapeAspect>(); } +::Ifc4x1::IfcShapeAspect* Ifc4x1::IfcWindowPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x1::IfcShapeAspect>(true); } void Ifc4x1::IfcWindowPanelProperties::setShapeAspectStyle(::Ifc4x1::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -20694,7 +20874,7 @@ Ifc4x1::IfcWorkSchedule::IfcWorkSchedule(IfcEntityInstanceData* e) : IfcWorkCont Ifc4x1::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x1::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< ::Ifc4x1::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) : IfcWorkControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X1_IfcWorkSchedule_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_CreationDate));data_->setArgument(6,attr);} if (v8_Creators) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Creators)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_Purpose));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_Duration) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Duration));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_TotalFloat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_TotalFloat));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_StartTime));data_->setArgument(11,attr);} if (v13_FinishTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_FinishTime));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_PredefinedType,::Ifc4x1::IfcWorkScheduleTypeEnum::ToString(*v14_PredefinedType))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } } // Function implementations for IfcWorkTime -::Ifc4x1::IfcRecurrencePattern* Ifc4x1::IfcWorkTime::RecurrencePattern() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcRecurrencePattern>(); } +::Ifc4x1::IfcRecurrencePattern* Ifc4x1::IfcWorkTime::RecurrencePattern() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x1::IfcRecurrencePattern>(true); } void Ifc4x1::IfcWorkTime::setRecurrencePattern(::Ifc4x1::IfcRecurrencePattern* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x1::IfcWorkTime::Start() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x1::IfcWorkTime::setStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } diff --git a/src/ifcparse/Ifc4x1.h b/src/ifcparse/Ifc4x1.h index eaeb73521c..b11950332e 100644 --- a/src/ifcparse/Ifc4x1.h +++ b/src/ifcparse/Ifc4x1.h @@ -60,7 +60,10 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c /// IfcOrganization An organization. /// IfcPerson A person. /// IfcPersonAndOrganization A person related to an organization. -class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. /// /// Select from: @@ -75,17 +78,26 @@ class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface {} /// Selecting IfcMeasureWithUnit allows the specification of both the actual figure for the value together with the currency in which the value is represented. /// Selecting IfcMonetaryMeasure allows the specification only of the value, the currency being as set by the global context /// Selecting IfcRatioMeasure assumes that the amount is a percentage or other REAL number. Note that if the amount is normally specified as -20%, then this figure will need to be converted to a multiplier of 0.8 -class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. /// /// NOTE: Corresponding STEP type: axis2_placement, please refer to ISO/IS 10303-42:1994, p. 19 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 1.5 -class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// /// HISTORY New type in IFC Release 2x4 -class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This select type identifies /// all those types of entities which may participate in a Boolean operation to /// form a CSG solid. @@ -102,7 +114,10 @@ class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseI /// (IfcSolidModel) are defined for being valid Boolean operands. /// /// HISTORY: New Type in IFC Release 1.5.1 -class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. /// /// HISTORY: New Select Type in IFC2x @@ -111,7 +126,10 @@ class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface /// /// IfcClassification (for classification information) /// IfcClassificationReference (for reference into a classification source) -class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. /// /// NOTE  Generally, it is expected that selection will be by IfcClassificationReference to identify an individual classification notation that classifies an element in the building information model. For example an element, such as IfcTank, might be further classified by assigning an IfcClassificationReference with Identification = "L6814" and a ClassificationSource identifying the appropriate version of Uniclass. IfcClassification should only be selected in @@ -125,36 +143,57 @@ class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::I /// /// IfcClassification (for referencing a classification system) /// IfcClassificationReference (for referencing a classification item (or facet) inside a classification system) -class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. /// /// NOTE  Corresponding STEP name: colour. It has been made into a SELECT type in IFC to avoid multiple inheritance for pre defined colour. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// /// HISTORY  New select type in IFC2x4. -class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. /// Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive. /// /// NOTE Corresponding ISO 10303-42 type: csg_select, please refer to ISO/IS 10303-42:1994, p.168 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5.1. -class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. /// /// NOTE Corresponding ISO 10303 name: curve_font_or_scaled_curve_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve /// and subtypes) within a geometric model, or a curve with associated geometry and coordinates (IfcEdgeCurve) within a topological model. /// SELECT @@ -163,13 +202,19 @@ class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface /// IfcEdgeCurve /// /// HISTORY  New select type in IFC2x Edition 3. -class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. /// /// NOTE Corresponding ISO 10303 name: curve_style_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT /// @@ -177,7 +222,10 @@ class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInt /// IfcPropertyDefinition /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// /// SELECT @@ -252,7 +300,10 @@ class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterfa /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. -class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. /// /// HISTORY: New Select Type in IFC 2x @@ -261,20 +312,29 @@ class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInte /// /// IfcDocumentInformation (for "metadata" of an external document) /// IfcDocumentReference (for reference within a document) -class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. /// /// NOTE Corresponding ISO 10303 name: fill_style_select. Please refer to ISO/IS 10303-46:1994 for /// the final definition of the formal standard. /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. /// /// NOTE: Corresponding ISO 10303 type: geometric_set_select. Please refer to ISO/IS 10303-42:1994, p. 169 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 2x. -class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. /// /// SELECT @@ -283,11 +343,17 @@ class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInter /// IfcVirtualGridIntersection /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. /// /// It is the collection of all those items, that are assigned to a single layer. These items are representation items or complete representations (IfcRepresentationItem, IfcRepresentation). If an IfcRepresentation is referenced, all IfcRepresentationItem within its set of Items are assigned to the same layer. @@ -295,7 +361,10 @@ class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBase /// NOTE: Corresponding ISO 10303 name: layered_item. It was called layered_things in the ISO/CD version and had been renamed to layered_item in the ISO/IS final version. Please refer to ISO/IS 10303-46:1994, p. 13 for the final definition of the formal standard. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. /// /// HISTORY: New Select Type in IFC2x @@ -306,7 +375,10 @@ class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface {} /// IfcLibraryReference (for reference into a library of information by location) /// /// Generally, it is expected that selection will be IfcLibraryReference and only rarely IfcLibraryInformation. IfcLibraryInformation should only be selected in circumstances where there could be a need to indicate the libraries that will be used without making individual references. This may occur for higher level objects such as a project or building. -class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. /// /// The light distribution provides the luminous intensity distribution according to some standardized light distribution curves. @@ -329,7 +401,10 @@ class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface /// directions covers all cases. /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcMaterialSelect provides selection of either a material /// definition or a material usage definition that can be assigned to /// an element, a resource or another entity within IFC. @@ -356,7 +431,10 @@ class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUti /// /// IFC2x4 CHANGE The select now includes two new abstract entities IfcMaterialDefinition /// and IfcMaterialUsageDefinition with upward compatibility. The use of IfcMaterialList is deprecated from IFC2x4 onwards. -class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). /// /// NOTE IfcMeasureValue is a select data type for most basic measure types coming from ISO 10303-41. Select item IfcNonNegativeLengthMeasure is in addition to ISO 10303-41. @@ -366,7 +444,10 @@ class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface /// HISTORY New type in IFC Release 1.5.1. /// /// IFC 2x4 change: added IfcNonNegativeLengthMeasure -class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. /// /// HISTORY: New type in IFC Release 2.0 @@ -379,23 +460,38 @@ class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { /// IfcTable /// IfcText /// IfcTimeSeries -class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// /// HISTORY  New select type in IFC Release 2.0. -class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. /// SELECT /// @@ -403,7 +499,10 @@ class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseIn /// IfcVertexPoint /// /// HISTORY  New select type in IFC2x Edition 3. -class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The presentation style select is a selection of one of many kinds of styles, a different one for each kind of geometric representation item to be styled. /// /// NOTE Corresponding ISO 10303 name: presentation_style_Select. Please refer to ISO/IS @@ -412,7 +511,10 @@ class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInter /// HISTORY New type in IFC2x2. /// /// IFC2x4 CHANGE The select type has been deprecated. -class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcProcessSelectprovides the option to either /// select a process or activity occurrence, IfcProcess, /// or a process or activity type, IfcTypeProcess. @@ -423,9 +525,15 @@ class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBase /// IfcTypeProcess /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcProductSelectprovides the option to either select a /// product occurrence, IfcProduct, or a product type, /// IfcTypeProduct. @@ -435,13 +543,22 @@ class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::Ifc /// IfcTypeProduct /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// /// HISTORY  New Select type in IFC2x4. -class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, /// IfcTypeResource. @@ -451,13 +568,22 @@ class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInt /// IfcTypeResource /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < ¥. /// /// A shell of dimensionality 0 is represented by a graph consisting of a single vertex. The vertex shall not have any associated edges. @@ -469,7 +595,10 @@ class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInter /// NOTE  Corresponding ISO 10303 type: shell. Please refer to ISO/IS 10303-42:1994, p. 127 for the final definition of the formal standard. Only the select items closed_shell (IfcClosedShell) and open_shell (IfcOpenShell) have been incorporated in the current IFC release. /// /// HISTORY  New type in IFC2x. -class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcSimpleValue is a select type for selecting between simple value types. /// /// SELECT @@ -489,7 +618,10 @@ class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface {}; /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. -class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. /// /// Definition from ISO: The size (or width) measure value is given in the global drawing length units. @@ -502,7 +634,10 @@ class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface {} /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. -class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. /// SELECT /// @@ -510,7 +645,10 @@ class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcClosedShell /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: The /// IfcSpaceBoundarySelectselects either an internal space /// for internal or external space boundaries, or an external spatial @@ -523,7 +661,10 @@ class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface { /// /// HISTORY New select type /// in IFC2x4. -class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. /// /// NOTE: The two select types relate to the different ways to specifiy the sharpness (or shininess) of the specular part of the reflectance equation. It relates to the attributes: @@ -534,7 +675,10 @@ class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInte /// For each surface side style only one of the two methods is needed for calculating the specular part of the equation. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of /// IfcStructuralItem or IfcBuildingElement. The @@ -544,7 +688,10 @@ class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBase /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The style assignment select is a selection of two wasy of assigning presentation styles to an IfcStyledItem. /// /// by directly assigning presentation styles as subtypes of IfcPresentationStyle @@ -555,7 +702,10 @@ class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUt /// NOTE The select type has been introduced to provide an upward compatible improvement for assigning styles to a styled items. /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcStyleAssignmentSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcStyleAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface /// and subtypes) within a geometric model, or a face with associated surface geometry and coordinates (IfcFaceSurface) within a topological model. /// SELECT @@ -565,7 +715,10 @@ class IFC_PARSE_API IfcStyleAssignmentSelect : public virtual IfcUtil::IfcBaseIn /// IfcFaceBasedSurfaceModel (a connected face set, representing a faceted surface as an approximation of a non planar, non rectangular bounded surface) /// /// HISTORY  New select type in IFC2x3. -class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. /// /// The select type only includes the IfcSurfaceStyleRendering (which is the equivalent to surface_style_rendering) from the select type surface_style_element_select. In addition it has the IfcSurfaceStyleLighting, which holds the exact physically based lighting properties for lighting based calculation algorithms (as the opposite to the rendering based calculation), the IfcSurfaceStyleRefraction (for more advanced refraction indices) and IfcSurfaceStyleWithTextures (to allow for image textures applied to surfaces). In addition an IfcExternallyDefinedSurfaceStyle can be selected that points into an external material library. @@ -575,7 +728,10 @@ class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInt /// NOTE: Corresponding ISO 10303 type: surface_style_element_select. Please refer to ISO/IS 10303-46:1994, p. 85 for the final definition of the formal standard. /// /// HISTORY: New Select type in IFC2x2. -class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. /// /// NOTE  IfcTextFontSelect is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation. Corresponding ISO 10303 name: font_select. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard. @@ -583,20 +739,32 @@ class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBa /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. -class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 -class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. /// /// NOTE Corresponding ISO 10303 type: trimming_select, please refer to ISO/IS 10303-42:1994, p. 20 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.0 -class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. /// /// NOTE: Select item IfcMonetaryUnit is an addition to ISO 10303-41. @@ -610,7 +778,10 @@ class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface /// IfcMonetaryUnit: A unit for defining currencies. /// /// HISTORY: New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. /// @@ -621,7 +792,10 @@ class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface {}; /// IfcDerivedMeasureValue A select type for derived measure types. /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. /// @@ -630,11 +804,17 @@ class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface {}; /// definition of the formal standard. /// HISTORY New Type in IFC Release /// 1.5 -class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; class IFC_PARSE_API IfcActionRequestTypeEnum : public IfcUtil::IfcBaseType { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. /// HISTORY: New Enumeration in IFC2x4. diff --git a/src/ifcparse/Ifc4x2.cpp b/src/ifcparse/Ifc4x2.cpp index fb85b40346..da2bd2f0c9 100644 --- a/src/ifcparse/Ifc4x2.cpp +++ b/src/ifcparse/Ifc4x2.cpp @@ -1200,6 +1200,66 @@ extern enumeration_type* IFC4X2_IfcWindowTypePartitioningEnum_type; extern enumeration_type* IFC4X2_IfcWorkCalendarTypeEnum_type; extern enumeration_type* IFC4X2_IfcWorkPlanTypeEnum_type; extern enumeration_type* IFC4X2_IfcWorkScheduleTypeEnum_type; +extern select_type* IFC4X2_IfcActorSelect_type; +extern select_type* IFC4X2_IfcAppliedValueSelect_type; +extern select_type* IFC4X2_IfcAxis2Placement_type; +extern select_type* IFC4X2_IfcBendingParameterSelect_type; +extern select_type* IFC4X2_IfcBooleanOperand_type; +extern select_type* IFC4X2_IfcClassificationReferenceSelect_type; +extern select_type* IFC4X2_IfcClassificationSelect_type; +extern select_type* IFC4X2_IfcColour_type; +extern select_type* IFC4X2_IfcColourOrFactor_type; +extern select_type* IFC4X2_IfcCoordinateReferenceSystemSelect_type; +extern select_type* IFC4X2_IfcCsgSelect_type; +extern select_type* IFC4X2_IfcCurveFontOrScaledCurveFontSelect_type; +extern select_type* IFC4X2_IfcCurveOnSurface_type; +extern select_type* IFC4X2_IfcCurveOrEdgeCurve_type; +extern select_type* IFC4X2_IfcCurveStyleFontSelect_type; +extern select_type* IFC4X2_IfcDefinitionSelect_type; +extern select_type* IFC4X2_IfcDerivedMeasureValue_type; +extern select_type* IFC4X2_IfcDocumentSelect_type; +extern select_type* IFC4X2_IfcFillStyleSelect_type; +extern select_type* IFC4X2_IfcGeometricSetSelect_type; +extern select_type* IFC4X2_IfcGridPlacementDirectionSelect_type; +extern select_type* IFC4X2_IfcHatchLineDistanceSelect_type; +extern select_type* IFC4X2_IfcLayeredItem_type; +extern select_type* IFC4X2_IfcLibrarySelect_type; +extern select_type* IFC4X2_IfcLightDistributionDataSourceSelect_type; +extern select_type* IFC4X2_IfcMaterialSelect_type; +extern select_type* IFC4X2_IfcMeasureValue_type; +extern select_type* IFC4X2_IfcMetricValueSelect_type; +extern select_type* IFC4X2_IfcModulusOfRotationalSubgradeReactionSelect_type; +extern select_type* IFC4X2_IfcModulusOfSubgradeReactionSelect_type; +extern select_type* IFC4X2_IfcModulusOfTranslationalSubgradeReactionSelect_type; +extern select_type* IFC4X2_IfcObjectReferenceSelect_type; +extern select_type* IFC4X2_IfcPointOrVertexPoint_type; +extern select_type* IFC4X2_IfcPresentationStyleSelect_type; +extern select_type* IFC4X2_IfcProcessSelect_type; +extern select_type* IFC4X2_IfcProductRepresentationSelect_type; +extern select_type* IFC4X2_IfcProductSelect_type; +extern select_type* IFC4X2_IfcPropertySetDefinitionSelect_type; +extern select_type* IFC4X2_IfcResourceObjectSelect_type; +extern select_type* IFC4X2_IfcResourceSelect_type; +extern select_type* IFC4X2_IfcRotationalStiffnessSelect_type; +extern select_type* IFC4X2_IfcSegmentIndexSelect_type; +extern select_type* IFC4X2_IfcShell_type; +extern select_type* IFC4X2_IfcSimpleValue_type; +extern select_type* IFC4X2_IfcSizeSelect_type; +extern select_type* IFC4X2_IfcSolidOrShell_type; +extern select_type* IFC4X2_IfcSpaceBoundarySelect_type; +extern select_type* IFC4X2_IfcSpecularHighlightSelect_type; +extern select_type* IFC4X2_IfcStructuralActivityAssignmentSelect_type; +extern select_type* IFC4X2_IfcStyleAssignmentSelect_type; +extern select_type* IFC4X2_IfcSurfaceOrFaceSurface_type; +extern select_type* IFC4X2_IfcSurfaceStyleElementSelect_type; +extern select_type* IFC4X2_IfcTextFontSelect_type; +extern select_type* IFC4X2_IfcTimeOrRatioSelect_type; +extern select_type* IFC4X2_IfcTranslationalStiffnessSelect_type; +extern select_type* IFC4X2_IfcTrimmingSelect_type; +extern select_type* IFC4X2_IfcUnit_type; +extern select_type* IFC4X2_IfcValue_type; +extern select_type* IFC4X2_IfcVectorOrDirection_type; +extern select_type* IFC4X2_IfcWarpingStiffnessSelect_type; const IfcParse::enumeration_type& Ifc4x2::IfcActionRequestTypeEnum::declaration() const { return *IFC4X2_IfcActionRequestTypeEnum_type; } @@ -10541,6 +10601,126 @@ Ifc4x2::IfcWorkScheduleTypeEnum::operator Ifc4x2::IfcWorkScheduleTypeEnum::Value return FromString((std::string) *data_->getArgument(0)); } +const IfcParse::select_type& Ifc4x2::IfcActorSelect::Class() { return *IFC4X2_IfcActorSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcAppliedValueSelect::Class() { return *IFC4X2_IfcAppliedValueSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcAxis2Placement::Class() { return *IFC4X2_IfcAxis2Placement_type; } + +const IfcParse::select_type& Ifc4x2::IfcBendingParameterSelect::Class() { return *IFC4X2_IfcBendingParameterSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcBooleanOperand::Class() { return *IFC4X2_IfcBooleanOperand_type; } + +const IfcParse::select_type& Ifc4x2::IfcClassificationReferenceSelect::Class() { return *IFC4X2_IfcClassificationReferenceSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcClassificationSelect::Class() { return *IFC4X2_IfcClassificationSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcColour::Class() { return *IFC4X2_IfcColour_type; } + +const IfcParse::select_type& Ifc4x2::IfcColourOrFactor::Class() { return *IFC4X2_IfcColourOrFactor_type; } + +const IfcParse::select_type& Ifc4x2::IfcCoordinateReferenceSystemSelect::Class() { return *IFC4X2_IfcCoordinateReferenceSystemSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcCsgSelect::Class() { return *IFC4X2_IfcCsgSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcCurveFontOrScaledCurveFontSelect::Class() { return *IFC4X2_IfcCurveFontOrScaledCurveFontSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcCurveOnSurface::Class() { return *IFC4X2_IfcCurveOnSurface_type; } + +const IfcParse::select_type& Ifc4x2::IfcCurveOrEdgeCurve::Class() { return *IFC4X2_IfcCurveOrEdgeCurve_type; } + +const IfcParse::select_type& Ifc4x2::IfcCurveStyleFontSelect::Class() { return *IFC4X2_IfcCurveStyleFontSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcDefinitionSelect::Class() { return *IFC4X2_IfcDefinitionSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcDerivedMeasureValue::Class() { return *IFC4X2_IfcDerivedMeasureValue_type; } + +const IfcParse::select_type& Ifc4x2::IfcDocumentSelect::Class() { return *IFC4X2_IfcDocumentSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcFillStyleSelect::Class() { return *IFC4X2_IfcFillStyleSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcGeometricSetSelect::Class() { return *IFC4X2_IfcGeometricSetSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcGridPlacementDirectionSelect::Class() { return *IFC4X2_IfcGridPlacementDirectionSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcHatchLineDistanceSelect::Class() { return *IFC4X2_IfcHatchLineDistanceSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcLayeredItem::Class() { return *IFC4X2_IfcLayeredItem_type; } + +const IfcParse::select_type& Ifc4x2::IfcLibrarySelect::Class() { return *IFC4X2_IfcLibrarySelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcLightDistributionDataSourceSelect::Class() { return *IFC4X2_IfcLightDistributionDataSourceSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcMaterialSelect::Class() { return *IFC4X2_IfcMaterialSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcMeasureValue::Class() { return *IFC4X2_IfcMeasureValue_type; } + +const IfcParse::select_type& Ifc4x2::IfcMetricValueSelect::Class() { return *IFC4X2_IfcMetricValueSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect::Class() { return *IFC4X2_IfcModulusOfRotationalSubgradeReactionSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcModulusOfSubgradeReactionSelect::Class() { return *IFC4X2_IfcModulusOfSubgradeReactionSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect::Class() { return *IFC4X2_IfcModulusOfTranslationalSubgradeReactionSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcObjectReferenceSelect::Class() { return *IFC4X2_IfcObjectReferenceSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcPointOrVertexPoint::Class() { return *IFC4X2_IfcPointOrVertexPoint_type; } + +const IfcParse::select_type& Ifc4x2::IfcPresentationStyleSelect::Class() { return *IFC4X2_IfcPresentationStyleSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcProcessSelect::Class() { return *IFC4X2_IfcProcessSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcProductRepresentationSelect::Class() { return *IFC4X2_IfcProductRepresentationSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcProductSelect::Class() { return *IFC4X2_IfcProductSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcPropertySetDefinitionSelect::Class() { return *IFC4X2_IfcPropertySetDefinitionSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcResourceObjectSelect::Class() { return *IFC4X2_IfcResourceObjectSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcResourceSelect::Class() { return *IFC4X2_IfcResourceSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcRotationalStiffnessSelect::Class() { return *IFC4X2_IfcRotationalStiffnessSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcSegmentIndexSelect::Class() { return *IFC4X2_IfcSegmentIndexSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcShell::Class() { return *IFC4X2_IfcShell_type; } + +const IfcParse::select_type& Ifc4x2::IfcSimpleValue::Class() { return *IFC4X2_IfcSimpleValue_type; } + +const IfcParse::select_type& Ifc4x2::IfcSizeSelect::Class() { return *IFC4X2_IfcSizeSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcSolidOrShell::Class() { return *IFC4X2_IfcSolidOrShell_type; } + +const IfcParse::select_type& Ifc4x2::IfcSpaceBoundarySelect::Class() { return *IFC4X2_IfcSpaceBoundarySelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcSpecularHighlightSelect::Class() { return *IFC4X2_IfcSpecularHighlightSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcStructuralActivityAssignmentSelect::Class() { return *IFC4X2_IfcStructuralActivityAssignmentSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcStyleAssignmentSelect::Class() { return *IFC4X2_IfcStyleAssignmentSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcSurfaceOrFaceSurface::Class() { return *IFC4X2_IfcSurfaceOrFaceSurface_type; } + +const IfcParse::select_type& Ifc4x2::IfcSurfaceStyleElementSelect::Class() { return *IFC4X2_IfcSurfaceStyleElementSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcTextFontSelect::Class() { return *IFC4X2_IfcTextFontSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcTimeOrRatioSelect::Class() { return *IFC4X2_IfcTimeOrRatioSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcTranslationalStiffnessSelect::Class() { return *IFC4X2_IfcTranslationalStiffnessSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcTrimmingSelect::Class() { return *IFC4X2_IfcTrimmingSelect_type; } + +const IfcParse::select_type& Ifc4x2::IfcUnit::Class() { return *IFC4X2_IfcUnit_type; } + +const IfcParse::select_type& Ifc4x2::IfcValue::Class() { return *IFC4X2_IfcValue_type; } + +const IfcParse::select_type& Ifc4x2::IfcVectorOrDirection::Class() { return *IFC4X2_IfcVectorOrDirection_type; } + +const IfcParse::select_type& Ifc4x2::IfcWarpingStiffnessSelect::Class() { return *IFC4X2_IfcWarpingStiffnessSelect_type; } + // Function implementations for IfcAbsorbedDoseMeasure const IfcParse::type_declaration& Ifc4x2::IfcAbsorbedDoseMeasure::Class() { return *IFC4X2_IfcAbsorbedDoseMeasure_type; } @@ -11468,7 +11648,7 @@ Ifc4x2::IfcActionRequest::IfcActionRequest(IfcEntityInstanceData* e) : IfcContro Ifc4x2::IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x2::IfcActionRequestTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcActionRequest_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v7_PredefinedType,::Ifc4x2::IfcActionRequestTypeEnum::ToString(*v7_PredefinedType))));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Status));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_LongDescription));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcActor -::Ifc4x2::IfcActorSelect* Ifc4x2::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcActorSelect>(); } +::Ifc4x2::IfcActorSelect* Ifc4x2::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcActorSelect>(true); } void Ifc4x2::IfcActor::setTheActor(::Ifc4x2::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4x2::IfcRelAssignsToActor::list::ptr Ifc4x2::IfcActor::IsActingUpon() const { return data_->getInverse(IFC4X2_IfcRelAssignsToActor_type, 6)->as(); } @@ -11659,7 +11839,7 @@ Ifc4x2::IfcAlignment2DHorizontal::IfcAlignment2DHorizontal(IfcEntityInstanceData Ifc4x2::IfcAlignment2DHorizontal::IfcAlignment2DHorizontal(boost::optional< double > v1_StartDistAlong, aggregate_of< ::Ifc4x2::IfcAlignment2DHorizontalSegment >::ptr v2_Segments) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcAlignment2DHorizontal_type); if (v1_StartDistAlong) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_StartDistAlong));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Segments)->generalize());data_->setArgument(1,attr);} } // Function implementations for IfcAlignment2DHorizontalSegment -::Ifc4x2::IfcCurveSegment2D* Ifc4x2::IfcAlignment2DHorizontalSegment::CurveGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcCurveSegment2D>(); } +::Ifc4x2::IfcCurveSegment2D* Ifc4x2::IfcAlignment2DHorizontalSegment::CurveGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcCurveSegment2D>(true); } void Ifc4x2::IfcAlignment2DHorizontalSegment::setCurveGeometry(::Ifc4x2::IfcCurveSegment2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x2::IfcAlignment2DHorizontal::list::ptr Ifc4x2::IfcAlignment2DHorizontalSegment::ToHorizontal() const { return data_->getInverse(IFC4X2_IfcAlignment2DHorizontal_type, 1)->as(); } @@ -11744,9 +11924,9 @@ Ifc4x2::IfcAlignment2DVerticalSegment::IfcAlignment2DVerticalSegment(IfcEntityIn Ifc4x2::IfcAlignment2DVerticalSegment::IfcAlignment2DVerticalSegment(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient) : IfcAlignment2DSegment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcAlignment2DVerticalSegment_type); if (v1_TangentialContinuity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_TangentialContinuity));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_StartTag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_StartTag));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EndTag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EndTag));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_StartDistAlong));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_HorizontalLength));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_StartHeight));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_StartGradient));data_->setArgument(6,attr);} } // Function implementations for IfcAlignmentCurve -::Ifc4x2::IfcAlignment2DHorizontal* Ifc4x2::IfcAlignmentCurve::Horizontal() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcAlignment2DHorizontal>(); } +::Ifc4x2::IfcAlignment2DHorizontal* Ifc4x2::IfcAlignmentCurve::Horizontal() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcAlignment2DHorizontal>(true); } void Ifc4x2::IfcAlignmentCurve::setHorizontal(::Ifc4x2::IfcAlignment2DHorizontal* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x2::IfcAlignment2DVertical* Ifc4x2::IfcAlignmentCurve::Vertical() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcAlignment2DVertical>(); } +::Ifc4x2::IfcAlignment2DVertical* Ifc4x2::IfcAlignmentCurve::Vertical() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcAlignment2DVertical>(true); } void Ifc4x2::IfcAlignmentCurve::setVertical(::Ifc4x2::IfcAlignment2DVertical* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x2::IfcAlignmentCurve::Tag() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x2::IfcAlignmentCurve::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } @@ -11767,7 +11947,7 @@ Ifc4x2::IfcAnnotation::IfcAnnotation(IfcEntityInstanceData* e) : IfcProduct((Ifc Ifc4x2::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation) : IfcProduct((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcAnnotation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} } // Function implementations for IfcAnnotationFillArea -::Ifc4x2::IfcCurve* Ifc4x2::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCurve>(); } +::Ifc4x2::IfcCurve* Ifc4x2::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcAnnotationFillArea::setOuterBoundary(::Ifc4x2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< aggregate_of< ::Ifc4x2::IfcCurve >::ptr > Ifc4x2::IfcAnnotationFillArea::InnerBoundaries() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x2::IfcCurve >(); } void Ifc4x2::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc4x2::IfcCurve >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(1,attr);} } @@ -11779,7 +11959,7 @@ Ifc4x2::IfcAnnotationFillArea::IfcAnnotationFillArea(IfcEntityInstanceData* e) : Ifc4x2::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc4x2::IfcCurve* v1_OuterBoundary, boost::optional< aggregate_of< ::Ifc4x2::IfcCurve >::ptr > v2_InnerBoundaries) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcAnnotationFillArea_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_OuterBoundary));data_->setArgument(0,attr);} if (v2_InnerBoundaries) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_InnerBoundaries)->generalize());data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcApplication -::Ifc4x2::IfcOrganization* Ifc4x2::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcOrganization>(); } +::Ifc4x2::IfcOrganization* Ifc4x2::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcOrganization>(true); } void Ifc4x2::IfcApplication::setApplicationDeveloper(::Ifc4x2::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } std::string Ifc4x2::IfcApplication::Version() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x2::IfcApplication::setVersion(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -11799,9 +11979,9 @@ boost::optional< std::string > Ifc4x2::IfcAppliedValue::Name() const { if(!data_ void Ifc4x2::IfcAppliedValue::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcAppliedValue::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x2::IfcAppliedValue::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4x2::IfcAppliedValueSelect* Ifc4x2::IfcAppliedValue::AppliedValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcAppliedValueSelect>(); } +::Ifc4x2::IfcAppliedValueSelect* Ifc4x2::IfcAppliedValue::AppliedValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcAppliedValueSelect>(true); } void Ifc4x2::IfcAppliedValue::setAppliedValue(::Ifc4x2::IfcAppliedValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x2::IfcMeasureWithUnit* Ifc4x2::IfcAppliedValue::UnitBasis() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcMeasureWithUnit>(); } +::Ifc4x2::IfcMeasureWithUnit* Ifc4x2::IfcAppliedValue::UnitBasis() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcMeasureWithUnit>(true); } void Ifc4x2::IfcAppliedValue::setUnitBasis(::Ifc4x2::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcAppliedValue::ApplicableDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x2::IfcAppliedValue::setApplicableDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -11838,9 +12018,9 @@ boost::optional< std::string > Ifc4x2::IfcApproval::Level() const { if(!data_->g void Ifc4x2::IfcApproval::setLevel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x2::IfcApproval::Qualifier() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4x2::IfcApproval::setQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } -::Ifc4x2::IfcActorSelect* Ifc4x2::IfcApproval::RequestingApproval() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x2::IfcActorSelect>(); } +::Ifc4x2::IfcActorSelect* Ifc4x2::IfcApproval::RequestingApproval() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x2::IfcActorSelect>(true); } void Ifc4x2::IfcApproval::setRequestingApproval(::Ifc4x2::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -::Ifc4x2::IfcActorSelect* Ifc4x2::IfcApproval::GivingApproval() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x2::IfcActorSelect>(); } +::Ifc4x2::IfcActorSelect* Ifc4x2::IfcApproval::GivingApproval() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x2::IfcActorSelect>(true); } void Ifc4x2::IfcApproval::setGivingApproval(::Ifc4x2::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } ::Ifc4x2::IfcExternalReferenceRelationship::list::ptr Ifc4x2::IfcApproval::HasExternalReferences() const { return data_->getInverse(IFC4X2_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -11855,7 +12035,7 @@ Ifc4x2::IfcApproval::IfcApproval(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEnt Ifc4x2::IfcApproval::IfcApproval(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_TimeOfApproval, boost::optional< std::string > v5_Status, boost::optional< std::string > v6_Level, boost::optional< std::string > v7_Qualifier, ::Ifc4x2::IfcActorSelect* v8_RequestingApproval, ::Ifc4x2::IfcActorSelect* v9_GivingApproval) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcApproval_type); if (v1_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Name));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_TimeOfApproval) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_TimeOfApproval));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Status));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Level) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Level));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Qualifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Qualifier));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_RequestingApproval));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_GivingApproval));data_->setArgument(8,attr);} } // Function implementations for IfcApprovalRelationship -::Ifc4x2::IfcApproval* Ifc4x2::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcApproval>(); } +::Ifc4x2::IfcApproval* Ifc4x2::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcApproval>(true); } void Ifc4x2::IfcApprovalRelationship::setRelatingApproval(::Ifc4x2::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4x2::IfcApproval >::ptr Ifc4x2::IfcApprovalRelationship::RelatedApprovals() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x2::IfcApproval >(); } void Ifc4x2::IfcApprovalRelationship::setRelatedApprovals(aggregate_of< ::Ifc4x2::IfcApproval >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -11867,7 +12047,7 @@ Ifc4x2::IfcApprovalRelationship::IfcApprovalRelationship(IfcEntityInstanceData* Ifc4x2::IfcApprovalRelationship::IfcApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcApproval* v3_RelatingApproval, aggregate_of< ::Ifc4x2::IfcApproval >::ptr v4_RelatedApprovals) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingApproval));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedApprovals)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcArbitraryClosedProfileDef -::Ifc4x2::IfcCurve* Ifc4x2::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcCurve>(); } +::Ifc4x2::IfcCurve* Ifc4x2::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcArbitraryClosedProfileDef::setOuterCurve(::Ifc4x2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -11877,7 +12057,7 @@ Ifc4x2::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcEntityInst Ifc4x2::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcCurve* v3_OuterCurve) : IfcProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcArbitraryClosedProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4x2::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_OuterCurve));data_->setArgument(2,attr);} } // Function implementations for IfcArbitraryOpenProfileDef -::Ifc4x2::IfcBoundedCurve* Ifc4x2::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcBoundedCurve>(); } +::Ifc4x2::IfcBoundedCurve* Ifc4x2::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcBoundedCurve>(true); } void Ifc4x2::IfcArbitraryOpenProfileDef::setCurve(::Ifc4x2::IfcBoundedCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -11899,21 +12079,21 @@ Ifc4x2::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::Ifc4x // Function implementations for IfcAsset boost::optional< std::string > Ifc4x2::IfcAsset::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x2::IfcAsset::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4x2::IfcCostValue* Ifc4x2::IfcAsset::OriginalValue() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcCostValue>(); } +::Ifc4x2::IfcCostValue* Ifc4x2::IfcAsset::OriginalValue() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcCostValue>(true); } void Ifc4x2::IfcAsset::setOriginalValue(::Ifc4x2::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4x2::IfcCostValue* Ifc4x2::IfcAsset::CurrentValue() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x2::IfcCostValue>(); } +::Ifc4x2::IfcCostValue* Ifc4x2::IfcAsset::CurrentValue() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x2::IfcCostValue>(true); } void Ifc4x2::IfcAsset::setCurrentValue(::Ifc4x2::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -::Ifc4x2::IfcCostValue* Ifc4x2::IfcAsset::TotalReplacementCost() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x2::IfcCostValue>(); } +::Ifc4x2::IfcCostValue* Ifc4x2::IfcAsset::TotalReplacementCost() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x2::IfcCostValue>(true); } void Ifc4x2::IfcAsset::setTotalReplacementCost(::Ifc4x2::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -::Ifc4x2::IfcActorSelect* Ifc4x2::IfcAsset::Owner() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x2::IfcActorSelect>(); } +::Ifc4x2::IfcActorSelect* Ifc4x2::IfcAsset::Owner() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x2::IfcActorSelect>(true); } void Ifc4x2::IfcAsset::setOwner(::Ifc4x2::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -::Ifc4x2::IfcActorSelect* Ifc4x2::IfcAsset::User() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x2::IfcActorSelect>(); } +::Ifc4x2::IfcActorSelect* Ifc4x2::IfcAsset::User() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x2::IfcActorSelect>(true); } void Ifc4x2::IfcAsset::setUser(::Ifc4x2::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -::Ifc4x2::IfcPerson* Ifc4x2::IfcAsset::ResponsiblePerson() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x2::IfcPerson>(); } +::Ifc4x2::IfcPerson* Ifc4x2::IfcAsset::ResponsiblePerson() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x2::IfcPerson>(true); } void Ifc4x2::IfcAsset::setResponsiblePerson(::Ifc4x2::IfcPerson* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x2::IfcAsset::IncorporationDate() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } void Ifc4x2::IfcAsset::setIncorporationDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } -::Ifc4x2::IfcCostValue* Ifc4x2::IfcAsset::DepreciatedValue() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x2::IfcCostValue>(); } +::Ifc4x2::IfcCostValue* Ifc4x2::IfcAsset::DepreciatedValue() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x2::IfcCostValue>(true); } void Ifc4x2::IfcAsset::setDepreciatedValue(::Ifc4x2::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } @@ -11975,7 +12155,7 @@ Ifc4x2::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(IfcEntityInstan Ifc4x2::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcAudioVisualApplianceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x2::IfcAudioVisualApplianceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcAxis1Placement -::Ifc4x2::IfcDirection* Ifc4x2::IfcAxis1Placement::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcDirection>(); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcAxis1Placement::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcAxis1Placement::setAxis(::Ifc4x2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -11985,7 +12165,7 @@ Ifc4x2::IfcAxis1Placement::IfcAxis1Placement(IfcEntityInstanceData* e) : IfcPlac Ifc4x2::IfcAxis1Placement::IfcAxis1Placement(::Ifc4x2::IfcCartesianPoint* v1_Location, ::Ifc4x2::IfcDirection* v2_Axis) : IfcPlacement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcAxis1Placement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Location));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Axis));data_->setArgument(1,attr);} } // Function implementations for IfcAxis2Placement2D -::Ifc4x2::IfcDirection* Ifc4x2::IfcAxis2Placement2D::RefDirection() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcDirection>(); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcAxis2Placement2D::RefDirection() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcAxis2Placement2D::setRefDirection(::Ifc4x2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -11995,9 +12175,9 @@ Ifc4x2::IfcAxis2Placement2D::IfcAxis2Placement2D(IfcEntityInstanceData* e) : Ifc Ifc4x2::IfcAxis2Placement2D::IfcAxis2Placement2D(::Ifc4x2::IfcCartesianPoint* v1_Location, ::Ifc4x2::IfcDirection* v2_RefDirection) : IfcPlacement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcAxis2Placement2D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Location));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RefDirection));data_->setArgument(1,attr);} } // Function implementations for IfcAxis2Placement3D -::Ifc4x2::IfcDirection* Ifc4x2::IfcAxis2Placement3D::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcDirection>(); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcAxis2Placement3D::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcAxis2Placement3D::setAxis(::Ifc4x2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x2::IfcDirection* Ifc4x2::IfcAxis2Placement3D::RefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcDirection>(); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcAxis2Placement3D::RefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcAxis2Placement3D::setRefDirection(::Ifc4x2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -12183,9 +12363,9 @@ Ifc4x2::IfcBooleanClippingResult::IfcBooleanClippingResult(::Ifc4x2::IfcBooleanO // Function implementations for IfcBooleanResult ::Ifc4x2::IfcBooleanOperator::Value Ifc4x2::IfcBooleanResult::Operator() const { return ::Ifc4x2::IfcBooleanOperator::FromString(*data_->getArgument(0)); } void Ifc4x2::IfcBooleanResult::setOperator(::Ifc4x2::IfcBooleanOperator::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcBooleanOperator::ToString(v)));data_->setArgument(0,attr);} } -::Ifc4x2::IfcBooleanOperand* Ifc4x2::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcBooleanOperand>(); } +::Ifc4x2::IfcBooleanOperand* Ifc4x2::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcBooleanOperand>(true); } void Ifc4x2::IfcBooleanResult::setFirstOperand(::Ifc4x2::IfcBooleanOperand* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x2::IfcBooleanOperand* Ifc4x2::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcBooleanOperand>(); } +::Ifc4x2::IfcBooleanOperand* Ifc4x2::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcBooleanOperand>(true); } void Ifc4x2::IfcBooleanResult::setSecondOperand(::Ifc4x2::IfcBooleanOperand* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -12213,17 +12393,17 @@ Ifc4x2::IfcBoundaryCurve::IfcBoundaryCurve(IfcEntityInstanceData* e) : IfcCompos Ifc4x2::IfcBoundaryCurve::IfcBoundaryCurve(aggregate_of< ::Ifc4x2::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurveOnSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcBoundaryCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Segments)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SelfIntersect));data_->setArgument(1,attr);} } // Function implementations for IfcBoundaryEdgeCondition -::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x2::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthX(::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x2::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthY(::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x2::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthZ(::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x2::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x2::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x2::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -12233,11 +12413,11 @@ Ifc4x2::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(IfcEntityInstanceData Ifc4x2::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect* v2_TranslationalStiffnessByLengthX, ::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect* v3_TranslationalStiffnessByLengthY, ::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect* v4_TranslationalStiffnessByLengthZ, ::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect* v5_RotationalStiffnessByLengthX, ::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect* v6_RotationalStiffnessByLengthY, ::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect* v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcBoundaryEdgeCondition_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TranslationalStiffnessByLengthX));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TranslationalStiffnessByLengthY));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TranslationalStiffnessByLengthZ));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RotationalStiffnessByLengthX));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RotationalStiffnessByLengthY));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RotationalStiffnessByLengthZ));data_->setArgument(6,attr);} } // Function implementations for IfcBoundaryFaceCondition -::Ifc4x2::IfcModulusOfSubgradeReactionSelect* Ifc4x2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4x2::IfcModulusOfSubgradeReactionSelect* Ifc4x2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x2::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaX(::Ifc4x2::IfcModulusOfSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x2::IfcModulusOfSubgradeReactionSelect* Ifc4x2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4x2::IfcModulusOfSubgradeReactionSelect* Ifc4x2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x2::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaY(::Ifc4x2::IfcModulusOfSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x2::IfcModulusOfSubgradeReactionSelect* Ifc4x2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4x2::IfcModulusOfSubgradeReactionSelect* Ifc4x2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x2::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(::Ifc4x2::IfcModulusOfSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -12247,17 +12427,17 @@ Ifc4x2::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(IfcEntityInstanceData Ifc4x2::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcModulusOfSubgradeReactionSelect* v2_TranslationalStiffnessByAreaX, ::Ifc4x2::IfcModulusOfSubgradeReactionSelect* v3_TranslationalStiffnessByAreaY, ::Ifc4x2::IfcModulusOfSubgradeReactionSelect* v4_TranslationalStiffnessByAreaZ) : IfcBoundaryCondition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcBoundaryFaceCondition_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TranslationalStiffnessByAreaX));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TranslationalStiffnessByAreaY));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TranslationalStiffnessByAreaZ));data_->setArgument(3,attr);} } // Function implementations for IfcBoundaryNodeCondition -::Ifc4x2::IfcTranslationalStiffnessSelect* Ifc4x2::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcTranslationalStiffnessSelect>(); } +::Ifc4x2::IfcTranslationalStiffnessSelect* Ifc4x2::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcTranslationalStiffnessSelect>(true); } void Ifc4x2::IfcBoundaryNodeCondition::setTranslationalStiffnessX(::Ifc4x2::IfcTranslationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x2::IfcTranslationalStiffnessSelect* Ifc4x2::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcTranslationalStiffnessSelect>(); } +::Ifc4x2::IfcTranslationalStiffnessSelect* Ifc4x2::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcTranslationalStiffnessSelect>(true); } void Ifc4x2::IfcBoundaryNodeCondition::setTranslationalStiffnessY(::Ifc4x2::IfcTranslationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x2::IfcTranslationalStiffnessSelect* Ifc4x2::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcTranslationalStiffnessSelect>(); } +::Ifc4x2::IfcTranslationalStiffnessSelect* Ifc4x2::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcTranslationalStiffnessSelect>(true); } void Ifc4x2::IfcBoundaryNodeCondition::setTranslationalStiffnessZ(::Ifc4x2::IfcTranslationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x2::IfcRotationalStiffnessSelect* Ifc4x2::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcRotationalStiffnessSelect>(); } +::Ifc4x2::IfcRotationalStiffnessSelect* Ifc4x2::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcRotationalStiffnessSelect>(true); } void Ifc4x2::IfcBoundaryNodeCondition::setRotationalStiffnessX(::Ifc4x2::IfcRotationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x2::IfcRotationalStiffnessSelect* Ifc4x2::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcRotationalStiffnessSelect>(); } +::Ifc4x2::IfcRotationalStiffnessSelect* Ifc4x2::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcRotationalStiffnessSelect>(true); } void Ifc4x2::IfcBoundaryNodeCondition::setRotationalStiffnessY(::Ifc4x2::IfcRotationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x2::IfcRotationalStiffnessSelect* Ifc4x2::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcRotationalStiffnessSelect>(); } +::Ifc4x2::IfcRotationalStiffnessSelect* Ifc4x2::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcRotationalStiffnessSelect>(true); } void Ifc4x2::IfcBoundaryNodeCondition::setRotationalStiffnessZ(::Ifc4x2::IfcRotationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -12267,7 +12447,7 @@ Ifc4x2::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(IfcEntityInstanceData Ifc4x2::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x2::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x2::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x2::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x2::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x2::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ) : IfcBoundaryCondition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcBoundaryNodeCondition_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TranslationalStiffnessX));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TranslationalStiffnessY));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TranslationalStiffnessZ));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RotationalStiffnessX));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RotationalStiffnessY));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RotationalStiffnessZ));data_->setArgument(6,attr);} } // Function implementations for IfcBoundaryNodeConditionWarping -::Ifc4x2::IfcWarpingStiffnessSelect* Ifc4x2::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x2::IfcWarpingStiffnessSelect>(); } +::Ifc4x2::IfcWarpingStiffnessSelect* Ifc4x2::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x2::IfcWarpingStiffnessSelect>(true); } void Ifc4x2::IfcBoundaryNodeConditionWarping::setWarpingStiffness(::Ifc4x2::IfcWarpingStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -12294,7 +12474,7 @@ Ifc4x2::IfcBoundedSurface::IfcBoundedSurface(IfcEntityInstanceData* e) : IfcSurf Ifc4x2::IfcBoundedSurface::IfcBoundedSurface() : IfcSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcBoundedSurface_type); } // Function implementations for IfcBoundingBox -::Ifc4x2::IfcCartesianPoint* Ifc4x2::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCartesianPoint>(); } +::Ifc4x2::IfcCartesianPoint* Ifc4x2::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCartesianPoint>(true); } void Ifc4x2::IfcBoundingBox::setCorner(::Ifc4x2::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x2::IfcBoundingBox::XDim() const { double v = *data_->getArgument(1); return v; } void Ifc4x2::IfcBoundingBox::setXDim(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -12310,7 +12490,7 @@ Ifc4x2::IfcBoundingBox::IfcBoundingBox(IfcEntityInstanceData* e) : IfcGeometricR Ifc4x2::IfcBoundingBox::IfcBoundingBox(::Ifc4x2::IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcBoundingBox_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Corner));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_XDim));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_YDim));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ZDim));data_->setArgument(3,attr);} } // Function implementations for IfcBoxedHalfSpace -::Ifc4x2::IfcBoundingBox* Ifc4x2::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcBoundingBox>(); } +::Ifc4x2::IfcBoundingBox* Ifc4x2::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcBoundingBox>(true); } void Ifc4x2::IfcBoxedHalfSpace::setEnclosure(::Ifc4x2::IfcBoundingBox* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -12344,7 +12524,7 @@ boost::optional< double > Ifc4x2::IfcBuilding::ElevationOfRefHeight() const { if void Ifc4x2::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } boost::optional< double > Ifc4x2::IfcBuilding::ElevationOfTerrain() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } void Ifc4x2::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } -::Ifc4x2::IfcPostalAddress* Ifc4x2::IfcBuilding::BuildingAddress() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x2::IfcPostalAddress>(); } +::Ifc4x2::IfcPostalAddress* Ifc4x2::IfcBuilding::BuildingAddress() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x2::IfcPostalAddress>(true); } void Ifc4x2::IfcBuilding::setBuildingAddress(::Ifc4x2::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } @@ -12612,11 +12792,11 @@ Ifc4x2::IfcCartesianPointList3D::IfcCartesianPointList3D(IfcEntityInstanceData* Ifc4x2::IfcCartesianPointList3D::IfcCartesianPointList3D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcCartesianPointList3D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CoordList));data_->setArgument(0,attr);} if (v2_TagList) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_TagList));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcCartesianTransformationOperator -::Ifc4x2::IfcDirection* Ifc4x2::IfcCartesianTransformationOperator::Axis1() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcDirection>(); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcCartesianTransformationOperator::Axis1() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcCartesianTransformationOperator::setAxis1(::Ifc4x2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x2::IfcDirection* Ifc4x2::IfcCartesianTransformationOperator::Axis2() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcDirection>(); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcCartesianTransformationOperator::Axis2() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcCartesianTransformationOperator::setAxis2(::Ifc4x2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x2::IfcCartesianPoint* Ifc4x2::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcCartesianPoint>(); } +::Ifc4x2::IfcCartesianPoint* Ifc4x2::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcCartesianPoint>(true); } void Ifc4x2::IfcCartesianTransformationOperator::setLocalOrigin(::Ifc4x2::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x2::IfcCartesianTransformationOperator::Scale() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4x2::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } @@ -12646,7 +12826,7 @@ Ifc4x2::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformati Ifc4x2::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(::Ifc4x2::IfcDirection* v1_Axis1, ::Ifc4x2::IfcDirection* v2_Axis2, ::Ifc4x2::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2) : IfcCartesianTransformationOperator2D((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcCartesianTransformationOperator2DnonUniform_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Axis1));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Axis2));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_LocalOrigin));data_->setArgument(2,attr);} if (v4_Scale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Scale));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Scale2) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Scale2));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcCartesianTransformationOperator3D -::Ifc4x2::IfcDirection* Ifc4x2::IfcCartesianTransformationOperator3D::Axis3() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcDirection>(); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcCartesianTransformationOperator3D::Axis3() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcCartesianTransformationOperator3D::setAxis3(::Ifc4x2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -12800,7 +12980,7 @@ Ifc4x2::IfcClassification::IfcClassification(IfcEntityInstanceData* e) : IfcExte Ifc4x2::IfcClassification::IfcClassification(boost::optional< std::string > v1_Source, boost::optional< std::string > v2_Edition, boost::optional< std::string > v3_EditionDate, std::string v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Location, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcClassification_type); if (v1_Source) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Source));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Edition) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Edition));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EditionDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EditionDate));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Name));data_->setArgument(3,attr);} if (v5_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Description));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Location));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ReferenceTokens) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ReferenceTokens));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcClassificationReference -::Ifc4x2::IfcClassificationReferenceSelect* Ifc4x2::IfcClassificationReference::ReferencedSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcClassificationReferenceSelect>(); } +::Ifc4x2::IfcClassificationReferenceSelect* Ifc4x2::IfcClassificationReference::ReferencedSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcClassificationReferenceSelect>(true); } void Ifc4x2::IfcClassificationReference::setReferencedSource(::Ifc4x2::IfcClassificationReferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcClassificationReference::Description() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x2::IfcClassificationReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -12976,7 +13156,7 @@ Ifc4x2::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(aggregate_of< ::I void Ifc4x2::IfcCompositeCurveSegment::setTransition(::Ifc4x2::IfcTransitionCode::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcTransitionCode::ToString(v)));data_->setArgument(0,attr);} } bool Ifc4x2::IfcCompositeCurveSegment::SameSense() const { bool v = *data_->getArgument(1); return v; } void Ifc4x2::IfcCompositeCurveSegment::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x2::IfcCurve* Ifc4x2::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcCurve>(); } +::Ifc4x2::IfcCurve* Ifc4x2::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcCompositeCurveSegment::setParentCurve(::Ifc4x2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4x2::IfcCompositeCurve::list::ptr Ifc4x2::IfcCompositeCurveSegment::UsingCurves() const { return data_->getInverse(IFC4X2_IfcCompositeCurve_type, 0)->as(); } @@ -13039,7 +13219,7 @@ Ifc4x2::IfcCondenserType::IfcCondenserType(IfcEntityInstanceData* e) : IfcEnergy Ifc4x2::IfcCondenserType::IfcCondenserType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCondenserTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcCondenserType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x2::IfcCondenserTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcConic -::Ifc4x2::IfcAxis2Placement* Ifc4x2::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcAxis2Placement>(); } +::Ifc4x2::IfcAxis2Placement* Ifc4x2::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcAxis2Placement>(true); } void Ifc4x2::IfcConic::setPosition(::Ifc4x2::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -13059,9 +13239,9 @@ Ifc4x2::IfcConnectedFaceSet::IfcConnectedFaceSet(IfcEntityInstanceData* e) : Ifc Ifc4x2::IfcConnectedFaceSet::IfcConnectedFaceSet(aggregate_of< ::Ifc4x2::IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcConnectedFaceSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CfsFaces)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcConnectionCurveGeometry -::Ifc4x2::IfcCurveOrEdgeCurve* Ifc4x2::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCurveOrEdgeCurve>(); } +::Ifc4x2::IfcCurveOrEdgeCurve* Ifc4x2::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCurveOrEdgeCurve>(true); } void Ifc4x2::IfcConnectionCurveGeometry::setCurveOnRelatingElement(::Ifc4x2::IfcCurveOrEdgeCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x2::IfcCurveOrEdgeCurve* Ifc4x2::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcCurveOrEdgeCurve>(); } +::Ifc4x2::IfcCurveOrEdgeCurve* Ifc4x2::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcCurveOrEdgeCurve>(true); } void Ifc4x2::IfcConnectionCurveGeometry::setCurveOnRelatedElement(::Ifc4x2::IfcCurveOrEdgeCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13093,9 +13273,9 @@ Ifc4x2::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcEntity Ifc4x2::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(::Ifc4x2::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x2::IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcConnectionPointEccentricity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_PointOnRelatingElement));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PointOnRelatedElement));data_->setArgument(1,attr);} if (v3_EccentricityInX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EccentricityInX));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_EccentricityInY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_EccentricityInY));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_EccentricityInZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_EccentricityInZ));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcConnectionPointGeometry -::Ifc4x2::IfcPointOrVertexPoint* Ifc4x2::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcPointOrVertexPoint>(); } +::Ifc4x2::IfcPointOrVertexPoint* Ifc4x2::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcPointOrVertexPoint>(true); } void Ifc4x2::IfcConnectionPointGeometry::setPointOnRelatingElement(::Ifc4x2::IfcPointOrVertexPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x2::IfcPointOrVertexPoint* Ifc4x2::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcPointOrVertexPoint>(); } +::Ifc4x2::IfcPointOrVertexPoint* Ifc4x2::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcPointOrVertexPoint>(true); } void Ifc4x2::IfcConnectionPointGeometry::setPointOnRelatedElement(::Ifc4x2::IfcPointOrVertexPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13105,9 +13285,9 @@ Ifc4x2::IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcEntityInstance Ifc4x2::IfcConnectionPointGeometry::IfcConnectionPointGeometry(::Ifc4x2::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x2::IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcConnectionPointGeometry_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_PointOnRelatingElement));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PointOnRelatedElement));data_->setArgument(1,attr);} } // Function implementations for IfcConnectionSurfaceGeometry -::Ifc4x2::IfcSurfaceOrFaceSurface* Ifc4x2::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcSurfaceOrFaceSurface>(); } +::Ifc4x2::IfcSurfaceOrFaceSurface* Ifc4x2::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcSurfaceOrFaceSurface>(true); } void Ifc4x2::IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(::Ifc4x2::IfcSurfaceOrFaceSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x2::IfcSurfaceOrFaceSurface* Ifc4x2::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcSurfaceOrFaceSurface>(); } +::Ifc4x2::IfcSurfaceOrFaceSurface* Ifc4x2::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcSurfaceOrFaceSurface>(true); } void Ifc4x2::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(::Ifc4x2::IfcSurfaceOrFaceSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13117,9 +13297,9 @@ Ifc4x2::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcEntityInst Ifc4x2::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(::Ifc4x2::IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, ::Ifc4x2::IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcConnectionSurfaceGeometry_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SurfaceOnRelatingElement));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SurfaceOnRelatedElement));data_->setArgument(1,attr);} } // Function implementations for IfcConnectionVolumeGeometry -::Ifc4x2::IfcSolidOrShell* Ifc4x2::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcSolidOrShell>(); } +::Ifc4x2::IfcSolidOrShell* Ifc4x2::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcSolidOrShell>(true); } void Ifc4x2::IfcConnectionVolumeGeometry::setVolumeOnRelatingElement(::Ifc4x2::IfcSolidOrShell* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x2::IfcSolidOrShell* Ifc4x2::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcSolidOrShell>(); } +::Ifc4x2::IfcSolidOrShell* Ifc4x2::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcSolidOrShell>(true); } void Ifc4x2::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(::Ifc4x2::IfcSolidOrShell* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13137,7 +13317,7 @@ void Ifc4x2::IfcConstraint::setDescription(boost::optional< std::string > v) { { void Ifc4x2::IfcConstraint::setConstraintGrade(::Ifc4x2::IfcConstraintEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcConstraintEnum::ToString(v)));data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x2::IfcConstraint::ConstraintSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x2::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } -::Ifc4x2::IfcActorSelect* Ifc4x2::IfcConstraint::CreatingActor() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcActorSelect>(); } +::Ifc4x2::IfcActorSelect* Ifc4x2::IfcConstraint::CreatingActor() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcActorSelect>(true); } void Ifc4x2::IfcConstraint::setCreatingActor(::Ifc4x2::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x2::IfcConstraint::CreationTime() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x2::IfcConstraint::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } @@ -13213,11 +13393,11 @@ Ifc4x2::IfcConstructionProductResourceType::IfcConstructionProductResourceType(I Ifc4x2::IfcConstructionProductResourceType::IfcConstructionProductResourceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x2::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcConstructionProductResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4x2::IfcConstructionProductResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcConstructionResource -::Ifc4x2::IfcResourceTime* Ifc4x2::IfcConstructionResource::Usage() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x2::IfcResourceTime>(); } +::Ifc4x2::IfcResourceTime* Ifc4x2::IfcConstructionResource::Usage() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x2::IfcResourceTime>(true); } void Ifc4x2::IfcConstructionResource::setUsage(::Ifc4x2::IfcResourceTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > Ifc4x2::IfcConstructionResource::BaseCosts() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x2::IfcAppliedValue >(); } void Ifc4x2::IfcConstructionResource::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } -::Ifc4x2::IfcPhysicalQuantity* Ifc4x2::IfcConstructionResource::BaseQuantity() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x2::IfcPhysicalQuantity>(); } +::Ifc4x2::IfcPhysicalQuantity* Ifc4x2::IfcConstructionResource::BaseQuantity() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x2::IfcPhysicalQuantity>(true); } void Ifc4x2::IfcConstructionResource::setBaseQuantity(::Ifc4x2::IfcPhysicalQuantity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -13229,7 +13409,7 @@ Ifc4x2::IfcConstructionResource::IfcConstructionResource(std::string v1_GlobalId // Function implementations for IfcConstructionResourceType boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > Ifc4x2::IfcConstructionResourceType::BaseCosts() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x2::IfcAppliedValue >(); } void Ifc4x2::IfcConstructionResourceType::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(9,attr);} } -::Ifc4x2::IfcPhysicalQuantity* Ifc4x2::IfcConstructionResourceType::BaseQuantity() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x2::IfcPhysicalQuantity>(); } +::Ifc4x2::IfcPhysicalQuantity* Ifc4x2::IfcConstructionResourceType::BaseQuantity() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x2::IfcPhysicalQuantity>(true); } void Ifc4x2::IfcConstructionResourceType::setBaseQuantity(::Ifc4x2::IfcPhysicalQuantity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -13247,7 +13427,7 @@ boost::optional< std::string > Ifc4x2::IfcContext::Phase() const { if(!data_->ge void Ifc4x2::IfcContext::setPhase(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationContext >::ptr > Ifc4x2::IfcContext::RepresentationContexts() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x2::IfcRepresentationContext >(); } void Ifc4x2::IfcContext::setRepresentationContexts(boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationContext >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } -::Ifc4x2::IfcUnitAssignment* Ifc4x2::IfcContext::UnitsInContext() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x2::IfcUnitAssignment>(); } +::Ifc4x2::IfcUnitAssignment* Ifc4x2::IfcContext::UnitsInContext() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x2::IfcUnitAssignment>(true); } void Ifc4x2::IfcContext::setUnitsInContext(::Ifc4x2::IfcUnitAssignment* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } ::Ifc4x2::IfcRelDefinesByProperties::list::ptr Ifc4x2::IfcContext::IsDefinedBy() const { return data_->getInverse(IFC4X2_IfcRelDefinesByProperties_type, 4)->as(); } @@ -13303,7 +13483,7 @@ Ifc4x2::IfcControllerType::IfcControllerType(std::string v1_GlobalId, ::Ifc4x2:: // Function implementations for IfcConversionBasedUnit std::string Ifc4x2::IfcConversionBasedUnit::Name() const { std::string v = *data_->getArgument(2); return v; } void Ifc4x2::IfcConversionBasedUnit::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x2::IfcMeasureWithUnit* Ifc4x2::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcMeasureWithUnit>(); } +::Ifc4x2::IfcMeasureWithUnit* Ifc4x2::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcMeasureWithUnit>(true); } void Ifc4x2::IfcConversionBasedUnit::setConversionFactor(::Ifc4x2::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x2::IfcExternalReferenceRelationship::list::ptr Ifc4x2::IfcConversionBasedUnit::HasExternalReference() const { return data_->getInverse(IFC4X2_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -13364,9 +13544,9 @@ Ifc4x2::IfcCoolingTowerType::IfcCoolingTowerType(IfcEntityInstanceData* e) : Ifc Ifc4x2::IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcCoolingTowerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x2::IfcCoolingTowerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcCoordinateOperation -::Ifc4x2::IfcCoordinateReferenceSystemSelect* Ifc4x2::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCoordinateReferenceSystemSelect>(); } +::Ifc4x2::IfcCoordinateReferenceSystemSelect* Ifc4x2::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCoordinateReferenceSystemSelect>(true); } void Ifc4x2::IfcCoordinateOperation::setSourceCRS(::Ifc4x2::IfcCoordinateReferenceSystemSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x2::IfcCoordinateReferenceSystem* Ifc4x2::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcCoordinateReferenceSystem>(); } +::Ifc4x2::IfcCoordinateReferenceSystem* Ifc4x2::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcCoordinateReferenceSystem>(true); } void Ifc4x2::IfcCoordinateOperation::setTargetCRS(::Ifc4x2::IfcCoordinateReferenceSystem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13473,7 +13653,7 @@ Ifc4x2::IfcCrewResourceType::IfcCrewResourceType(IfcEntityInstanceData* e) : Ifc Ifc4x2::IfcCrewResourceType::IfcCrewResourceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x2::IfcCrewResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcCrewResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4x2::IfcCrewResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcCsgPrimitive3D -::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcAxis2Placement3D>(); } +::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcAxis2Placement3D>(true); } void Ifc4x2::IfcCsgPrimitive3D::setPosition(::Ifc4x2::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -13483,7 +13663,7 @@ Ifc4x2::IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcEntityInstanceData* e) : IfcGeom Ifc4x2::IfcCsgPrimitive3D::IfcCsgPrimitive3D(::Ifc4x2::IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcCsgPrimitive3D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);} } // Function implementations for IfcCsgSolid -::Ifc4x2::IfcCsgSelect* Ifc4x2::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCsgSelect>(); } +::Ifc4x2::IfcCsgSelect* Ifc4x2::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCsgSelect>(true); } void Ifc4x2::IfcCsgSolid::setTreeRootExpression(::Ifc4x2::IfcCsgSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -13493,15 +13673,15 @@ Ifc4x2::IfcCsgSolid::IfcCsgSolid(IfcEntityInstanceData* e) : IfcSolidModel((IfcE Ifc4x2::IfcCsgSolid::IfcCsgSolid(::Ifc4x2::IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcCsgSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TreeRootExpression));data_->setArgument(0,attr);} } // Function implementations for IfcCurrencyRelationship -::Ifc4x2::IfcMonetaryUnit* Ifc4x2::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcMonetaryUnit>(); } +::Ifc4x2::IfcMonetaryUnit* Ifc4x2::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcMonetaryUnit>(true); } void Ifc4x2::IfcCurrencyRelationship::setRelatingMonetaryUnit(::Ifc4x2::IfcMonetaryUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x2::IfcMonetaryUnit* Ifc4x2::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcMonetaryUnit>(); } +::Ifc4x2::IfcMonetaryUnit* Ifc4x2::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcMonetaryUnit>(true); } void Ifc4x2::IfcCurrencyRelationship::setRelatedMonetaryUnit(::Ifc4x2::IfcMonetaryUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } double Ifc4x2::IfcCurrencyRelationship::ExchangeRate() const { double v = *data_->getArgument(4); return v; } void Ifc4x2::IfcCurrencyRelationship::setExchangeRate(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x2::IfcCurrencyRelationship::RateDateTime() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x2::IfcCurrencyRelationship::setRateDateTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4x2::IfcLibraryInformation* Ifc4x2::IfcCurrencyRelationship::RateSource() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcLibraryInformation>(); } +::Ifc4x2::IfcLibraryInformation* Ifc4x2::IfcCurrencyRelationship::RateSource() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcLibraryInformation>(true); } void Ifc4x2::IfcCurrencyRelationship::setRateSource(::Ifc4x2::IfcLibraryInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -13539,9 +13719,9 @@ Ifc4x2::IfcCurve::IfcCurve(IfcEntityInstanceData* e) : IfcGeometricRepresentatio Ifc4x2::IfcCurve::IfcCurve() : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcCurve_type); } // Function implementations for IfcCurveBoundedPlane -::Ifc4x2::IfcPlane* Ifc4x2::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcPlane>(); } +::Ifc4x2::IfcPlane* Ifc4x2::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcPlane>(true); } void Ifc4x2::IfcCurveBoundedPlane::setBasisSurface(::Ifc4x2::IfcPlane* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x2::IfcCurve* Ifc4x2::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcCurve>(); } +::Ifc4x2::IfcCurve* Ifc4x2::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcCurveBoundedPlane::setOuterBoundary(::Ifc4x2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x2::IfcCurve >::ptr Ifc4x2::IfcCurveBoundedPlane::InnerBoundaries() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x2::IfcCurve >(); } void Ifc4x2::IfcCurveBoundedPlane::setInnerBoundaries(aggregate_of< ::Ifc4x2::IfcCurve >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } @@ -13553,7 +13733,7 @@ Ifc4x2::IfcCurveBoundedPlane::IfcCurveBoundedPlane(IfcEntityInstanceData* e) : I Ifc4x2::IfcCurveBoundedPlane::IfcCurveBoundedPlane(::Ifc4x2::IfcPlane* v1_BasisSurface, ::Ifc4x2::IfcCurve* v2_OuterBoundary, aggregate_of< ::Ifc4x2::IfcCurve >::ptr v3_InnerBoundaries) : IfcBoundedSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcCurveBoundedPlane_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisSurface));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OuterBoundary));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_InnerBoundaries)->generalize());data_->setArgument(2,attr);} } // Function implementations for IfcCurveBoundedSurface -::Ifc4x2::IfcSurface* Ifc4x2::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcSurface>(); } +::Ifc4x2::IfcSurface* Ifc4x2::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcSurface>(true); } void Ifc4x2::IfcCurveBoundedSurface::setBasisSurface(::Ifc4x2::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x2::IfcBoundaryCurve >::ptr Ifc4x2::IfcCurveBoundedSurface::Boundaries() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x2::IfcBoundaryCurve >(); } void Ifc4x2::IfcCurveBoundedSurface::setBoundaries(aggregate_of< ::Ifc4x2::IfcBoundaryCurve >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -13567,7 +13747,7 @@ Ifc4x2::IfcCurveBoundedSurface::IfcCurveBoundedSurface(IfcEntityInstanceData* e) Ifc4x2::IfcCurveBoundedSurface::IfcCurveBoundedSurface(::Ifc4x2::IfcSurface* v1_BasisSurface, aggregate_of< ::Ifc4x2::IfcBoundaryCurve >::ptr v2_Boundaries, bool v3_ImplicitOuter) : IfcBoundedSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcCurveBoundedSurface_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisSurface));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Boundaries)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ImplicitOuter));data_->setArgument(2,attr);} } // Function implementations for IfcCurveSegment2D -::Ifc4x2::IfcCartesianPoint* Ifc4x2::IfcCurveSegment2D::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCartesianPoint>(); } +::Ifc4x2::IfcCartesianPoint* Ifc4x2::IfcCurveSegment2D::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCartesianPoint>(true); } void Ifc4x2::IfcCurveSegment2D::setStartPoint(::Ifc4x2::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x2::IfcCurveSegment2D::StartDirection() const { double v = *data_->getArgument(1); return v; } void Ifc4x2::IfcCurveSegment2D::setStartDirection(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13581,11 +13761,11 @@ Ifc4x2::IfcCurveSegment2D::IfcCurveSegment2D(IfcEntityInstanceData* e) : IfcBoun Ifc4x2::IfcCurveSegment2D::IfcCurveSegment2D(::Ifc4x2::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcCurveSegment2D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_StartPoint));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_StartDirection));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SegmentLength));data_->setArgument(2,attr);} } // Function implementations for IfcCurveStyle -::Ifc4x2::IfcCurveFontOrScaledCurveFontSelect* Ifc4x2::IfcCurveStyle::CurveFont() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcCurveFontOrScaledCurveFontSelect>(); } +::Ifc4x2::IfcCurveFontOrScaledCurveFontSelect* Ifc4x2::IfcCurveStyle::CurveFont() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcCurveFontOrScaledCurveFontSelect>(true); } void Ifc4x2::IfcCurveStyle::setCurveFont(::Ifc4x2::IfcCurveFontOrScaledCurveFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x2::IfcSizeSelect* Ifc4x2::IfcCurveStyle::CurveWidth() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcSizeSelect>(); } +::Ifc4x2::IfcSizeSelect* Ifc4x2::IfcCurveStyle::CurveWidth() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcSizeSelect>(true); } void Ifc4x2::IfcCurveStyle::setCurveWidth(::Ifc4x2::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x2::IfcColour* Ifc4x2::IfcCurveStyle::CurveColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcColour>(); } +::Ifc4x2::IfcColour* Ifc4x2::IfcCurveStyle::CurveColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcColour>(true); } void Ifc4x2::IfcCurveStyle::setCurveColour(::Ifc4x2::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< bool > Ifc4x2::IfcCurveStyle::ModelOrDraughting() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } bool v = *data_->getArgument(4); return v; } void Ifc4x2::IfcCurveStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -13611,7 +13791,7 @@ Ifc4x2::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_N // Function implementations for IfcCurveStyleFontAndScaling boost::optional< std::string > Ifc4x2::IfcCurveStyleFontAndScaling::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4x2::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } -::Ifc4x2::IfcCurveStyleFontSelect* Ifc4x2::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcCurveStyleFontSelect>(); } +::Ifc4x2::IfcCurveStyleFontSelect* Ifc4x2::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcCurveStyleFontSelect>(true); } void Ifc4x2::IfcCurveStyleFontAndScaling::setCurveFont(::Ifc4x2::IfcCurveStyleFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } double Ifc4x2::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = *data_->getArgument(2); return v; } void Ifc4x2::IfcCurveStyleFontAndScaling::setCurveFontScaling(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -13681,9 +13861,9 @@ Ifc4x2::IfcDeepFoundationType::IfcDeepFoundationType(IfcEntityInstanceData* e) : Ifc4x2::IfcDeepFoundationType::IfcDeepFoundationType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcBuildingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcDeepFoundationType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcDerivedProfileDef -::Ifc4x2::IfcProfileDef* Ifc4x2::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcProfileDef>(); } +::Ifc4x2::IfcProfileDef* Ifc4x2::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcProfileDef>(true); } void Ifc4x2::IfcDerivedProfileDef::setParentProfile(::Ifc4x2::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x2::IfcCartesianTransformationOperator2D* Ifc4x2::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcCartesianTransformationOperator2D>(); } +::Ifc4x2::IfcCartesianTransformationOperator2D* Ifc4x2::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcCartesianTransformationOperator2D>(true); } void Ifc4x2::IfcDerivedProfileDef::setOperator(::Ifc4x2::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcDerivedProfileDef::Label() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x2::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -13709,7 +13889,7 @@ Ifc4x2::IfcDerivedUnit::IfcDerivedUnit(IfcEntityInstanceData* e) : IfcUtil::IfcB Ifc4x2::IfcDerivedUnit::IfcDerivedUnit(aggregate_of< ::Ifc4x2::IfcDerivedUnitElement >::ptr v1_Elements, ::Ifc4x2::IfcDerivedUnitEnum::Value v2_UnitType, boost::optional< std::string > v3_UserDefinedType) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcDerivedUnit_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_UnitType,::Ifc4x2::IfcDerivedUnitEnum::ToString(v2_UnitType))));data_->setArgument(1,attr);} if (v3_UserDefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UserDefinedType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcDerivedUnitElement -::Ifc4x2::IfcNamedUnit* Ifc4x2::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcNamedUnit>(); } +::Ifc4x2::IfcNamedUnit* Ifc4x2::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcNamedUnit>(true); } void Ifc4x2::IfcDerivedUnitElement::setUnit(::Ifc4x2::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } int Ifc4x2::IfcDerivedUnitElement::Exponent() const { int v = *data_->getArgument(1); return v; } void Ifc4x2::IfcDerivedUnitElement::setExponent(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13912,7 +14092,7 @@ boost::optional< std::string > Ifc4x2::IfcDocumentInformation::Scope() const { i void Ifc4x2::IfcDocumentInformation::setScope(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x2::IfcDocumentInformation::Revision() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } void Ifc4x2::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } -::Ifc4x2::IfcActorSelect* Ifc4x2::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x2::IfcActorSelect>(); } +::Ifc4x2::IfcActorSelect* Ifc4x2::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x2::IfcActorSelect>(true); } void Ifc4x2::IfcDocumentInformation::setDocumentOwner(::Ifc4x2::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x2::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(9); return v; } void Ifc4x2::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } @@ -13942,7 +14122,7 @@ Ifc4x2::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData* e) Ifc4x2::IfcDocumentInformation::IfcDocumentInformation(std::string v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_Location, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, ::Ifc4x2::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of_instance::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< ::Ifc4x2::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x2::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x2::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x2::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcDocumentInformationRelationship -::Ifc4x2::IfcDocumentInformation* Ifc4x2::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcDocumentInformation>(); } +::Ifc4x2::IfcDocumentInformation* Ifc4x2::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcDocumentInformation>(true); } void Ifc4x2::IfcDocumentInformationRelationship::setRelatingDocument(::Ifc4x2::IfcDocumentInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4x2::IfcDocumentInformation >::ptr Ifc4x2::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x2::IfcDocumentInformation >(); } void Ifc4x2::IfcDocumentInformationRelationship::setRelatedDocuments(aggregate_of< ::Ifc4x2::IfcDocumentInformation >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -13958,7 +14138,7 @@ Ifc4x2::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(b // Function implementations for IfcDocumentReference boost::optional< std::string > Ifc4x2::IfcDocumentReference::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x2::IfcDocumentReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } -::Ifc4x2::IfcDocumentInformation* Ifc4x2::IfcDocumentReference::ReferencedDocument() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcDocumentInformation>(); } +::Ifc4x2::IfcDocumentInformation* Ifc4x2::IfcDocumentReference::ReferencedDocument() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcDocumentInformation>(true); } void Ifc4x2::IfcDocumentReference::setReferencedDocument(::Ifc4x2::IfcDocumentInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4x2::IfcRelAssociatesDocument::list::ptr Ifc4x2::IfcDocumentReference::DocumentRefForObjects() const { return data_->getInverse(IFC4X2_IfcRelAssociatesDocument_type, 5)->as(); } @@ -14007,7 +14187,7 @@ boost::optional< double > Ifc4x2::IfcDoorLiningProperties::CasingThickness() con void Ifc4x2::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } boost::optional< double > Ifc4x2::IfcDoorLiningProperties::CasingDepth() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } void Ifc4x2::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } -::Ifc4x2::IfcShapeAspect* Ifc4x2::IfcDoorLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(14)))->as<::Ifc4x2::IfcShapeAspect>(); } +::Ifc4x2::IfcShapeAspect* Ifc4x2::IfcDoorLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(14)))->as<::Ifc4x2::IfcShapeAspect>(true); } void Ifc4x2::IfcDoorLiningProperties::setShapeAspectStyle(::Ifc4x2::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(14,attr);} } boost::optional< double > Ifc4x2::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } void Ifc4x2::IfcDoorLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } @@ -14029,7 +14209,7 @@ boost::optional< double > Ifc4x2::IfcDoorPanelProperties::PanelWidth() const { i void Ifc4x2::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } ::Ifc4x2::IfcDoorPanelPositionEnum::Value Ifc4x2::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x2::IfcDoorPanelPositionEnum::FromString(*data_->getArgument(7)); } void Ifc4x2::IfcDoorPanelProperties::setPanelPosition(::Ifc4x2::IfcDoorPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcDoorPanelPositionEnum::ToString(v)));data_->setArgument(7,attr);} } -::Ifc4x2::IfcShapeAspect* Ifc4x2::IfcDoorPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x2::IfcShapeAspect>(); } +::Ifc4x2::IfcShapeAspect* Ifc4x2::IfcDoorPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x2::IfcShapeAspect>(true); } void Ifc4x2::IfcDoorPanelProperties::setShapeAspectStyle(::Ifc4x2::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -14155,9 +14335,9 @@ Ifc4x2::IfcDuctSilencerType::IfcDuctSilencerType(IfcEntityInstanceData* e) : Ifc Ifc4x2::IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcDuctSilencerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x2::IfcDuctSilencerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcEdge -::Ifc4x2::IfcVertex* Ifc4x2::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcVertex>(); } +::Ifc4x2::IfcVertex* Ifc4x2::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcVertex>(true); } void Ifc4x2::IfcEdge::setEdgeStart(::Ifc4x2::IfcVertex* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x2::IfcVertex* Ifc4x2::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcVertex>(); } +::Ifc4x2::IfcVertex* Ifc4x2::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcVertex>(true); } void Ifc4x2::IfcEdge::setEdgeEnd(::Ifc4x2::IfcVertex* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -14167,7 +14347,7 @@ Ifc4x2::IfcEdge::IfcEdge(IfcEntityInstanceData* e) : IfcTopologicalRepresentatio Ifc4x2::IfcEdge::IfcEdge(::Ifc4x2::IfcVertex* v1_EdgeStart, ::Ifc4x2::IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcEdge_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_EdgeStart));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EdgeEnd));data_->setArgument(1,attr);} } // Function implementations for IfcEdgeCurve -::Ifc4x2::IfcCurve* Ifc4x2::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcCurve>(); } +::Ifc4x2::IfcCurve* Ifc4x2::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcEdgeCurve::setEdgeGeometry(::Ifc4x2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } bool Ifc4x2::IfcEdgeCurve::SameSense() const { bool v = *data_->getArgument(3); return v; } void Ifc4x2::IfcEdgeCurve::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -14391,7 +14571,7 @@ Ifc4x2::IfcElementType::IfcElementType(IfcEntityInstanceData* e) : IfcTypeProduc Ifc4x2::IfcElementType::IfcElementType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcElementarySurface -::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcAxis2Placement3D>(); } +::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcAxis2Placement3D>(true); } void Ifc4x2::IfcElementarySurface::setPosition(::Ifc4x2::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -14507,7 +14687,7 @@ boost::optional< ::Ifc4x2::IfcEventTriggerTypeEnum::Value > Ifc4x2::IfcEvent::Ev void Ifc4x2::IfcEvent::setEventTriggerType(boost::optional< ::Ifc4x2::IfcEventTriggerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcEventTriggerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x2::IfcEvent::UserDefinedEventTriggerType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } void Ifc4x2::IfcEvent::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } -::Ifc4x2::IfcEventTime* Ifc4x2::IfcEvent::EventOccurenceTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x2::IfcEventTime>(); } +::Ifc4x2::IfcEventTime* Ifc4x2::IfcEvent::EventOccurenceTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x2::IfcEventTime>(true); } void Ifc4x2::IfcEvent::setEventOccurenceTime(::Ifc4x2::IfcEventTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -14584,7 +14764,7 @@ Ifc4x2::IfcExternalReference::IfcExternalReference(IfcEntityInstanceData* e) : I Ifc4x2::IfcExternalReference::IfcExternalReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcExternalReference_type); if (v1_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Location));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Identification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcExternalReferenceRelationship -::Ifc4x2::IfcExternalReference* Ifc4x2::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcExternalReference>(); } +::Ifc4x2::IfcExternalReference* Ifc4x2::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcExternalReference>(true); } void Ifc4x2::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x2::IfcExternalReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of_instance::ptr Ifc4x2::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } void Ifc4x2::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -14639,7 +14819,7 @@ Ifc4x2::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(IfcEntityInst Ifc4x2::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcExternallyDefinedTextFont_type); if (v1_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Location));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Identification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcExtrudedAreaSolid -::Ifc4x2::IfcDirection* Ifc4x2::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcDirection>(); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcExtrudedAreaSolid::setExtrudedDirection(::Ifc4x2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc4x2::IfcExtrudedAreaSolid::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc4x2::IfcExtrudedAreaSolid::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -14651,7 +14831,7 @@ Ifc4x2::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcEntityInstanceData* e) : I Ifc4x2::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(::Ifc4x2::IfcProfileDef* v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D* v2_Position, ::Ifc4x2::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcExtrudedAreaSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ExtrudedDirection));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);} } // Function implementations for IfcExtrudedAreaSolidTapered -::Ifc4x2::IfcProfileDef* Ifc4x2::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcProfileDef>(); } +::Ifc4x2::IfcProfileDef* Ifc4x2::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcProfileDef>(true); } void Ifc4x2::IfcExtrudedAreaSolidTapered::setEndSweptArea(::Ifc4x2::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -14682,7 +14862,7 @@ Ifc4x2::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(IfcEntityInstanceData Ifc4x2::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(aggregate_of< ::Ifc4x2::IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcFaceBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_FbsmFaces)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcFaceBound -::Ifc4x2::IfcLoop* Ifc4x2::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcLoop>(); } +::Ifc4x2::IfcLoop* Ifc4x2::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcLoop>(true); } void Ifc4x2::IfcFaceBound::setBound(::Ifc4x2::IfcLoop* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } bool Ifc4x2::IfcFaceBound::Orientation() const { bool v = *data_->getArgument(1); return v; } void Ifc4x2::IfcFaceBound::setOrientation(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -14702,7 +14882,7 @@ Ifc4x2::IfcFaceOuterBound::IfcFaceOuterBound(IfcEntityInstanceData* e) : IfcFace Ifc4x2::IfcFaceOuterBound::IfcFaceOuterBound(::Ifc4x2::IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcFaceOuterBound_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Bound));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Orientation));data_->setArgument(1,attr);} } // Function implementations for IfcFaceSurface -::Ifc4x2::IfcSurface* Ifc4x2::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcSurface>(); } +::Ifc4x2::IfcSurface* Ifc4x2::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcSurface>(true); } void Ifc4x2::IfcFaceSurface::setFaceSurface(::Ifc4x2::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } bool Ifc4x2::IfcFaceSurface::SameSense() const { bool v = *data_->getArgument(2); return v; } void Ifc4x2::IfcFaceSurface::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -14846,13 +15026,13 @@ Ifc4x2::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData* e) : IfcPresen Ifc4x2::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of_instance::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelorDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelorDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcFillAreaStyleHatching -::Ifc4x2::IfcCurveStyle* Ifc4x2::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCurveStyle>(); } +::Ifc4x2::IfcCurveStyle* Ifc4x2::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCurveStyle>(true); } void Ifc4x2::IfcFillAreaStyleHatching::setHatchLineAppearance(::Ifc4x2::IfcCurveStyle* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x2::IfcHatchLineDistanceSelect* Ifc4x2::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcHatchLineDistanceSelect>(); } +::Ifc4x2::IfcHatchLineDistanceSelect* Ifc4x2::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcHatchLineDistanceSelect>(true); } void Ifc4x2::IfcFillAreaStyleHatching::setStartOfNextHatchLine(::Ifc4x2::IfcHatchLineDistanceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x2::IfcCartesianPoint* Ifc4x2::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcCartesianPoint>(); } +::Ifc4x2::IfcCartesianPoint* Ifc4x2::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcCartesianPoint>(true); } void Ifc4x2::IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(::Ifc4x2::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x2::IfcCartesianPoint* Ifc4x2::IfcFillAreaStyleHatching::PatternStart() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcCartesianPoint>(); } +::Ifc4x2::IfcCartesianPoint* Ifc4x2::IfcFillAreaStyleHatching::PatternStart() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcCartesianPoint>(true); } void Ifc4x2::IfcFillAreaStyleHatching::setPatternStart(::Ifc4x2::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } double Ifc4x2::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = *data_->getArgument(4); return v; } void Ifc4x2::IfcFillAreaStyleHatching::setHatchLineAngle(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -14918,13 +15098,13 @@ Ifc4x2::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(IfcEntity Ifc4x2::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcFireSuppressionTerminalType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcFixedReferenceSweptAreaSolid -::Ifc4x2::IfcCurve* Ifc4x2::IfcFixedReferenceSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcCurve>(); } +::Ifc4x2::IfcCurve* Ifc4x2::IfcFixedReferenceSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcFixedReferenceSweptAreaSolid::setDirectrix(::Ifc4x2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x2::IfcFixedReferenceSweptAreaSolid::StartParam() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4x2::IfcFixedReferenceSweptAreaSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } boost::optional< double > Ifc4x2::IfcFixedReferenceSweptAreaSolid::EndParam() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } void Ifc4x2::IfcFixedReferenceSweptAreaSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc4x2::IfcDirection* Ifc4x2::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcDirection>(); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcFixedReferenceSweptAreaSolid::setFixedReference(::Ifc4x2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -15176,9 +15356,9 @@ int Ifc4x2::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const void Ifc4x2::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x2::IfcGeometricRepresentationContext::Precision() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4x2::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } -::Ifc4x2::IfcAxis2Placement* Ifc4x2::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcAxis2Placement>(); } +::Ifc4x2::IfcAxis2Placement* Ifc4x2::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcAxis2Placement>(true); } void Ifc4x2::IfcGeometricRepresentationContext::setWorldCoordinateSystem(::Ifc4x2::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x2::IfcDirection* Ifc4x2::IfcGeometricRepresentationContext::TrueNorth() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcDirection>(); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcGeometricRepresentationContext::TrueNorth() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcGeometricRepresentationContext::setTrueNorth(::Ifc4x2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4x2::IfcGeometricRepresentationSubContext::list::ptr Ifc4x2::IfcGeometricRepresentationContext::HasSubContexts() const { return data_->getInverse(IFC4X2_IfcGeometricRepresentationSubContext_type, 6)->as(); } @@ -15198,7 +15378,7 @@ Ifc4x2::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem(IfcEntity Ifc4x2::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcGeometricRepresentationItem_type); } // Function implementations for IfcGeometricRepresentationSubContext -::Ifc4x2::IfcGeometricRepresentationContext* Ifc4x2::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcGeometricRepresentationContext>(); } +::Ifc4x2::IfcGeometricRepresentationContext* Ifc4x2::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcGeometricRepresentationContext>(true); } void Ifc4x2::IfcGeometricRepresentationSubContext::setParentContext(::Ifc4x2::IfcGeometricRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x2::IfcGeometricRepresentationSubContext::TargetScale() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4x2::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } @@ -15242,7 +15422,7 @@ Ifc4x2::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_ // Function implementations for IfcGridAxis boost::optional< std::string > Ifc4x2::IfcGridAxis::AxisTag() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4x2::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } -::Ifc4x2::IfcCurve* Ifc4x2::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcCurve>(); } +::Ifc4x2::IfcCurve* Ifc4x2::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcGridAxis::setAxisCurve(::Ifc4x2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } bool Ifc4x2::IfcGridAxis::SameSense() const { bool v = *data_->getArgument(2); return v; } void Ifc4x2::IfcGridAxis::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -15258,9 +15438,9 @@ Ifc4x2::IfcGridAxis::IfcGridAxis(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEnt Ifc4x2::IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, ::Ifc4x2::IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcGridAxis_type); if (v1_AxisTag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_AxisTag));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_AxisCurve));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SameSense));data_->setArgument(2,attr);} } // Function implementations for IfcGridPlacement -::Ifc4x2::IfcVirtualGridIntersection* Ifc4x2::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcVirtualGridIntersection>(); } +::Ifc4x2::IfcVirtualGridIntersection* Ifc4x2::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcVirtualGridIntersection>(true); } void Ifc4x2::IfcGridPlacement::setPlacementLocation(::Ifc4x2::IfcVirtualGridIntersection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x2::IfcGridPlacementDirectionSelect* Ifc4x2::IfcGridPlacement::PlacementRefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcGridPlacementDirectionSelect>(); } +::Ifc4x2::IfcGridPlacementDirectionSelect* Ifc4x2::IfcGridPlacement::PlacementRefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcGridPlacementDirectionSelect>(true); } void Ifc4x2::IfcGridPlacement::setPlacementRefDirection(::Ifc4x2::IfcGridPlacementDirectionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -15279,7 +15459,7 @@ Ifc4x2::IfcGroup::IfcGroup(IfcEntityInstanceData* e) : IfcObject((IfcEntityInsta Ifc4x2::IfcGroup::IfcGroup(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcGroup_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcHalfSpaceSolid -::Ifc4x2::IfcSurface* Ifc4x2::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcSurface>(); } +::Ifc4x2::IfcSurface* Ifc4x2::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcSurface>(true); } void Ifc4x2::IfcHalfSpaceSolid::setBaseSurface(::Ifc4x2::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } bool Ifc4x2::IfcHalfSpaceSolid::AgreementFlag() const { bool v = *data_->getArgument(1); return v; } void Ifc4x2::IfcHalfSpaceSolid::setAgreementFlag(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15363,11 +15543,11 @@ Ifc4x2::IfcImageTexture::IfcImageTexture(IfcEntityInstanceData* e) : IfcSurfaceT Ifc4x2::IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x2::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) : IfcSurfaceTexture((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcImageTexture_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_RepeatS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RepeatT));data_->setArgument(1,attr);} if (v3_Mode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Mode));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TextureTransform));data_->setArgument(3,attr);} if (v5_Parameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Parameter));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_URLReference));data_->setArgument(5,attr);} } // Function implementations for IfcIndexedColourMap -::Ifc4x2::IfcTessellatedFaceSet* Ifc4x2::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcTessellatedFaceSet>(); } +::Ifc4x2::IfcTessellatedFaceSet* Ifc4x2::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcTessellatedFaceSet>(true); } void Ifc4x2::IfcIndexedColourMap::setMappedTo(::Ifc4x2::IfcTessellatedFaceSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4x2::IfcIndexedColourMap::Opacity() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } void Ifc4x2::IfcIndexedColourMap::setOpacity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4x2::IfcColourRgbList* Ifc4x2::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcColourRgbList>(); } +::Ifc4x2::IfcColourRgbList* Ifc4x2::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcColourRgbList>(true); } void Ifc4x2::IfcIndexedColourMap::setColours(::Ifc4x2::IfcColourRgbList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } std::vector< int > /*[1:?]*/ Ifc4x2::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } void Ifc4x2::IfcIndexedColourMap::setColourIndex(std::vector< int > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -15379,7 +15559,7 @@ Ifc4x2::IfcIndexedColourMap::IfcIndexedColourMap(IfcEntityInstanceData* e) : Ifc Ifc4x2::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x2::IfcTessellatedFaceSet* v1_MappedTo, boost::optional< double > v2_Opacity, ::Ifc4x2::IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcIndexedColourMap_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MappedTo));data_->setArgument(0,attr);} if (v2_Opacity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Opacity));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Colours));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ColourIndex));data_->setArgument(3,attr);} } // Function implementations for IfcIndexedPolyCurve -::Ifc4x2::IfcCartesianPointList* Ifc4x2::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCartesianPointList>(); } +::Ifc4x2::IfcCartesianPointList* Ifc4x2::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCartesianPointList>(true); } void Ifc4x2::IfcIndexedPolyCurve::setPoints(::Ifc4x2::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x2::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4x2::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } @@ -15414,9 +15594,9 @@ Ifc4x2::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(IfcEn Ifc4x2::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) : IfcIndexedPolygonalFace((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcIndexedPolygonalFaceWithVoids_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CoordIndex));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_InnerCoordIndices));data_->setArgument(1,attr);} } // Function implementations for IfcIndexedTextureMap -::Ifc4x2::IfcTessellatedFaceSet* Ifc4x2::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcTessellatedFaceSet>(); } +::Ifc4x2::IfcTessellatedFaceSet* Ifc4x2::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcTessellatedFaceSet>(true); } void Ifc4x2::IfcIndexedTextureMap::setMappedTo(::Ifc4x2::IfcTessellatedFaceSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x2::IfcTextureVertexList* Ifc4x2::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcTextureVertexList>(); } +::Ifc4x2::IfcTextureVertexList* Ifc4x2::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcTextureVertexList>(true); } void Ifc4x2::IfcIndexedTextureMap::setTexCoords(::Ifc4x2::IfcTextureVertexList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -15466,15 +15646,15 @@ Ifc4x2::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4x2::IfcCurve* v1_Curve3 // Function implementations for IfcInventory boost::optional< ::Ifc4x2::IfcInventoryTypeEnum::Value > Ifc4x2::IfcInventory::PredefinedType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x2::IfcInventoryTypeEnum::FromString(*data_->getArgument(5)); } void Ifc4x2::IfcInventory::setPredefinedType(boost::optional< ::Ifc4x2::IfcInventoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcInventoryTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } -::Ifc4x2::IfcActorSelect* Ifc4x2::IfcInventory::Jurisdiction() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcActorSelect>(); } +::Ifc4x2::IfcActorSelect* Ifc4x2::IfcInventory::Jurisdiction() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcActorSelect>(true); } void Ifc4x2::IfcInventory::setJurisdiction(::Ifc4x2::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x2::IfcPerson >::ptr > Ifc4x2::IfcInventory::ResponsiblePersons() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x2::IfcPerson >(); } void Ifc4x2::IfcInventory::setResponsiblePersons(boost::optional< aggregate_of< ::Ifc4x2::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x2::IfcInventory::LastUpdateDate() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc4x2::IfcInventory::setLastUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } -::Ifc4x2::IfcCostValue* Ifc4x2::IfcInventory::CurrentValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x2::IfcCostValue>(); } +::Ifc4x2::IfcCostValue* Ifc4x2::IfcInventory::CurrentValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x2::IfcCostValue>(true); } void Ifc4x2::IfcInventory::setCurrentValue(::Ifc4x2::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -::Ifc4x2::IfcCostValue* Ifc4x2::IfcInventory::OriginalValue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x2::IfcCostValue>(); } +::Ifc4x2::IfcCostValue* Ifc4x2::IfcInventory::OriginalValue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x2::IfcCostValue>(true); } void Ifc4x2::IfcInventory::setOriginalValue(::Ifc4x2::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -15566,7 +15746,7 @@ Ifc4x2::IfcLaborResourceType::IfcLaborResourceType(IfcEntityInstanceData* e) : I Ifc4x2::IfcLaborResourceType::IfcLaborResourceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x2::IfcLaborResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcLaborResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4x2::IfcLaborResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcLagTime -::Ifc4x2::IfcTimeOrRatioSelect* Ifc4x2::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcTimeOrRatioSelect>(); } +::Ifc4x2::IfcTimeOrRatioSelect* Ifc4x2::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcTimeOrRatioSelect>(true); } void Ifc4x2::IfcLagTime::setLagValue(::Ifc4x2::IfcTimeOrRatioSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x2::IfcTaskDurationEnum::Value Ifc4x2::IfcLagTime::DurationType() const { return ::Ifc4x2::IfcTaskDurationEnum::FromString(*data_->getArgument(4)); } void Ifc4x2::IfcLagTime::setDurationType(::Ifc4x2::IfcTaskDurationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcTaskDurationEnum::ToString(v)));data_->setArgument(4,attr);} } @@ -15602,7 +15782,7 @@ std::string Ifc4x2::IfcLibraryInformation::Name() const { std::string v = *data void Ifc4x2::IfcLibraryInformation::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcLibraryInformation::Version() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x2::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4x2::IfcActorSelect* Ifc4x2::IfcLibraryInformation::Publisher() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcActorSelect>(); } +::Ifc4x2::IfcActorSelect* Ifc4x2::IfcLibraryInformation::Publisher() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcActorSelect>(true); } void Ifc4x2::IfcLibraryInformation::setPublisher(::Ifc4x2::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x2::IfcLibraryInformation::VersionDate() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x2::IfcLibraryInformation::setVersionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } @@ -15624,7 +15804,7 @@ boost::optional< std::string > Ifc4x2::IfcLibraryReference::Description() const void Ifc4x2::IfcLibraryReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcLibraryReference::Language() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x2::IfcLibraryReference::setLanguage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc4x2::IfcLibraryInformation* Ifc4x2::IfcLibraryReference::ReferencedLibrary() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcLibraryInformation>(); } +::Ifc4x2::IfcLibraryInformation* Ifc4x2::IfcLibraryReference::ReferencedLibrary() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcLibraryInformation>(true); } void Ifc4x2::IfcLibraryReference::setReferencedLibrary(::Ifc4x2::IfcLibraryInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4x2::IfcRelAssociatesLibrary::list::ptr Ifc4x2::IfcLibraryReference::LibraryRefForObjects() const { return data_->getInverse(IFC4X2_IfcRelAssociatesLibrary_type, 5)->as(); } @@ -15683,7 +15863,7 @@ Ifc4x2::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4x2::I // Function implementations for IfcLightSource boost::optional< std::string > Ifc4x2::IfcLightSource::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4x2::IfcLightSource::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } -::Ifc4x2::IfcColourRgb* Ifc4x2::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcColourRgb>(); } +::Ifc4x2::IfcColourRgb* Ifc4x2::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcColourRgb>(true); } void Ifc4x2::IfcLightSource::setLightColour(::Ifc4x2::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4x2::IfcLightSource::AmbientIntensity() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } void Ifc4x2::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } @@ -15705,7 +15885,7 @@ Ifc4x2::IfcLightSourceAmbient::IfcLightSourceAmbient(IfcEntityInstanceData* e) : Ifc4x2::IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcLightSource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcLightSourceAmbient_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcLightSourceDirectional -::Ifc4x2::IfcDirection* Ifc4x2::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcDirection>(); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcLightSourceDirectional::setOrientation(::Ifc4x2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -15715,9 +15895,9 @@ Ifc4x2::IfcLightSourceDirectional::IfcLightSourceDirectional(IfcEntityInstanceDa Ifc4x2::IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x2::IfcDirection* v5_Orientation) : IfcLightSource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcLightSourceDirectional_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Orientation));data_->setArgument(4,attr);} } // Function implementations for IfcLightSourceGoniometric -::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcAxis2Placement3D>(); } +::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcAxis2Placement3D>(true); } void Ifc4x2::IfcLightSourceGoniometric::setPosition(::Ifc4x2::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x2::IfcColourRgb* Ifc4x2::IfcLightSourceGoniometric::ColourAppearance() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcColourRgb>(); } +::Ifc4x2::IfcColourRgb* Ifc4x2::IfcLightSourceGoniometric::ColourAppearance() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcColourRgb>(true); } void Ifc4x2::IfcLightSourceGoniometric::setColourAppearance(::Ifc4x2::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } double Ifc4x2::IfcLightSourceGoniometric::ColourTemperature() const { double v = *data_->getArgument(6); return v; } void Ifc4x2::IfcLightSourceGoniometric::setColourTemperature(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -15725,7 +15905,7 @@ double Ifc4x2::IfcLightSourceGoniometric::LuminousFlux() const { double v = *da void Ifc4x2::IfcLightSourceGoniometric::setLuminousFlux(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x2::IfcLightEmissionSourceEnum::Value Ifc4x2::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4x2::IfcLightEmissionSourceEnum::FromString(*data_->getArgument(8)); } void Ifc4x2::IfcLightSourceGoniometric::setLightEmissionSource(::Ifc4x2::IfcLightEmissionSourceEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcLightEmissionSourceEnum::ToString(v)));data_->setArgument(8,attr);} } -::Ifc4x2::IfcLightDistributionDataSourceSelect* Ifc4x2::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x2::IfcLightDistributionDataSourceSelect>(); } +::Ifc4x2::IfcLightDistributionDataSourceSelect* Ifc4x2::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x2::IfcLightDistributionDataSourceSelect>(true); } void Ifc4x2::IfcLightSourceGoniometric::setLightDistributionDataSource(::Ifc4x2::IfcLightDistributionDataSourceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -15735,7 +15915,7 @@ Ifc4x2::IfcLightSourceGoniometric::IfcLightSourceGoniometric(IfcEntityInstanceDa Ifc4x2::IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x2::IfcAxis2Placement3D* v5_Position, ::Ifc4x2::IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x2::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x2::IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcLightSourceGoniometric_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Position));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ColourAppearance));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ColourTemperature));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LuminousFlux));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_LightEmissionSource,::Ifc4x2::IfcLightEmissionSourceEnum::ToString(v9_LightEmissionSource))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_LightDistributionDataSource));data_->setArgument(9,attr);} } // Function implementations for IfcLightSourcePositional -::Ifc4x2::IfcCartesianPoint* Ifc4x2::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcCartesianPoint>(); } +::Ifc4x2::IfcCartesianPoint* Ifc4x2::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcCartesianPoint>(true); } void Ifc4x2::IfcLightSourcePositional::setPosition(::Ifc4x2::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } double Ifc4x2::IfcLightSourcePositional::Radius() const { double v = *data_->getArgument(5); return v; } void Ifc4x2::IfcLightSourcePositional::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -15753,7 +15933,7 @@ Ifc4x2::IfcLightSourcePositional::IfcLightSourcePositional(IfcEntityInstanceData Ifc4x2::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x2::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) : IfcLightSource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcLightSourcePositional_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Position));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Radius));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConstantAttenuation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_DistanceAttenuation));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_QuadricAttenuation));data_->setArgument(8,attr);} } // Function implementations for IfcLightSourceSpot -::Ifc4x2::IfcDirection* Ifc4x2::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x2::IfcDirection>(); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcLightSourceSpot::setOrientation(::Ifc4x2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< double > Ifc4x2::IfcLightSourceSpot::ConcentrationExponent() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } void Ifc4x2::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } @@ -15769,9 +15949,9 @@ Ifc4x2::IfcLightSourceSpot::IfcLightSourceSpot(IfcEntityInstanceData* e) : IfcLi Ifc4x2::IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x2::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x2::IfcDirection* v10_Orientation, boost::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) : IfcLightSourcePositional((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcLightSourceSpot_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Position));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Radius));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConstantAttenuation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_DistanceAttenuation));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_QuadricAttenuation));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_Orientation));data_->setArgument(9,attr);} if (v11_ConcentrationExponent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_ConcentrationExponent));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_SpreadAngle));data_->setArgument(11,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v13_BeamWidthAngle));data_->setArgument(12,attr);} } // Function implementations for IfcLine -::Ifc4x2::IfcCartesianPoint* Ifc4x2::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCartesianPoint>(); } +::Ifc4x2::IfcCartesianPoint* Ifc4x2::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCartesianPoint>(true); } void Ifc4x2::IfcLine::setPnt(::Ifc4x2::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x2::IfcVector* Ifc4x2::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcVector>(); } +::Ifc4x2::IfcVector* Ifc4x2::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcVector>(true); } void Ifc4x2::IfcLine::setDir(::Ifc4x2::IfcVector* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15789,13 +15969,13 @@ Ifc4x2::IfcLineSegment2D::IfcLineSegment2D(IfcEntityInstanceData* e) : IfcCurveS Ifc4x2::IfcLineSegment2D::IfcLineSegment2D(::Ifc4x2::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) : IfcCurveSegment2D((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcLineSegment2D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_StartPoint));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_StartDirection));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SegmentLength));data_->setArgument(2,attr);} } // Function implementations for IfcLinearPlacement -::Ifc4x2::IfcCurve* Ifc4x2::IfcLinearPlacement::PlacementMeasuredAlong() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcCurve>(); } +::Ifc4x2::IfcCurve* Ifc4x2::IfcLinearPlacement::PlacementMeasuredAlong() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcLinearPlacement::setPlacementMeasuredAlong(::Ifc4x2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x2::IfcDistanceExpression* Ifc4x2::IfcLinearPlacement::Distance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcDistanceExpression>(); } +::Ifc4x2::IfcDistanceExpression* Ifc4x2::IfcLinearPlacement::Distance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcDistanceExpression>(true); } void Ifc4x2::IfcLinearPlacement::setDistance(::Ifc4x2::IfcDistanceExpression* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x2::IfcOrientationExpression* Ifc4x2::IfcLinearPlacement::Orientation() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcOrientationExpression>(); } +::Ifc4x2::IfcOrientationExpression* Ifc4x2::IfcLinearPlacement::Orientation() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcOrientationExpression>(true); } void Ifc4x2::IfcLinearPlacement::setOrientation(::Ifc4x2::IfcOrientationExpression* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcLinearPlacement::CartesianPosition() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcAxis2Placement3D>(); } +::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcLinearPlacement::CartesianPosition() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcAxis2Placement3D>(true); } void Ifc4x2::IfcLinearPlacement::setCartesianPosition(::Ifc4x2::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -15805,7 +15985,7 @@ Ifc4x2::IfcLinearPlacement::IfcLinearPlacement(IfcEntityInstanceData* e) : IfcOb Ifc4x2::IfcLinearPlacement::IfcLinearPlacement(::Ifc4x2::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x2::IfcCurve* v2_PlacementMeasuredAlong, ::Ifc4x2::IfcDistanceExpression* v3_Distance, ::Ifc4x2::IfcOrientationExpression* v4_Orientation, ::Ifc4x2::IfcAxis2Placement3D* v5_CartesianPosition) : IfcObjectPlacement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcLinearPlacement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_PlacementRelTo));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PlacementMeasuredAlong));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Distance));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Orientation));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_CartesianPosition));data_->setArgument(4,attr);} } // Function implementations for IfcLinearPositioningElement -::Ifc4x2::IfcCurve* Ifc4x2::IfcLinearPositioningElement::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x2::IfcCurve>(); } +::Ifc4x2::IfcCurve* Ifc4x2::IfcLinearPositioningElement::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcLinearPositioningElement::setAxis(::Ifc4x2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -15815,7 +15995,7 @@ Ifc4x2::IfcLinearPositioningElement::IfcLinearPositioningElement(IfcEntityInstan Ifc4x2::IfcLinearPositioningElement::IfcLinearPositioningElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcCurve* v8_Axis) : IfcPositioningElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcLinearPositioningElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Axis));data_->setArgument(7,attr);} } // Function implementations for IfcLocalPlacement -::Ifc4x2::IfcAxis2Placement* Ifc4x2::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcAxis2Placement>(); } +::Ifc4x2::IfcAxis2Placement* Ifc4x2::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcAxis2Placement>(true); } void Ifc4x2::IfcLocalPlacement::setRelativePlacement(::Ifc4x2::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15833,7 +16013,7 @@ Ifc4x2::IfcLoop::IfcLoop(IfcEntityInstanceData* e) : IfcTopologicalRepresentatio Ifc4x2::IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcLoop_type); } // Function implementations for IfcManifoldSolidBrep -::Ifc4x2::IfcClosedShell* Ifc4x2::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcClosedShell>(); } +::Ifc4x2::IfcClosedShell* Ifc4x2::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcClosedShell>(true); } void Ifc4x2::IfcManifoldSolidBrep::setOuter(::Ifc4x2::IfcClosedShell* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -15863,9 +16043,9 @@ Ifc4x2::IfcMapConversion::IfcMapConversion(IfcEntityInstanceData* e) : IfcCoordi Ifc4x2::IfcMapConversion::IfcMapConversion(::Ifc4x2::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x2::IfcCoordinateReferenceSystem* v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, boost::optional< double > v6_XAxisAbscissa, boost::optional< double > v7_XAxisOrdinate, boost::optional< double > v8_Scale) : IfcCoordinateOperation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcMapConversion_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SourceCRS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TargetCRS));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Eastings));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Northings));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_OrthogonalHeight));data_->setArgument(4,attr);} if (v6_XAxisAbscissa) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_XAxisAbscissa));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_XAxisOrdinate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_XAxisOrdinate));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Scale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Scale));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcMappedItem -::Ifc4x2::IfcRepresentationMap* Ifc4x2::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcRepresentationMap>(); } +::Ifc4x2::IfcRepresentationMap* Ifc4x2::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcRepresentationMap>(true); } void Ifc4x2::IfcMappedItem::setMappingSource(::Ifc4x2::IfcRepresentationMap* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x2::IfcCartesianTransformationOperator* Ifc4x2::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcCartesianTransformationOperator>(); } +::Ifc4x2::IfcCartesianTransformationOperator* Ifc4x2::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcCartesianTransformationOperator>(true); } void Ifc4x2::IfcMappedItem::setMappingTarget(::Ifc4x2::IfcCartesianTransformationOperator* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15894,7 +16074,7 @@ Ifc4x2::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::stri // Function implementations for IfcMaterialClassificationRelationship aggregate_of_instance::ptr Ifc4x2::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } void Ifc4x2::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x2::IfcMaterial* Ifc4x2::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcMaterial>(); } +::Ifc4x2::IfcMaterial* Ifc4x2::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcMaterial>(true); } void Ifc4x2::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x2::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15908,7 +16088,7 @@ boost::optional< std::string > Ifc4x2::IfcMaterialConstituent::Name() const { if void Ifc4x2::IfcMaterialConstituent::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcMaterialConstituent::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x2::IfcMaterialConstituent::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4x2::IfcMaterial* Ifc4x2::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcMaterial>(); } +::Ifc4x2::IfcMaterial* Ifc4x2::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcMaterial>(true); } void Ifc4x2::IfcMaterialConstituent::setMaterial(::Ifc4x2::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x2::IfcMaterialConstituent::Fraction() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4x2::IfcMaterialConstituent::setFraction(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } @@ -15948,7 +16128,7 @@ Ifc4x2::IfcMaterialDefinition::IfcMaterialDefinition(IfcEntityInstanceData* e) : Ifc4x2::IfcMaterialDefinition::IfcMaterialDefinition() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcMaterialDefinition_type); } // Function implementations for IfcMaterialDefinitionRepresentation -::Ifc4x2::IfcMaterial* Ifc4x2::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcMaterial>(); } +::Ifc4x2::IfcMaterial* Ifc4x2::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcMaterial>(true); } void Ifc4x2::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(::Ifc4x2::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -15958,7 +16138,7 @@ Ifc4x2::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation Ifc4x2::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcRepresentation >::ptr v3_Representations, ::Ifc4x2::IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcMaterialDefinitionRepresentation_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Representations)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RepresentedMaterial));data_->setArgument(3,attr);} } // Function implementations for IfcMaterialLayer -::Ifc4x2::IfcMaterial* Ifc4x2::IfcMaterialLayer::Material() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcMaterial>(); } +::Ifc4x2::IfcMaterial* Ifc4x2::IfcMaterialLayer::Material() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcMaterial>(true); } void Ifc4x2::IfcMaterialLayer::setMaterial(::Ifc4x2::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x2::IfcMaterialLayer::LayerThickness() const { double v = *data_->getArgument(1); return v; } void Ifc4x2::IfcMaterialLayer::setLayerThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15995,7 +16175,7 @@ Ifc4x2::IfcMaterialLayerSet::IfcMaterialLayerSet(IfcEntityInstanceData* e) : Ifc Ifc4x2::IfcMaterialLayerSet::IfcMaterialLayerSet(aggregate_of< ::Ifc4x2::IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName, boost::optional< std::string > v3_Description) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcMaterialLayerSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialLayers)->generalize());data_->setArgument(0,attr);} if (v2_LayerSetName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_LayerSetName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialLayerSetUsage -::Ifc4x2::IfcMaterialLayerSet* Ifc4x2::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcMaterialLayerSet>(); } +::Ifc4x2::IfcMaterialLayerSet* Ifc4x2::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcMaterialLayerSet>(true); } void Ifc4x2::IfcMaterialLayerSetUsage::setForLayerSet(::Ifc4x2::IfcMaterialLayerSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4x2::IfcLayerSetDirectionEnum::Value Ifc4x2::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4x2::IfcLayerSetDirectionEnum::FromString(*data_->getArgument(1)); } void Ifc4x2::IfcMaterialLayerSetUsage::setLayerSetDirection(::Ifc4x2::IfcLayerSetDirectionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcLayerSetDirectionEnum::ToString(v)));data_->setArgument(1,attr);} } @@ -16039,9 +16219,9 @@ boost::optional< std::string > Ifc4x2::IfcMaterialProfile::Name() const { if(!da void Ifc4x2::IfcMaterialProfile::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcMaterialProfile::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x2::IfcMaterialProfile::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4x2::IfcMaterial* Ifc4x2::IfcMaterialProfile::Material() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcMaterial>(); } +::Ifc4x2::IfcMaterial* Ifc4x2::IfcMaterialProfile::Material() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcMaterial>(true); } void Ifc4x2::IfcMaterialProfile::setMaterial(::Ifc4x2::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x2::IfcProfileDef* Ifc4x2::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcProfileDef>(); } +::Ifc4x2::IfcProfileDef* Ifc4x2::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcProfileDef>(true); } void Ifc4x2::IfcMaterialProfile::setProfile(::Ifc4x2::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< int > Ifc4x2::IfcMaterialProfile::Priority() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } void Ifc4x2::IfcMaterialProfile::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -16062,7 +16242,7 @@ boost::optional< std::string > Ifc4x2::IfcMaterialProfileSet::Description() cons void Ifc4x2::IfcMaterialProfileSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x2::IfcMaterialProfile >::ptr Ifc4x2::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x2::IfcMaterialProfile >(); } void Ifc4x2::IfcMaterialProfileSet::setMaterialProfiles(aggregate_of< ::Ifc4x2::IfcMaterialProfile >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } -::Ifc4x2::IfcCompositeProfileDef* Ifc4x2::IfcMaterialProfileSet::CompositeProfile() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcCompositeProfileDef>(); } +::Ifc4x2::IfcCompositeProfileDef* Ifc4x2::IfcMaterialProfileSet::CompositeProfile() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcCompositeProfileDef>(true); } void Ifc4x2::IfcMaterialProfileSet::setCompositeProfile(::Ifc4x2::IfcCompositeProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16072,7 +16252,7 @@ Ifc4x2::IfcMaterialProfileSet::IfcMaterialProfileSet(IfcEntityInstanceData* e) : Ifc4x2::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcMaterialProfile >::ptr v3_MaterialProfiles, ::Ifc4x2::IfcCompositeProfileDef* v4_CompositeProfile) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcMaterialProfileSet_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_MaterialProfiles)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_CompositeProfile));data_->setArgument(3,attr);} } // Function implementations for IfcMaterialProfileSetUsage -::Ifc4x2::IfcMaterialProfileSet* Ifc4x2::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcMaterialProfileSet>(); } +::Ifc4x2::IfcMaterialProfileSet* Ifc4x2::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcMaterialProfileSet>(true); } void Ifc4x2::IfcMaterialProfileSetUsage::setForProfileSet(::Ifc4x2::IfcMaterialProfileSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< int > Ifc4x2::IfcMaterialProfileSetUsage::CardinalPoint() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } int v = *data_->getArgument(1); return v; } void Ifc4x2::IfcMaterialProfileSetUsage::setCardinalPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } @@ -16086,7 +16266,7 @@ Ifc4x2::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(IfcEntityInstance Ifc4x2::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4x2::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent) : IfcMaterialUsageDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcMaterialProfileSetUsage_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ForProfileSet));data_->setArgument(0,attr);} if (v2_CardinalPoint) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_CardinalPoint));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ReferenceExtent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ReferenceExtent));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialProfileSetUsageTapering -::Ifc4x2::IfcMaterialProfileSet* Ifc4x2::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcMaterialProfileSet>(); } +::Ifc4x2::IfcMaterialProfileSet* Ifc4x2::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcMaterialProfileSet>(true); } void Ifc4x2::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(::Ifc4x2::IfcMaterialProfileSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< int > Ifc4x2::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } void Ifc4x2::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -16108,7 +16288,7 @@ Ifc4x2::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(IfcEntityIn Ifc4x2::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcMaterial* v3_Material, ::Ifc4x2::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) : IfcMaterialProfile((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcMaterialProfileWithOffsets_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Material));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Profile));data_->setArgument(3,attr);} if (v5_Priority) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Priority));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Category));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_OffsetValues));data_->setArgument(6,attr);} } // Function implementations for IfcMaterialProperties -::Ifc4x2::IfcMaterialDefinition* Ifc4x2::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcMaterialDefinition>(); } +::Ifc4x2::IfcMaterialDefinition* Ifc4x2::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcMaterialDefinition>(true); } void Ifc4x2::IfcMaterialProperties::setMaterial(::Ifc4x2::IfcMaterialDefinition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16118,7 +16298,7 @@ Ifc4x2::IfcMaterialProperties::IfcMaterialProperties(IfcEntityInstanceData* e) : Ifc4x2::IfcMaterialProperties::IfcMaterialProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcProperty >::ptr v3_Properties, ::Ifc4x2::IfcMaterialDefinition* v4_Material) : IfcExtendedProperties((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcMaterialProperties_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Properties)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Material));data_->setArgument(3,attr);} } // Function implementations for IfcMaterialRelationship -::Ifc4x2::IfcMaterial* Ifc4x2::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcMaterial>(); } +::Ifc4x2::IfcMaterial* Ifc4x2::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcMaterial>(true); } void Ifc4x2::IfcMaterialRelationship::setRelatingMaterial(::Ifc4x2::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4x2::IfcMaterial >::ptr Ifc4x2::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x2::IfcMaterial >(); } void Ifc4x2::IfcMaterialRelationship::setRelatedMaterials(aggregate_of< ::Ifc4x2::IfcMaterial >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -16141,9 +16321,9 @@ Ifc4x2::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition(IfcEntityInstance Ifc4x2::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcMaterialUsageDefinition_type); } // Function implementations for IfcMeasureWithUnit -::Ifc4x2::IfcValue* Ifc4x2::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcValue>(); } +::Ifc4x2::IfcValue* Ifc4x2::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcValue>(true); } void Ifc4x2::IfcMeasureWithUnit::setValueComponent(::Ifc4x2::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x2::IfcUnit* Ifc4x2::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcUnit>(); } +::Ifc4x2::IfcUnit* Ifc4x2::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcUnit>(true); } void Ifc4x2::IfcMeasureWithUnit::setUnitComponent(::Ifc4x2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -16233,9 +16413,9 @@ Ifc4x2::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc4x2::IfcOwner void Ifc4x2::IfcMetric::setBenchmark(::Ifc4x2::IfcBenchmarkEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcBenchmarkEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x2::IfcMetric::ValueSource() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc4x2::IfcMetric::setValueSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } -::Ifc4x2::IfcMetricValueSelect* Ifc4x2::IfcMetric::DataValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x2::IfcMetricValueSelect>(); } +::Ifc4x2::IfcMetricValueSelect* Ifc4x2::IfcMetric::DataValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x2::IfcMetricValueSelect>(true); } void Ifc4x2::IfcMetric::setDataValue(::Ifc4x2::IfcMetricValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -::Ifc4x2::IfcReference* Ifc4x2::IfcMetric::ReferencePath() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x2::IfcReference>(); } +::Ifc4x2::IfcReference* Ifc4x2::IfcMetric::ReferencePath() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x2::IfcReference>(true); } void Ifc4x2::IfcMetric::setReferencePath(::Ifc4x2::IfcReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -16283,7 +16463,7 @@ Ifc4x2::IfcMotorConnectionType::IfcMotorConnectionType(IfcEntityInstanceData* e) Ifc4x2::IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcMotorConnectionType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x2::IfcMotorConnectionTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcNamedUnit -::Ifc4x2::IfcDimensionalExponents* Ifc4x2::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcDimensionalExponents>(); } +::Ifc4x2::IfcDimensionalExponents* Ifc4x2::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcDimensionalExponents>(true); } void Ifc4x2::IfcNamedUnit::setDimensions(::Ifc4x2::IfcDimensionalExponents* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4x2::IfcUnitEnum::Value Ifc4x2::IfcNamedUnit::UnitType() const { return ::Ifc4x2::IfcUnitEnum::FromString(*data_->getArgument(1)); } void Ifc4x2::IfcNamedUnit::setUnitType(::Ifc4x2::IfcUnitEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcUnitEnum::ToString(v)));data_->setArgument(1,attr);} } @@ -16324,7 +16504,7 @@ Ifc4x2::IfcObjectDefinition::IfcObjectDefinition(IfcEntityInstanceData* e) : Ifc Ifc4x2::IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcObjectDefinition_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcObjectPlacement -::Ifc4x2::IfcObjectPlacement* Ifc4x2::IfcObjectPlacement::PlacementRelTo() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcObjectPlacement>(); } +::Ifc4x2::IfcObjectPlacement* Ifc4x2::IfcObjectPlacement::PlacementRelTo() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcObjectPlacement>(true); } void Ifc4x2::IfcObjectPlacement::setPlacementRelTo(::Ifc4x2::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4x2::IfcProduct::list::ptr Ifc4x2::IfcObjectPlacement::PlacesObject() const { return data_->getInverse(IFC4X2_IfcProduct_type, 5)->as(); } @@ -16361,7 +16541,7 @@ Ifc4x2::IfcOccupant::IfcOccupant(IfcEntityInstanceData* e) : IfcActor((IfcEntity Ifc4x2::IfcOccupant::IfcOccupant(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcActorSelect* v6_TheActor, boost::optional< ::Ifc4x2::IfcOccupantTypeEnum::Value > v7_PredefinedType) : IfcActor((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcOccupant_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_TheActor));data_->setArgument(5,attr);} if (v7_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v7_PredefinedType,::Ifc4x2::IfcOccupantTypeEnum::ToString(*v7_PredefinedType))));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcOffsetCurve -::Ifc4x2::IfcCurve* Ifc4x2::IfcOffsetCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCurve>(); } +::Ifc4x2::IfcCurve* Ifc4x2::IfcOffsetCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcOffsetCurve::setBasisCurve(::Ifc4x2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -16387,7 +16567,7 @@ double Ifc4x2::IfcOffsetCurve3D::Distance() const { double v = *data_->getArgum void Ifc4x2::IfcOffsetCurve3D::setDistance(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::logic::tribool Ifc4x2::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = *data_->getArgument(2); return v; } void Ifc4x2::IfcOffsetCurve3D::setSelfIntersect(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x2::IfcDirection* Ifc4x2::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcDirection>(); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcOffsetCurve3D::setRefDirection(::Ifc4x2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16457,7 +16637,7 @@ Ifc4x2::IfcOrganization::IfcOrganization(IfcEntityInstanceData* e) : IfcUtil::If Ifc4x2::IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc4x2::IfcActorRole >::ptr > v4_Roles, boost::optional< aggregate_of< ::Ifc4x2::IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcOrganization_type); if (v1_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identification));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Roles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Roles)->generalize());data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Addresses) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Addresses)->generalize());data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcOrganizationRelationship -::Ifc4x2::IfcOrganization* Ifc4x2::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcOrganization>(); } +::Ifc4x2::IfcOrganization* Ifc4x2::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcOrganization>(true); } void Ifc4x2::IfcOrganizationRelationship::setRelatingOrganization(::Ifc4x2::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4x2::IfcOrganization >::ptr Ifc4x2::IfcOrganizationRelationship::RelatedOrganizations() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x2::IfcOrganization >(); } void Ifc4x2::IfcOrganizationRelationship::setRelatedOrganizations(aggregate_of< ::Ifc4x2::IfcOrganization >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -16469,9 +16649,9 @@ Ifc4x2::IfcOrganizationRelationship::IfcOrganizationRelationship(IfcEntityInstan Ifc4x2::IfcOrganizationRelationship::IfcOrganizationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcOrganization* v3_RelatingOrganization, aggregate_of< ::Ifc4x2::IfcOrganization >::ptr v4_RelatedOrganizations) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcOrganizationRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingOrganization));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedOrganizations)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcOrientationExpression -::Ifc4x2::IfcDirection* Ifc4x2::IfcOrientationExpression::LateralAxisDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcDirection>(); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcOrientationExpression::LateralAxisDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcOrientationExpression::setLateralAxisDirection(::Ifc4x2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x2::IfcDirection* Ifc4x2::IfcOrientationExpression::VerticalAxisDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcDirection>(); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcOrientationExpression::VerticalAxisDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcOrientationExpression::setVerticalAxisDirection(::Ifc4x2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -16481,7 +16661,7 @@ Ifc4x2::IfcOrientationExpression::IfcOrientationExpression(IfcEntityInstanceData Ifc4x2::IfcOrientationExpression::IfcOrientationExpression(::Ifc4x2::IfcDirection* v1_LateralAxisDirection, ::Ifc4x2::IfcDirection* v2_VerticalAxisDirection) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcOrientationExpression_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_LateralAxisDirection));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_VerticalAxisDirection));data_->setArgument(1,attr);} } // Function implementations for IfcOrientedEdge -::Ifc4x2::IfcEdge* Ifc4x2::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcEdge>(); } +::Ifc4x2::IfcEdge* Ifc4x2::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcEdge>(true); } void Ifc4x2::IfcOrientedEdge::setEdgeElement(::Ifc4x2::IfcEdge* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } bool Ifc4x2::IfcOrientedEdge::Orientation() const { bool v = *data_->getArgument(3); return v; } void Ifc4x2::IfcOrientedEdge::setOrientation(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16521,9 +16701,9 @@ Ifc4x2::IfcOutletType::IfcOutletType(IfcEntityInstanceData* e) : IfcFlowTerminal Ifc4x2::IfcOutletType::IfcOutletType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcOutletTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcOutletType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x2::IfcOutletTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcOwnerHistory -::Ifc4x2::IfcPersonAndOrganization* Ifc4x2::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcPersonAndOrganization>(); } +::Ifc4x2::IfcPersonAndOrganization* Ifc4x2::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcPersonAndOrganization>(true); } void Ifc4x2::IfcOwnerHistory::setOwningUser(::Ifc4x2::IfcPersonAndOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x2::IfcApplication* Ifc4x2::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcApplication>(); } +::Ifc4x2::IfcApplication* Ifc4x2::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcApplication>(true); } void Ifc4x2::IfcOwnerHistory::setOwningApplication(::Ifc4x2::IfcApplication* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< ::Ifc4x2::IfcStateEnum::Value > Ifc4x2::IfcOwnerHistory::State() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc4x2::IfcStateEnum::FromString(*data_->getArgument(2)); } void Ifc4x2::IfcOwnerHistory::setState(boost::optional< ::Ifc4x2::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcStateEnum::ToString(*v)));data_->setArgument(2,attr);} } @@ -16531,9 +16711,9 @@ boost::optional< ::Ifc4x2::IfcChangeActionEnum::Value > Ifc4x2::IfcOwnerHistory: void Ifc4x2::IfcOwnerHistory::setChangeAction(boost::optional< ::Ifc4x2::IfcChangeActionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcChangeActionEnum::ToString(*v)));data_->setArgument(3,attr);} } boost::optional< int > Ifc4x2::IfcOwnerHistory::LastModifiedDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } void Ifc4x2::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc4x2::IfcPersonAndOrganization* Ifc4x2::IfcOwnerHistory::LastModifyingUser() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcPersonAndOrganization>(); } +::Ifc4x2::IfcPersonAndOrganization* Ifc4x2::IfcOwnerHistory::LastModifyingUser() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcPersonAndOrganization>(true); } void Ifc4x2::IfcOwnerHistory::setLastModifyingUser(::Ifc4x2::IfcPersonAndOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x2::IfcApplication* Ifc4x2::IfcOwnerHistory::LastModifyingApplication() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcApplication>(); } +::Ifc4x2::IfcApplication* Ifc4x2::IfcOwnerHistory::LastModifyingApplication() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcApplication>(true); } void Ifc4x2::IfcOwnerHistory::setLastModifyingApplication(::Ifc4x2::IfcApplication* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } int Ifc4x2::IfcOwnerHistory::CreationDate() const { int v = *data_->getArgument(7); return v; } void Ifc4x2::IfcOwnerHistory::setCreationDate(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -16545,7 +16725,7 @@ Ifc4x2::IfcOwnerHistory::IfcOwnerHistory(IfcEntityInstanceData* e) : IfcUtil::If Ifc4x2::IfcOwnerHistory::IfcOwnerHistory(::Ifc4x2::IfcPersonAndOrganization* v1_OwningUser, ::Ifc4x2::IfcApplication* v2_OwningApplication, boost::optional< ::Ifc4x2::IfcStateEnum::Value > v3_State, boost::optional< ::Ifc4x2::IfcChangeActionEnum::Value > v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, ::Ifc4x2::IfcPersonAndOrganization* v6_LastModifyingUser, ::Ifc4x2::IfcApplication* v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcOwnerHistory_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_OwningUser));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwningApplication));data_->setArgument(1,attr);} if (v3_State) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v3_State,::Ifc4x2::IfcStateEnum::ToString(*v3_State))));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_ChangeAction) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v4_ChangeAction,::Ifc4x2::IfcChangeActionEnum::ToString(*v4_ChangeAction))));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_LastModifiedDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_LastModifiedDate));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LastModifyingUser));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LastModifyingApplication));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_CreationDate));data_->setArgument(7,attr);} } // Function implementations for IfcParameterizedProfileDef -::Ifc4x2::IfcAxis2Placement2D* Ifc4x2::IfcParameterizedProfileDef::Position() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcAxis2Placement2D>(); } +::Ifc4x2::IfcAxis2Placement2D* Ifc4x2::IfcParameterizedProfileDef::Position() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcAxis2Placement2D>(true); } void Ifc4x2::IfcParameterizedProfileDef::setPosition(::Ifc4x2::IfcAxis2Placement2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -16565,9 +16745,9 @@ Ifc4x2::IfcPath::IfcPath(IfcEntityInstanceData* e) : IfcTopologicalRepresentatio Ifc4x2::IfcPath::IfcPath(aggregate_of< ::Ifc4x2::IfcOrientedEdge >::ptr v1_EdgeList) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcPath_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_EdgeList)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcPcurve -::Ifc4x2::IfcSurface* Ifc4x2::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcSurface>(); } +::Ifc4x2::IfcSurface* Ifc4x2::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcSurface>(true); } void Ifc4x2::IfcPcurve::setBasisSurface(::Ifc4x2::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x2::IfcCurve* Ifc4x2::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcCurve>(); } +::Ifc4x2::IfcCurve* Ifc4x2::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcPcurve::setReferenceCurve(::Ifc4x2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -16597,7 +16777,7 @@ boost::optional< double > Ifc4x2::IfcPermeableCoveringProperties::FrameDepth() c void Ifc4x2::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x2::IfcPermeableCoveringProperties::FrameThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4x2::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } -::Ifc4x2::IfcShapeAspect* Ifc4x2::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x2::IfcShapeAspect>(); } +::Ifc4x2::IfcShapeAspect* Ifc4x2::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x2::IfcShapeAspect>(true); } void Ifc4x2::IfcPermeableCoveringProperties::setShapeAspectStyle(::Ifc4x2::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -16646,9 +16826,9 @@ Ifc4x2::IfcPerson::IfcPerson(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEntity( Ifc4x2::IfcPerson::IfcPerson(boost::optional< std::string > v1_Identification, boost::optional< std::string > v2_FamilyName, boost::optional< std::string > v3_GivenName, boost::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, boost::optional< aggregate_of< ::Ifc4x2::IfcActorRole >::ptr > v7_Roles, boost::optional< aggregate_of< ::Ifc4x2::IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcPerson_type); if (v1_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identification));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_FamilyName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_FamilyName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_GivenName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_GivenName));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_MiddleNames) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_MiddleNames));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_PrefixTitles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_PrefixTitles));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_SuffixTitles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_SuffixTitles));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Roles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Roles)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Addresses) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Addresses)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcPersonAndOrganization -::Ifc4x2::IfcPerson* Ifc4x2::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcPerson>(); } +::Ifc4x2::IfcPerson* Ifc4x2::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcPerson>(true); } void Ifc4x2::IfcPersonAndOrganization::setThePerson(::Ifc4x2::IfcPerson* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x2::IfcOrganization* Ifc4x2::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcOrganization>(); } +::Ifc4x2::IfcOrganization* Ifc4x2::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcOrganization>(true); } void Ifc4x2::IfcPersonAndOrganization::setTheOrganization(::Ifc4x2::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< aggregate_of< ::Ifc4x2::IfcActorRole >::ptr > Ifc4x2::IfcPersonAndOrganization::Roles() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x2::IfcActorRole >(); } void Ifc4x2::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x2::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(2,attr);} } @@ -16690,7 +16870,7 @@ Ifc4x2::IfcPhysicalQuantity::IfcPhysicalQuantity(IfcEntityInstanceData* e) : Ifc Ifc4x2::IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcPhysicalQuantity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcPhysicalSimpleQuantity -::Ifc4x2::IfcNamedUnit* Ifc4x2::IfcPhysicalSimpleQuantity::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcNamedUnit>(); } +::Ifc4x2::IfcNamedUnit* Ifc4x2::IfcPhysicalSimpleQuantity::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcNamedUnit>(true); } void Ifc4x2::IfcPhysicalSimpleQuantity::setUnit(::Ifc4x2::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -16778,7 +16958,7 @@ Ifc4x2::IfcPixelTexture::IfcPixelTexture(IfcEntityInstanceData* e) : IfcSurfaceT Ifc4x2::IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x2::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) : IfcSurfaceTexture((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcPixelTexture_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_RepeatS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RepeatT));data_->setArgument(1,attr);} if (v3_Mode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Mode));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TextureTransform));data_->setArgument(3,attr);} if (v5_Parameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Parameter));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Width));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Height));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_ColourComponents));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_Pixel));data_->setArgument(8,attr);} } // Function implementations for IfcPlacement -::Ifc4x2::IfcCartesianPoint* Ifc4x2::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCartesianPoint>(); } +::Ifc4x2::IfcCartesianPoint* Ifc4x2::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCartesianPoint>(true); } void Ifc4x2::IfcPlacement::setLocation(::Ifc4x2::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -16788,7 +16968,7 @@ Ifc4x2::IfcPlacement::IfcPlacement(IfcEntityInstanceData* e) : IfcGeometricRepre Ifc4x2::IfcPlacement::IfcPlacement(::Ifc4x2::IfcCartesianPoint* v1_Location) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcPlacement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Location));data_->setArgument(0,attr);} } // Function implementations for IfcPlanarBox -::Ifc4x2::IfcAxis2Placement* Ifc4x2::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcAxis2Placement>(); } +::Ifc4x2::IfcAxis2Placement* Ifc4x2::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcAxis2Placement>(true); } void Ifc4x2::IfcPlanarBox::setPlacement(::Ifc4x2::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -16854,7 +17034,7 @@ Ifc4x2::IfcPoint::IfcPoint(IfcEntityInstanceData* e) : IfcGeometricRepresentatio Ifc4x2::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcPoint_type); } // Function implementations for IfcPointOnCurve -::Ifc4x2::IfcCurve* Ifc4x2::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCurve>(); } +::Ifc4x2::IfcCurve* Ifc4x2::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcPointOnCurve::setBasisCurve(::Ifc4x2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x2::IfcPointOnCurve::PointParameter() const { double v = *data_->getArgument(1); return v; } void Ifc4x2::IfcPointOnCurve::setPointParameter(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -16866,7 +17046,7 @@ Ifc4x2::IfcPointOnCurve::IfcPointOnCurve(IfcEntityInstanceData* e) : IfcPoint((I Ifc4x2::IfcPointOnCurve::IfcPointOnCurve(::Ifc4x2::IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcPointOnCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PointParameter));data_->setArgument(1,attr);} } // Function implementations for IfcPointOnSurface -::Ifc4x2::IfcSurface* Ifc4x2::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcSurface>(); } +::Ifc4x2::IfcSurface* Ifc4x2::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcSurface>(true); } void Ifc4x2::IfcPointOnSurface::setBasisSurface(::Ifc4x2::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x2::IfcPointOnSurface::PointParameterU() const { double v = *data_->getArgument(1); return v; } void Ifc4x2::IfcPointOnSurface::setPointParameterU(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -16890,9 +17070,9 @@ Ifc4x2::IfcPolyLoop::IfcPolyLoop(IfcEntityInstanceData* e) : IfcLoop((IfcEntityI Ifc4x2::IfcPolyLoop::IfcPolyLoop(aggregate_of< ::Ifc4x2::IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcPolyLoop_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Polygon)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcPolygonalBoundedHalfSpace -::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcAxis2Placement3D>(); } +::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcAxis2Placement3D>(true); } void Ifc4x2::IfcPolygonalBoundedHalfSpace::setPosition(::Ifc4x2::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x2::IfcBoundedCurve* Ifc4x2::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcBoundedCurve>(); } +::Ifc4x2::IfcBoundedCurve* Ifc4x2::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcBoundedCurve>(true); } void Ifc4x2::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(::Ifc4x2::IfcBoundedCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17114,9 +17294,9 @@ Ifc4x2::IfcProcess::IfcProcess(IfcEntityInstanceData* e) : IfcObject((IfcEntityI Ifc4x2::IfcProcess::IfcProcess(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcProcess_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcProduct -::Ifc4x2::IfcObjectPlacement* Ifc4x2::IfcProduct::ObjectPlacement() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcObjectPlacement>(); } +::Ifc4x2::IfcObjectPlacement* Ifc4x2::IfcProduct::ObjectPlacement() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcObjectPlacement>(true); } void Ifc4x2::IfcProduct::setObjectPlacement(::Ifc4x2::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x2::IfcProductRepresentation* Ifc4x2::IfcProduct::Representation() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcProductRepresentation>(); } +::Ifc4x2::IfcProductRepresentation* Ifc4x2::IfcProduct::Representation() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcProductRepresentation>(true); } void Ifc4x2::IfcProduct::setRepresentation(::Ifc4x2::IfcProductRepresentation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } ::Ifc4x2::IfcRelAssignsToProduct::list::ptr Ifc4x2::IfcProduct::ReferencedBy() const { return data_->getInverse(IFC4X2_IfcRelAssignsToProduct_type, 6)->as(); } @@ -17166,7 +17346,7 @@ Ifc4x2::IfcProfileDef::IfcProfileDef(IfcEntityInstanceData* e) : IfcUtil::IfcBas Ifc4x2::IfcProfileDef::IfcProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4x2::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcProfileProperties -::Ifc4x2::IfcProfileDef* Ifc4x2::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcProfileDef>(); } +::Ifc4x2::IfcProfileDef* Ifc4x2::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcProfileDef>(true); } void Ifc4x2::IfcProfileProperties::setProfileDefinition(::Ifc4x2::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17210,7 +17390,7 @@ boost::optional< std::string > Ifc4x2::IfcProjectedCRS::MapProjection() const { void Ifc4x2::IfcProjectedCRS::setMapProjection(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x2::IfcProjectedCRS::MapZone() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x2::IfcProjectedCRS::setMapZone(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4x2::IfcNamedUnit* Ifc4x2::IfcProjectedCRS::MapUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcNamedUnit>(); } +::Ifc4x2::IfcNamedUnit* Ifc4x2::IfcProjectedCRS::MapUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcNamedUnit>(true); } void Ifc4x2::IfcProjectedCRS::setMapUnit(::Ifc4x2::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -17257,13 +17437,13 @@ Ifc4x2::IfcPropertyAbstraction::IfcPropertyAbstraction(IfcEntityInstanceData* e) Ifc4x2::IfcPropertyAbstraction::IfcPropertyAbstraction() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcPropertyAbstraction_type); } // Function implementations for IfcPropertyBoundedValue -::Ifc4x2::IfcValue* Ifc4x2::IfcPropertyBoundedValue::UpperBoundValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcValue>(); } +::Ifc4x2::IfcValue* Ifc4x2::IfcPropertyBoundedValue::UpperBoundValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcValue>(true); } void Ifc4x2::IfcPropertyBoundedValue::setUpperBoundValue(::Ifc4x2::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x2::IfcValue* Ifc4x2::IfcPropertyBoundedValue::LowerBoundValue() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcValue>(); } +::Ifc4x2::IfcValue* Ifc4x2::IfcPropertyBoundedValue::LowerBoundValue() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcValue>(true); } void Ifc4x2::IfcPropertyBoundedValue::setLowerBoundValue(::Ifc4x2::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x2::IfcUnit* Ifc4x2::IfcPropertyBoundedValue::Unit() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcUnit>(); } +::Ifc4x2::IfcUnit* Ifc4x2::IfcPropertyBoundedValue::Unit() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcUnit>(true); } void Ifc4x2::IfcPropertyBoundedValue::setUnit(::Ifc4x2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x2::IfcValue* Ifc4x2::IfcPropertyBoundedValue::SetPointValue() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcValue>(); } +::Ifc4x2::IfcValue* Ifc4x2::IfcPropertyBoundedValue::SetPointValue() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcValue>(true); } void Ifc4x2::IfcPropertyBoundedValue::setSetPointValue(::Ifc4x2::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17283,9 +17463,9 @@ Ifc4x2::IfcPropertyDefinition::IfcPropertyDefinition(IfcEntityInstanceData* e) : Ifc4x2::IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcPropertyDefinition_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPropertyDependencyRelationship -::Ifc4x2::IfcProperty* Ifc4x2::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcProperty>(); } +::Ifc4x2::IfcProperty* Ifc4x2::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcProperty>(true); } void Ifc4x2::IfcPropertyDependencyRelationship::setDependingProperty(::Ifc4x2::IfcProperty* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x2::IfcProperty* Ifc4x2::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcProperty>(); } +::Ifc4x2::IfcProperty* Ifc4x2::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcProperty>(true); } void Ifc4x2::IfcPropertyDependencyRelationship::setDependantProperty(::Ifc4x2::IfcProperty* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcPropertyDependencyRelationship::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x2::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -17299,7 +17479,7 @@ Ifc4x2::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boo // Function implementations for IfcPropertyEnumeratedValue boost::optional< aggregate_of_instance::ptr > Ifc4x2::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } void Ifc4x2::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x2::IfcPropertyEnumeration* Ifc4x2::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcPropertyEnumeration>(); } +::Ifc4x2::IfcPropertyEnumeration* Ifc4x2::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcPropertyEnumeration>(true); } void Ifc4x2::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x2::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17313,7 +17493,7 @@ std::string Ifc4x2::IfcPropertyEnumeration::Name() const { std::string v = *dat void Ifc4x2::IfcPropertyEnumeration::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of_instance::ptr Ifc4x2::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4x2::IfcPropertyEnumeration::setEnumerationValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x2::IfcUnit* Ifc4x2::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcUnit>(); } +::Ifc4x2::IfcUnit* Ifc4x2::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcUnit>(true); } void Ifc4x2::IfcPropertyEnumeration::setUnit(::Ifc4x2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -17325,7 +17505,7 @@ Ifc4x2::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggr // Function implementations for IfcPropertyListValue boost::optional< aggregate_of_instance::ptr > Ifc4x2::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } void Ifc4x2::IfcPropertyListValue::setListValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x2::IfcUnit* Ifc4x2::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcUnit>(); } +::Ifc4x2::IfcUnit* Ifc4x2::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcUnit>(true); } void Ifc4x2::IfcPropertyListValue::setUnit(::Ifc4x2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17337,7 +17517,7 @@ Ifc4x2::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::o // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4x2::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x2::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x2::IfcObjectReferenceSelect* Ifc4x2::IfcPropertyReferenceValue::PropertyReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcObjectReferenceSelect>(); } +::Ifc4x2::IfcObjectReferenceSelect* Ifc4x2::IfcPropertyReferenceValue::PropertyReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcObjectReferenceSelect>(true); } void Ifc4x2::IfcPropertyReferenceValue::setPropertyReference(::Ifc4x2::IfcObjectReferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17383,9 +17563,9 @@ Ifc4x2::IfcPropertySetTemplate::IfcPropertySetTemplate(IfcEntityInstanceData* e) Ifc4x2::IfcPropertySetTemplate::IfcPropertySetTemplate(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x2::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_ApplicableEntity, aggregate_of< ::Ifc4x2::IfcPropertyTemplate >::ptr v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcPropertySetTemplate_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_TemplateType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v5_TemplateType,::Ifc4x2::IfcPropertySetTemplateTypeEnum::ToString(*v5_TemplateType))));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ApplicableEntity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ApplicableEntity));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_HasPropertyTemplates)->generalize());data_->setArgument(6,attr);} } // Function implementations for IfcPropertySingleValue -::Ifc4x2::IfcValue* Ifc4x2::IfcPropertySingleValue::NominalValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcValue>(); } +::Ifc4x2::IfcValue* Ifc4x2::IfcPropertySingleValue::NominalValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcValue>(true); } void Ifc4x2::IfcPropertySingleValue::setNominalValue(::Ifc4x2::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x2::IfcUnit* Ifc4x2::IfcPropertySingleValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcUnit>(); } +::Ifc4x2::IfcUnit* Ifc4x2::IfcPropertySingleValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcUnit>(true); } void Ifc4x2::IfcPropertySingleValue::setUnit(::Ifc4x2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17401,9 +17581,9 @@ boost::optional< aggregate_of_instance::ptr > Ifc4x2::IfcPropertyTableValue::Def void Ifc4x2::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x2::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc4x2::IfcUnit* Ifc4x2::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcUnit>(); } +::Ifc4x2::IfcUnit* Ifc4x2::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcUnit>(true); } void Ifc4x2::IfcPropertyTableValue::setDefiningUnit(::Ifc4x2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x2::IfcUnit* Ifc4x2::IfcPropertyTableValue::DefinedUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcUnit>(); } +::Ifc4x2::IfcUnit* Ifc4x2::IfcPropertyTableValue::DefinedUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcUnit>(true); } void Ifc4x2::IfcPropertyTableValue::setDefinedUnit(::Ifc4x2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4x2::IfcCurveInterpolationEnum::Value > Ifc4x2::IfcPropertyTableValue::CurveInterpolation() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x2::IfcCurveInterpolationEnum::FromString(*data_->getArgument(7)); } void Ifc4x2::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4x2::IfcCurveInterpolationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcCurveInterpolationEnum::ToString(*v)));data_->setArgument(7,attr);} } @@ -17705,7 +17885,7 @@ Ifc4x2::IfcRectangularPyramid::IfcRectangularPyramid(IfcEntityInstanceData* e) : Ifc4x2::IfcRectangularPyramid::IfcRectangularPyramid(::Ifc4x2::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRectangularPyramid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_XLength));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_YLength));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Height));data_->setArgument(3,attr);} } // Function implementations for IfcRectangularTrimmedSurface -::Ifc4x2::IfcSurface* Ifc4x2::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcSurface>(); } +::Ifc4x2::IfcSurface* Ifc4x2::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcSurface>(true); } void Ifc4x2::IfcRectangularTrimmedSurface::setBasisSurface(::Ifc4x2::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x2::IfcRectangularTrimmedSurface::U1() const { double v = *data_->getArgument(1); return v; } void Ifc4x2::IfcRectangularTrimmedSurface::setU1(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17759,7 +17939,7 @@ boost::optional< std::string > Ifc4x2::IfcReference::InstanceName() const { if(! void Ifc4x2::IfcReference::setInstanceName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x2::IfcReference::ListPositions() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } void Ifc4x2::IfcReference::setListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } -::Ifc4x2::IfcReference* Ifc4x2::IfcReference::InnerReference() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcReference>(); } +::Ifc4x2::IfcReference* Ifc4x2::IfcReference::InnerReference() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcReference>(true); } void Ifc4x2::IfcReference::setInnerReference(::Ifc4x2::IfcReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -17939,7 +18119,7 @@ Ifc4x2::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData* e) Ifc4x2::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< aggregate_of_instance::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x2::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcRelAggregates -::Ifc4x2::IfcObjectDefinition* Ifc4x2::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcObjectDefinition>(); } +::Ifc4x2::IfcObjectDefinition* Ifc4x2::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcObjectDefinition>(true); } void Ifc4x2::IfcRelAggregates::setRelatingObject(::Ifc4x2::IfcObjectDefinition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr Ifc4x2::IfcRelAggregates::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x2::IfcObjectDefinition >(); } void Ifc4x2::IfcRelAggregates::setRelatedObjects(aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -17963,9 +18143,9 @@ Ifc4x2::IfcRelAssigns::IfcRelAssigns(IfcEntityInstanceData* e) : IfcRelationship Ifc4x2::IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssigns_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x2::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } } // Function implementations for IfcRelAssignsToActor -::Ifc4x2::IfcActor* Ifc4x2::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcActor>(); } +::Ifc4x2::IfcActor* Ifc4x2::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcActor>(true); } void Ifc4x2::IfcRelAssignsToActor::setRelatingActor(::Ifc4x2::IfcActor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4x2::IfcActorRole* Ifc4x2::IfcRelAssignsToActor::ActingRole() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x2::IfcActorRole>(); } +::Ifc4x2::IfcActorRole* Ifc4x2::IfcRelAssignsToActor::ActingRole() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x2::IfcActorRole>(true); } void Ifc4x2::IfcRelAssignsToActor::setActingRole(::Ifc4x2::IfcActorRole* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -17975,7 +18155,7 @@ Ifc4x2::IfcRelAssignsToActor::IfcRelAssignsToActor(IfcEntityInstanceData* e) : I Ifc4x2::IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcActor* v7_RelatingActor, ::Ifc4x2::IfcActorRole* v8_ActingRole) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssignsToActor_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x2::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingActor));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_ActingRole));data_->setArgument(7,attr);} } // Function implementations for IfcRelAssignsToControl -::Ifc4x2::IfcControl* Ifc4x2::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcControl>(); } +::Ifc4x2::IfcControl* Ifc4x2::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcControl>(true); } void Ifc4x2::IfcRelAssignsToControl::setRelatingControl(::Ifc4x2::IfcControl* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -17985,7 +18165,7 @@ Ifc4x2::IfcRelAssignsToControl::IfcRelAssignsToControl(IfcEntityInstanceData* e) Ifc4x2::IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcControl* v7_RelatingControl) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssignsToControl_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x2::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingControl));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssignsToGroup -::Ifc4x2::IfcGroup* Ifc4x2::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcGroup>(); } +::Ifc4x2::IfcGroup* Ifc4x2::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcGroup>(true); } void Ifc4x2::IfcRelAssignsToGroup::setRelatingGroup(::Ifc4x2::IfcGroup* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -18005,9 +18185,9 @@ Ifc4x2::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(IfcEntityInst Ifc4x2::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcGroup* v7_RelatingGroup, double v8_Factor) : IfcRelAssignsToGroup((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssignsToGroupByFactor_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x2::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingGroup));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Factor));data_->setArgument(7,attr);} } // Function implementations for IfcRelAssignsToProcess -::Ifc4x2::IfcProcessSelect* Ifc4x2::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcProcessSelect>(); } +::Ifc4x2::IfcProcessSelect* Ifc4x2::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcProcessSelect>(true); } void Ifc4x2::IfcRelAssignsToProcess::setRelatingProcess(::Ifc4x2::IfcProcessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4x2::IfcMeasureWithUnit* Ifc4x2::IfcRelAssignsToProcess::QuantityInProcess() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x2::IfcMeasureWithUnit>(); } +::Ifc4x2::IfcMeasureWithUnit* Ifc4x2::IfcRelAssignsToProcess::QuantityInProcess() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x2::IfcMeasureWithUnit>(true); } void Ifc4x2::IfcRelAssignsToProcess::setQuantityInProcess(::Ifc4x2::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -18017,7 +18197,7 @@ Ifc4x2::IfcRelAssignsToProcess::IfcRelAssignsToProcess(IfcEntityInstanceData* e) Ifc4x2::IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcProcessSelect* v7_RelatingProcess, ::Ifc4x2::IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssignsToProcess_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x2::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingProcess));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_QuantityInProcess));data_->setArgument(7,attr);} } // Function implementations for IfcRelAssignsToProduct -::Ifc4x2::IfcProductSelect* Ifc4x2::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcProductSelect>(); } +::Ifc4x2::IfcProductSelect* Ifc4x2::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcProductSelect>(true); } void Ifc4x2::IfcRelAssignsToProduct::setRelatingProduct(::Ifc4x2::IfcProductSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -18027,7 +18207,7 @@ Ifc4x2::IfcRelAssignsToProduct::IfcRelAssignsToProduct(IfcEntityInstanceData* e) Ifc4x2::IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcProductSelect* v7_RelatingProduct) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssignsToProduct_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x2::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingProduct));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssignsToResource -::Ifc4x2::IfcResourceSelect* Ifc4x2::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcResourceSelect>(); } +::Ifc4x2::IfcResourceSelect* Ifc4x2::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcResourceSelect>(true); } void Ifc4x2::IfcRelAssignsToResource::setRelatingResource(::Ifc4x2::IfcResourceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -18047,7 +18227,7 @@ Ifc4x2::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData* e) : IfcRelati Ifc4x2::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } // Function implementations for IfcRelAssociatesApproval -::Ifc4x2::IfcApproval* Ifc4x2::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcApproval>(); } +::Ifc4x2::IfcApproval* Ifc4x2::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcApproval>(true); } void Ifc4x2::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x2::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -18057,7 +18237,7 @@ Ifc4x2::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData Ifc4x2::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x2::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesClassification -::Ifc4x2::IfcClassificationSelect* Ifc4x2::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcClassificationSelect>(); } +::Ifc4x2::IfcClassificationSelect* Ifc4x2::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcClassificationSelect>(true); } void Ifc4x2::IfcRelAssociatesClassification::setRelatingClassification(::Ifc4x2::IfcClassificationSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -18069,7 +18249,7 @@ Ifc4x2::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::stri // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4x2::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x2::IfcRelAssociatesConstraint::setIntent(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4x2::IfcConstraint* Ifc4x2::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcConstraint>(); } +::Ifc4x2::IfcConstraint* Ifc4x2::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcConstraint>(true); } void Ifc4x2::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x2::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -18079,7 +18259,7 @@ Ifc4x2::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstance Ifc4x2::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x2::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociatesDocument -::Ifc4x2::IfcDocumentSelect* Ifc4x2::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcDocumentSelect>(); } +::Ifc4x2::IfcDocumentSelect* Ifc4x2::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcDocumentSelect>(true); } void Ifc4x2::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x2::IfcDocumentSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -18089,7 +18269,7 @@ Ifc4x2::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData Ifc4x2::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x2::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesLibrary -::Ifc4x2::IfcLibrarySelect* Ifc4x2::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcLibrarySelect>(); } +::Ifc4x2::IfcLibrarySelect* Ifc4x2::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcLibrarySelect>(true); } void Ifc4x2::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x2::IfcLibrarySelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -18099,7 +18279,7 @@ Ifc4x2::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData* Ifc4x2::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x2::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesMaterial -::Ifc4x2::IfcMaterialSelect* Ifc4x2::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcMaterialSelect>(); } +::Ifc4x2::IfcMaterialSelect* Ifc4x2::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcMaterialSelect>(true); } void Ifc4x2::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x2::IfcMaterialSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -18117,11 +18297,11 @@ Ifc4x2::IfcRelConnects::IfcRelConnects(IfcEntityInstanceData* e) : IfcRelationsh Ifc4x2::IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelConnects_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcRelConnectsElements -::Ifc4x2::IfcConnectionGeometry* Ifc4x2::IfcRelConnectsElements::ConnectionGeometry() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcConnectionGeometry>(); } +::Ifc4x2::IfcConnectionGeometry* Ifc4x2::IfcRelConnectsElements::ConnectionGeometry() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcConnectionGeometry>(true); } void Ifc4x2::IfcRelConnectsElements::setConnectionGeometry(::Ifc4x2::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x2::IfcElement* Ifc4x2::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcElement>(); } +::Ifc4x2::IfcElement* Ifc4x2::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcElement>(true); } void Ifc4x2::IfcRelConnectsElements::setRelatingElement(::Ifc4x2::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x2::IfcElement* Ifc4x2::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcElement>(); } +::Ifc4x2::IfcElement* Ifc4x2::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcElement>(true); } void Ifc4x2::IfcRelConnectsElements::setRelatedElement(::Ifc4x2::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -18147,9 +18327,9 @@ Ifc4x2::IfcRelConnectsPathElements::IfcRelConnectsPathElements(IfcEntityInstance Ifc4x2::IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x2::IfcElement* v6_RelatingElement, ::Ifc4x2::IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x2::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x2::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) : IfcRelConnectsElements((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelConnectsPathElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ConnectionGeometry));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatedElement));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_RelatingPriorities));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_RelatedPriorities));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_RelatedConnectionType,::Ifc4x2::IfcConnectionTypeEnum::ToString(v10_RelatedConnectionType))));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v11_RelatingConnectionType,::Ifc4x2::IfcConnectionTypeEnum::ToString(v11_RelatingConnectionType))));data_->setArgument(10,attr);} } // Function implementations for IfcRelConnectsPortToElement -::Ifc4x2::IfcPort* Ifc4x2::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcPort>(); } +::Ifc4x2::IfcPort* Ifc4x2::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcPort>(true); } void Ifc4x2::IfcRelConnectsPortToElement::setRelatingPort(::Ifc4x2::IfcPort* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x2::IfcDistributionElement* Ifc4x2::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcDistributionElement>(); } +::Ifc4x2::IfcDistributionElement* Ifc4x2::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcDistributionElement>(true); } void Ifc4x2::IfcRelConnectsPortToElement::setRelatedElement(::Ifc4x2::IfcDistributionElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -18159,11 +18339,11 @@ Ifc4x2::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(IfcEntityInstan Ifc4x2::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcPort* v5_RelatingPort, ::Ifc4x2::IfcDistributionElement* v6_RelatedElement) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelConnectsPortToElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingPort));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnectsPorts -::Ifc4x2::IfcPort* Ifc4x2::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcPort>(); } +::Ifc4x2::IfcPort* Ifc4x2::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcPort>(true); } void Ifc4x2::IfcRelConnectsPorts::setRelatingPort(::Ifc4x2::IfcPort* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x2::IfcPort* Ifc4x2::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcPort>(); } +::Ifc4x2::IfcPort* Ifc4x2::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcPort>(true); } void Ifc4x2::IfcRelConnectsPorts::setRelatedPort(::Ifc4x2::IfcPort* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x2::IfcElement* Ifc4x2::IfcRelConnectsPorts::RealizingElement() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcElement>(); } +::Ifc4x2::IfcElement* Ifc4x2::IfcRelConnectsPorts::RealizingElement() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcElement>(true); } void Ifc4x2::IfcRelConnectsPorts::setRealizingElement(::Ifc4x2::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -18173,9 +18353,9 @@ Ifc4x2::IfcRelConnectsPorts::IfcRelConnectsPorts(IfcEntityInstanceData* e) : Ifc Ifc4x2::IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcPort* v5_RelatingPort, ::Ifc4x2::IfcPort* v6_RelatedPort, ::Ifc4x2::IfcElement* v7_RealizingElement) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelConnectsPorts_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingPort));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedPort));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RealizingElement));data_->setArgument(6,attr);} } // Function implementations for IfcRelConnectsStructuralActivity -::Ifc4x2::IfcStructuralActivityAssignmentSelect* Ifc4x2::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcStructuralActivityAssignmentSelect>(); } +::Ifc4x2::IfcStructuralActivityAssignmentSelect* Ifc4x2::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcStructuralActivityAssignmentSelect>(true); } void Ifc4x2::IfcRelConnectsStructuralActivity::setRelatingElement(::Ifc4x2::IfcStructuralActivityAssignmentSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x2::IfcStructuralActivity* Ifc4x2::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcStructuralActivity>(); } +::Ifc4x2::IfcStructuralActivity* Ifc4x2::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcStructuralActivity>(true); } void Ifc4x2::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(::Ifc4x2::IfcStructuralActivity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -18185,17 +18365,17 @@ Ifc4x2::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(IfcEn Ifc4x2::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcStructuralActivityAssignmentSelect* v5_RelatingElement, ::Ifc4x2::IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelConnectsStructuralActivity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedStructuralActivity));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnectsStructuralMember -::Ifc4x2::IfcStructuralMember* Ifc4x2::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcStructuralMember>(); } +::Ifc4x2::IfcStructuralMember* Ifc4x2::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcStructuralMember>(true); } void Ifc4x2::IfcRelConnectsStructuralMember::setRelatingStructuralMember(::Ifc4x2::IfcStructuralMember* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x2::IfcStructuralConnection* Ifc4x2::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcStructuralConnection>(); } +::Ifc4x2::IfcStructuralConnection* Ifc4x2::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcStructuralConnection>(true); } void Ifc4x2::IfcRelConnectsStructuralMember::setRelatedStructuralConnection(::Ifc4x2::IfcStructuralConnection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x2::IfcBoundaryCondition* Ifc4x2::IfcRelConnectsStructuralMember::AppliedCondition() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcBoundaryCondition>(); } +::Ifc4x2::IfcBoundaryCondition* Ifc4x2::IfcRelConnectsStructuralMember::AppliedCondition() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcBoundaryCondition>(true); } void Ifc4x2::IfcRelConnectsStructuralMember::setAppliedCondition(::Ifc4x2::IfcBoundaryCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4x2::IfcStructuralConnectionCondition* Ifc4x2::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x2::IfcStructuralConnectionCondition>(); } +::Ifc4x2::IfcStructuralConnectionCondition* Ifc4x2::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x2::IfcStructuralConnectionCondition>(true); } void Ifc4x2::IfcRelConnectsStructuralMember::setAdditionalConditions(::Ifc4x2::IfcStructuralConnectionCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< double > Ifc4x2::IfcRelConnectsStructuralMember::SupportedLength() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } void Ifc4x2::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } -::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x2::IfcAxis2Placement3D>(); } +::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x2::IfcAxis2Placement3D>(true); } void Ifc4x2::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(::Ifc4x2::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -18205,7 +18385,7 @@ Ifc4x2::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(IfcEntity Ifc4x2::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x2::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x2::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x2::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x2::IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelConnectsStructuralMember_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingStructuralMember));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedStructuralConnection));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_AppliedCondition));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AdditionalConditions));data_->setArgument(7,attr);} if (v9_SupportedLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_SupportedLength));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_ConditionCoordinateSystem));data_->setArgument(9,attr);} } // Function implementations for IfcRelConnectsWithEccentricity -::Ifc4x2::IfcConnectionGeometry* Ifc4x2::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x2::IfcConnectionGeometry>(); } +::Ifc4x2::IfcConnectionGeometry* Ifc4x2::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x2::IfcConnectionGeometry>(true); } void Ifc4x2::IfcRelConnectsWithEccentricity::setConnectionConstraint(::Ifc4x2::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -18229,7 +18409,7 @@ Ifc4x2::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements // Function implementations for IfcRelContainedInSpatialStructure aggregate_of< ::Ifc4x2::IfcProduct >::ptr Ifc4x2::IfcRelContainedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x2::IfcProduct >(); } void Ifc4x2::IfcRelContainedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x2::IfcProduct >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x2::IfcSpatialElement* Ifc4x2::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcSpatialElement>(); } +::Ifc4x2::IfcSpatialElement* Ifc4x2::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcSpatialElement>(true); } void Ifc4x2::IfcRelContainedInSpatialStructure::setRelatingStructure(::Ifc4x2::IfcSpatialElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -18239,7 +18419,7 @@ Ifc4x2::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(Ifc Ifc4x2::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcProduct >::ptr v5_RelatedElements, ::Ifc4x2::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelContainedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } // Function implementations for IfcRelCoversBldgElements -::Ifc4x2::IfcElement* Ifc4x2::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcElement>(); } +::Ifc4x2::IfcElement* Ifc4x2::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcElement>(true); } void Ifc4x2::IfcRelCoversBldgElements::setRelatingBuildingElement(::Ifc4x2::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x2::IfcCovering >::ptr Ifc4x2::IfcRelCoversBldgElements::RelatedCoverings() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x2::IfcCovering >(); } void Ifc4x2::IfcRelCoversBldgElements::setRelatedCoverings(aggregate_of< ::Ifc4x2::IfcCovering >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -18251,7 +18431,7 @@ Ifc4x2::IfcRelCoversBldgElements::IfcRelCoversBldgElements(IfcEntityInstanceData Ifc4x2::IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcElement* v5_RelatingBuildingElement, aggregate_of< ::Ifc4x2::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelCoversBldgElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingBuildingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedCoverings)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelCoversSpaces -::Ifc4x2::IfcSpace* Ifc4x2::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcSpace>(); } +::Ifc4x2::IfcSpace* Ifc4x2::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcSpace>(true); } void Ifc4x2::IfcRelCoversSpaces::setRelatingSpace(::Ifc4x2::IfcSpace* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x2::IfcCovering >::ptr Ifc4x2::IfcRelCoversSpaces::RelatedCoverings() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x2::IfcCovering >(); } void Ifc4x2::IfcRelCoversSpaces::setRelatedCoverings(aggregate_of< ::Ifc4x2::IfcCovering >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -18263,7 +18443,7 @@ Ifc4x2::IfcRelCoversSpaces::IfcRelCoversSpaces(IfcEntityInstanceData* e) : IfcRe Ifc4x2::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcSpace* v5_RelatingSpace, aggregate_of< ::Ifc4x2::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelCoversSpaces_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSpace));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedCoverings)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelDeclares -::Ifc4x2::IfcContext* Ifc4x2::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcContext>(); } +::Ifc4x2::IfcContext* Ifc4x2::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcContext>(true); } void Ifc4x2::IfcRelDeclares::setRelatingContext(::Ifc4x2::IfcContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of_instance::ptr Ifc4x2::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr v = *data_->getArgument(5); return v; } void Ifc4x2::IfcRelDeclares::setRelatedDefinitions(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -18293,7 +18473,7 @@ Ifc4x2::IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, ::Ifc4x2::IfcOwner // Function implementations for IfcRelDefinesByObject aggregate_of< ::Ifc4x2::IfcObject >::ptr Ifc4x2::IfcRelDefinesByObject::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x2::IfcObject >(); } void Ifc4x2::IfcRelDefinesByObject::setRelatedObjects(aggregate_of< ::Ifc4x2::IfcObject >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x2::IfcObject* Ifc4x2::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcObject>(); } +::Ifc4x2::IfcObject* Ifc4x2::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcObject>(true); } void Ifc4x2::IfcRelDefinesByObject::setRelatingObject(::Ifc4x2::IfcObject* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -18305,7 +18485,7 @@ Ifc4x2::IfcRelDefinesByObject::IfcRelDefinesByObject(std::string v1_GlobalId, :: // Function implementations for IfcRelDefinesByProperties aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr Ifc4x2::IfcRelDefinesByProperties::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x2::IfcObjectDefinition >(); } void Ifc4x2::IfcRelDefinesByProperties::setRelatedObjects(aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x2::IfcPropertySetDefinitionSelect* Ifc4x2::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcPropertySetDefinitionSelect>(); } +::Ifc4x2::IfcPropertySetDefinitionSelect* Ifc4x2::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcPropertySetDefinitionSelect>(true); } void Ifc4x2::IfcRelDefinesByProperties::setRelatingPropertyDefinition(::Ifc4x2::IfcPropertySetDefinitionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -18317,7 +18497,7 @@ Ifc4x2::IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_Glob // Function implementations for IfcRelDefinesByTemplate aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr Ifc4x2::IfcRelDefinesByTemplate::RelatedPropertySets() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x2::IfcPropertySetDefinition >(); } void Ifc4x2::IfcRelDefinesByTemplate::setRelatedPropertySets(aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x2::IfcPropertySetTemplate* Ifc4x2::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcPropertySetTemplate>(); } +::Ifc4x2::IfcPropertySetTemplate* Ifc4x2::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcPropertySetTemplate>(true); } void Ifc4x2::IfcRelDefinesByTemplate::setRelatingTemplate(::Ifc4x2::IfcPropertySetTemplate* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -18329,7 +18509,7 @@ Ifc4x2::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(std::string v1_GlobalId // Function implementations for IfcRelDefinesByType aggregate_of< ::Ifc4x2::IfcObject >::ptr Ifc4x2::IfcRelDefinesByType::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x2::IfcObject >(); } void Ifc4x2::IfcRelDefinesByType::setRelatedObjects(aggregate_of< ::Ifc4x2::IfcObject >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x2::IfcTypeObject* Ifc4x2::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcTypeObject>(); } +::Ifc4x2::IfcTypeObject* Ifc4x2::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcTypeObject>(true); } void Ifc4x2::IfcRelDefinesByType::setRelatingType(::Ifc4x2::IfcTypeObject* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -18339,9 +18519,9 @@ Ifc4x2::IfcRelDefinesByType::IfcRelDefinesByType(IfcEntityInstanceData* e) : Ifc Ifc4x2::IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x2::IfcTypeObject* v6_RelatingType) : IfcRelDefines((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelDefinesByType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingType));data_->setArgument(5,attr);} } // Function implementations for IfcRelFillsElement -::Ifc4x2::IfcOpeningElement* Ifc4x2::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcOpeningElement>(); } +::Ifc4x2::IfcOpeningElement* Ifc4x2::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcOpeningElement>(true); } void Ifc4x2::IfcRelFillsElement::setRelatingOpeningElement(::Ifc4x2::IfcOpeningElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x2::IfcElement* Ifc4x2::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcElement>(); } +::Ifc4x2::IfcElement* Ifc4x2::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcElement>(true); } void Ifc4x2::IfcRelFillsElement::setRelatedBuildingElement(::Ifc4x2::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -18353,7 +18533,7 @@ Ifc4x2::IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, ::Ifc4x2 // Function implementations for IfcRelFlowControlElements aggregate_of< ::Ifc4x2::IfcDistributionControlElement >::ptr Ifc4x2::IfcRelFlowControlElements::RelatedControlElements() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x2::IfcDistributionControlElement >(); } void Ifc4x2::IfcRelFlowControlElements::setRelatedControlElements(aggregate_of< ::Ifc4x2::IfcDistributionControlElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x2::IfcDistributionFlowElement* Ifc4x2::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcDistributionFlowElement>(); } +::Ifc4x2::IfcDistributionFlowElement* Ifc4x2::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcDistributionFlowElement>(true); } void Ifc4x2::IfcRelFlowControlElements::setRelatingFlowElement(::Ifc4x2::IfcDistributionFlowElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -18363,11 +18543,11 @@ Ifc4x2::IfcRelFlowControlElements::IfcRelFlowControlElements(IfcEntityInstanceDa Ifc4x2::IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDistributionControlElement >::ptr v5_RelatedControlElements, ::Ifc4x2::IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelFlowControlElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedControlElements)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingFlowElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelInterferesElements -::Ifc4x2::IfcElement* Ifc4x2::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcElement>(); } +::Ifc4x2::IfcElement* Ifc4x2::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcElement>(true); } void Ifc4x2::IfcRelInterferesElements::setRelatingElement(::Ifc4x2::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x2::IfcElement* Ifc4x2::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcElement>(); } +::Ifc4x2::IfcElement* Ifc4x2::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcElement>(true); } void Ifc4x2::IfcRelInterferesElements::setRelatedElement(::Ifc4x2::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x2::IfcConnectionGeometry* Ifc4x2::IfcRelInterferesElements::InterferenceGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcConnectionGeometry>(); } +::Ifc4x2::IfcConnectionGeometry* Ifc4x2::IfcRelInterferesElements::InterferenceGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcConnectionGeometry>(true); } void Ifc4x2::IfcRelInterferesElements::setInterferenceGeometry(::Ifc4x2::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x2::IfcRelInterferesElements::InterferenceType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } void Ifc4x2::IfcRelInterferesElements::setInterferenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } @@ -18381,7 +18561,7 @@ Ifc4x2::IfcRelInterferesElements::IfcRelInterferesElements(IfcEntityInstanceData Ifc4x2::IfcRelInterferesElements::IfcRelInterferesElements(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcElement* v5_RelatingElement, ::Ifc4x2::IfcElement* v6_RelatedElement, ::Ifc4x2::IfcConnectionGeometry* v7_InterferenceGeometry, boost::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelInterferesElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_InterferenceGeometry));data_->setArgument(6,attr);} if (v8_InterferenceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_InterferenceType));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_ImpliedOrder));data_->setArgument(8,attr);} } // Function implementations for IfcRelNests -::Ifc4x2::IfcObjectDefinition* Ifc4x2::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcObjectDefinition>(); } +::Ifc4x2::IfcObjectDefinition* Ifc4x2::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcObjectDefinition>(true); } void Ifc4x2::IfcRelNests::setRelatingObject(::Ifc4x2::IfcObjectDefinition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr Ifc4x2::IfcRelNests::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x2::IfcObjectDefinition >(); } void Ifc4x2::IfcRelNests::setRelatedObjects(aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -18393,7 +18573,7 @@ Ifc4x2::IfcRelNests::IfcRelNests(IfcEntityInstanceData* e) : IfcRelDecomposes((I Ifc4x2::IfcRelNests::IfcRelNests(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelNests_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingObject));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedObjects)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelPositions -::Ifc4x2::IfcPositioningElement* Ifc4x2::IfcRelPositions::RelatingPositioningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcPositioningElement>(); } +::Ifc4x2::IfcPositioningElement* Ifc4x2::IfcRelPositions::RelatingPositioningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcPositioningElement>(true); } void Ifc4x2::IfcRelPositions::setRelatingPositioningElement(::Ifc4x2::IfcPositioningElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x2::IfcProduct >::ptr Ifc4x2::IfcRelPositions::RelatedProducts() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x2::IfcProduct >(); } void Ifc4x2::IfcRelPositions::setRelatedProducts(aggregate_of< ::Ifc4x2::IfcProduct >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -18405,9 +18585,9 @@ Ifc4x2::IfcRelPositions::IfcRelPositions(IfcEntityInstanceData* e) : IfcRelConne Ifc4x2::IfcRelPositions::IfcRelPositions(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcPositioningElement* v5_RelatingPositioningElement, aggregate_of< ::Ifc4x2::IfcProduct >::ptr v6_RelatedProducts) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelPositions_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingPositioningElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedProducts)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelProjectsElement -::Ifc4x2::IfcElement* Ifc4x2::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcElement>(); } +::Ifc4x2::IfcElement* Ifc4x2::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcElement>(true); } void Ifc4x2::IfcRelProjectsElement::setRelatingElement(::Ifc4x2::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x2::IfcFeatureElementAddition* Ifc4x2::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcFeatureElementAddition>(); } +::Ifc4x2::IfcFeatureElementAddition* Ifc4x2::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcFeatureElementAddition>(true); } void Ifc4x2::IfcRelProjectsElement::setRelatedFeatureElement(::Ifc4x2::IfcFeatureElementAddition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -18419,7 +18599,7 @@ Ifc4x2::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, :: // Function implementations for IfcRelReferencedInSpatialStructure aggregate_of< ::Ifc4x2::IfcProduct >::ptr Ifc4x2::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x2::IfcProduct >(); } void Ifc4x2::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x2::IfcProduct >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x2::IfcSpatialElement* Ifc4x2::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcSpatialElement>(); } +::Ifc4x2::IfcSpatialElement* Ifc4x2::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcSpatialElement>(true); } void Ifc4x2::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4x2::IfcSpatialElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -18429,11 +18609,11 @@ Ifc4x2::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(I Ifc4x2::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcProduct >::ptr v5_RelatedElements, ::Ifc4x2::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } // Function implementations for IfcRelSequence -::Ifc4x2::IfcProcess* Ifc4x2::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcProcess>(); } +::Ifc4x2::IfcProcess* Ifc4x2::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcProcess>(true); } void Ifc4x2::IfcRelSequence::setRelatingProcess(::Ifc4x2::IfcProcess* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x2::IfcProcess* Ifc4x2::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcProcess>(); } +::Ifc4x2::IfcProcess* Ifc4x2::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcProcess>(true); } void Ifc4x2::IfcRelSequence::setRelatedProcess(::Ifc4x2::IfcProcess* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x2::IfcLagTime* Ifc4x2::IfcRelSequence::TimeLag() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcLagTime>(); } +::Ifc4x2::IfcLagTime* Ifc4x2::IfcRelSequence::TimeLag() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcLagTime>(true); } void Ifc4x2::IfcRelSequence::setTimeLag(::Ifc4x2::IfcLagTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4x2::IfcSequenceEnum::Value > Ifc4x2::IfcRelSequence::SequenceType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x2::IfcSequenceEnum::FromString(*data_->getArgument(7)); } void Ifc4x2::IfcRelSequence::setSequenceType(boost::optional< ::Ifc4x2::IfcSequenceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcSequenceEnum::ToString(*v)));data_->setArgument(7,attr);} } @@ -18447,7 +18627,7 @@ Ifc4x2::IfcRelSequence::IfcRelSequence(IfcEntityInstanceData* e) : IfcRelConnect Ifc4x2::IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcProcess* v5_RelatingProcess, ::Ifc4x2::IfcProcess* v6_RelatedProcess, ::Ifc4x2::IfcLagTime* v7_TimeLag, boost::optional< ::Ifc4x2::IfcSequenceEnum::Value > v8_SequenceType, boost::optional< std::string > v9_UserDefinedSequenceType) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelSequence_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingProcess));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedProcess));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_TimeLag));data_->setArgument(6,attr);} if (v8_SequenceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_SequenceType,::Ifc4x2::IfcSequenceEnum::ToString(*v8_SequenceType))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_UserDefinedSequenceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_UserDefinedSequenceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcRelServicesBuildings -::Ifc4x2::IfcSystem* Ifc4x2::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcSystem>(); } +::Ifc4x2::IfcSystem* Ifc4x2::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcSystem>(true); } void Ifc4x2::IfcRelServicesBuildings::setRelatingSystem(::Ifc4x2::IfcSystem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x2::IfcSpatialElement >::ptr Ifc4x2::IfcRelServicesBuildings::RelatedBuildings() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x2::IfcSpatialElement >(); } void Ifc4x2::IfcRelServicesBuildings::setRelatedBuildings(aggregate_of< ::Ifc4x2::IfcSpatialElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -18459,11 +18639,11 @@ Ifc4x2::IfcRelServicesBuildings::IfcRelServicesBuildings(IfcEntityInstanceData* Ifc4x2::IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcSystem* v5_RelatingSystem, aggregate_of< ::Ifc4x2::IfcSpatialElement >::ptr v6_RelatedBuildings) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelServicesBuildings_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSystem));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildings)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelSpaceBoundary -::Ifc4x2::IfcSpaceBoundarySelect* Ifc4x2::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcSpaceBoundarySelect>(); } +::Ifc4x2::IfcSpaceBoundarySelect* Ifc4x2::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcSpaceBoundarySelect>(true); } void Ifc4x2::IfcRelSpaceBoundary::setRelatingSpace(::Ifc4x2::IfcSpaceBoundarySelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x2::IfcElement* Ifc4x2::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcElement>(); } +::Ifc4x2::IfcElement* Ifc4x2::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcElement>(true); } void Ifc4x2::IfcRelSpaceBoundary::setRelatedBuildingElement(::Ifc4x2::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x2::IfcConnectionGeometry* Ifc4x2::IfcRelSpaceBoundary::ConnectionGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcConnectionGeometry>(); } +::Ifc4x2::IfcConnectionGeometry* Ifc4x2::IfcRelSpaceBoundary::ConnectionGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcConnectionGeometry>(true); } void Ifc4x2::IfcRelSpaceBoundary::setConnectionGeometry(::Ifc4x2::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } ::Ifc4x2::IfcPhysicalOrVirtualEnum::Value Ifc4x2::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4x2::IfcPhysicalOrVirtualEnum::FromString(*data_->getArgument(7)); } void Ifc4x2::IfcRelSpaceBoundary::setPhysicalOrVirtualBoundary(::Ifc4x2::IfcPhysicalOrVirtualEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcPhysicalOrVirtualEnum::ToString(v)));data_->setArgument(7,attr);} } @@ -18477,7 +18657,7 @@ Ifc4x2::IfcRelSpaceBoundary::IfcRelSpaceBoundary(IfcEntityInstanceData* e) : Ifc Ifc4x2::IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x2::IfcElement* v6_RelatedBuildingElement, ::Ifc4x2::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelSpaceBoundary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSpace));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConnectionGeometry));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_PhysicalOrVirtualBoundary,::Ifc4x2::IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_InternalOrExternalBoundary,::Ifc4x2::IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary))));data_->setArgument(8,attr);} } // Function implementations for IfcRelSpaceBoundary1stLevel -::Ifc4x2::IfcRelSpaceBoundary1stLevel* Ifc4x2::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x2::IfcRelSpaceBoundary1stLevel>(); } +::Ifc4x2::IfcRelSpaceBoundary1stLevel* Ifc4x2::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x2::IfcRelSpaceBoundary1stLevel>(true); } void Ifc4x2::IfcRelSpaceBoundary1stLevel::setParentBoundary(::Ifc4x2::IfcRelSpaceBoundary1stLevel* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } ::Ifc4x2::IfcRelSpaceBoundary1stLevel::list::ptr Ifc4x2::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return data_->getInverse(IFC4X2_IfcRelSpaceBoundary1stLevel_type, 9)->as(); } @@ -18488,7 +18668,7 @@ Ifc4x2::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(IfcEntityInstan Ifc4x2::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x2::IfcElement* v6_RelatedBuildingElement, ::Ifc4x2::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x2::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary) : IfcRelSpaceBoundary((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelSpaceBoundary1stLevel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSpace));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConnectionGeometry));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_PhysicalOrVirtualBoundary,::Ifc4x2::IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_InternalOrExternalBoundary,::Ifc4x2::IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_ParentBoundary));data_->setArgument(9,attr);} } // Function implementations for IfcRelSpaceBoundary2ndLevel -::Ifc4x2::IfcRelSpaceBoundary2ndLevel* Ifc4x2::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x2::IfcRelSpaceBoundary2ndLevel>(); } +::Ifc4x2::IfcRelSpaceBoundary2ndLevel* Ifc4x2::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x2::IfcRelSpaceBoundary2ndLevel>(true); } void Ifc4x2::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(::Ifc4x2::IfcRelSpaceBoundary2ndLevel* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } ::Ifc4x2::IfcRelSpaceBoundary2ndLevel::list::ptr Ifc4x2::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return data_->getInverse(IFC4X2_IfcRelSpaceBoundary2ndLevel_type, 10)->as(); } @@ -18499,9 +18679,9 @@ Ifc4x2::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(IfcEntityInstan Ifc4x2::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x2::IfcElement* v6_RelatedBuildingElement, ::Ifc4x2::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x2::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, ::Ifc4x2::IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary) : IfcRelSpaceBoundary1stLevel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRelSpaceBoundary2ndLevel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSpace));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConnectionGeometry));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_PhysicalOrVirtualBoundary,::Ifc4x2::IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_InternalOrExternalBoundary,::Ifc4x2::IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_ParentBoundary));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_CorrespondingBoundary));data_->setArgument(10,attr);} } // Function implementations for IfcRelVoidsElement -::Ifc4x2::IfcElement* Ifc4x2::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcElement>(); } +::Ifc4x2::IfcElement* Ifc4x2::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcElement>(true); } void Ifc4x2::IfcRelVoidsElement::setRelatingBuildingElement(::Ifc4x2::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x2::IfcFeatureElementSubtraction* Ifc4x2::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcFeatureElementSubtraction>(); } +::Ifc4x2::IfcFeatureElementSubtraction* Ifc4x2::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcFeatureElementSubtraction>(true); } void Ifc4x2::IfcRelVoidsElement::setRelatedOpeningElement(::Ifc4x2::IfcFeatureElementSubtraction* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -18529,7 +18709,7 @@ Ifc4x2::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveS Ifc4x2::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(::Ifc4x2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x2::IfcCurve* v3_ParentCurve, double v4_ParamLength) : IfcCompositeCurveSegment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcReparametrisedCompositeCurveSegment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_Transition,::Ifc4x2::IfcTransitionCode::ToString(v1_Transition))));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SameSense));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ParentCurve));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ParamLength));data_->setArgument(3,attr);} } // Function implementations for IfcRepresentation -::Ifc4x2::IfcRepresentationContext* Ifc4x2::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcRepresentationContext>(); } +::Ifc4x2::IfcRepresentationContext* Ifc4x2::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcRepresentationContext>(true); } void Ifc4x2::IfcRepresentation::setContextOfItems(::Ifc4x2::IfcRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcRepresentation::RepresentationIdentifier() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x2::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } @@ -18571,9 +18751,9 @@ Ifc4x2::IfcRepresentationItem::IfcRepresentationItem(IfcEntityInstanceData* e) : Ifc4x2::IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X2_IfcRepresentationItem_type); } // Function implementations for IfcRepresentationMap -::Ifc4x2::IfcAxis2Placement* Ifc4x2::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcAxis2Placement>(); } +::Ifc4x2::IfcAxis2Placement* Ifc4x2::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcAxis2Placement>(true); } void Ifc4x2::IfcRepresentationMap::setMappingOrigin(::Ifc4x2::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x2::IfcRepresentation* Ifc4x2::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcRepresentation>(); } +::Ifc4x2::IfcRepresentation* Ifc4x2::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcRepresentation>(true); } void Ifc4x2::IfcRepresentationMap::setMappedRepresentation(::Ifc4x2::IfcRepresentation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4x2::IfcShapeAspect::list::ptr Ifc4x2::IfcRepresentationMap::HasShapeAspects() const { return data_->getInverse(IFC4X2_IfcShapeAspect_type, 4)->as(); } @@ -18600,7 +18780,7 @@ Ifc4x2::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHist // Function implementations for IfcResourceApprovalRelationship aggregate_of_instance::ptr Ifc4x2::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } void Ifc4x2::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x2::IfcApproval* Ifc4x2::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcApproval>(); } +::Ifc4x2::IfcApproval* Ifc4x2::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcApproval>(true); } void Ifc4x2::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x2::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -18610,7 +18790,7 @@ Ifc4x2::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEnti Ifc4x2::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_RelatedResourceObjects, ::Ifc4x2::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } // Function implementations for IfcResourceConstraintRelationship -::Ifc4x2::IfcConstraint* Ifc4x2::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcConstraint>(); } +::Ifc4x2::IfcConstraint* Ifc4x2::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcConstraint>(true); } void Ifc4x2::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x2::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of_instance::ptr Ifc4x2::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } void Ifc4x2::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -18672,7 +18852,7 @@ Ifc4x2::IfcResourceTime::IfcResourceTime(IfcEntityInstanceData* e) : IfcScheduli Ifc4x2::IfcResourceTime::IfcResourceTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< std::string > v4_ScheduleWork, boost::optional< double > v5_ScheduleUsage, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_ScheduleContour, boost::optional< std::string > v9_LevelingDelay, boost::optional< bool > v10_IsOverAllocated, boost::optional< std::string > v11_StatusTime, boost::optional< std::string > v12_ActualWork, boost::optional< double > v13_ActualUsage, boost::optional< std::string > v14_ActualStart, boost::optional< std::string > v15_ActualFinish, boost::optional< std::string > v16_RemainingWork, boost::optional< double > v17_RemainingUsage, boost::optional< double > v18_Completion) : IfcSchedulingTime((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcResourceTime_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_DataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v2_DataOrigin,::Ifc4x2::IfcDataOriginEnum::ToString(*v2_DataOrigin))));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UserDefinedDataOrigin));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_ScheduleWork) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_ScheduleWork));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ScheduleUsage) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ScheduleUsage));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ScheduleStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ScheduleStart));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ScheduleFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ScheduleFinish));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_ScheduleContour) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_ScheduleContour));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_LevelingDelay) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_LevelingDelay));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_IsOverAllocated) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_IsOverAllocated));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_StatusTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_StatusTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_ActualWork) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_ActualWork));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ActualUsage) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ActualUsage));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ActualStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ActualStart));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ActualFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ActualFinish));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_RemainingWork) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_RemainingWork));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_RemainingUsage) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_RemainingUsage));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_Completion) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_Completion));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } } // Function implementations for IfcRevolvedAreaSolid -::Ifc4x2::IfcAxis1Placement* Ifc4x2::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcAxis1Placement>(); } +::Ifc4x2::IfcAxis1Placement* Ifc4x2::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcAxis1Placement>(true); } void Ifc4x2::IfcRevolvedAreaSolid::setAxis(::Ifc4x2::IfcAxis1Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc4x2::IfcRevolvedAreaSolid::Angle() const { double v = *data_->getArgument(3); return v; } void Ifc4x2::IfcRevolvedAreaSolid::setAngle(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -18684,7 +18864,7 @@ Ifc4x2::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcEntityInstanceData* e) : I Ifc4x2::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(::Ifc4x2::IfcProfileDef* v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D* v2_Position, ::Ifc4x2::IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcRevolvedAreaSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Axis));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Angle));data_->setArgument(3,attr);} } // Function implementations for IfcRevolvedAreaSolidTapered -::Ifc4x2::IfcProfileDef* Ifc4x2::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcProfileDef>(); } +::Ifc4x2::IfcProfileDef* Ifc4x2::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcProfileDef>(true); } void Ifc4x2::IfcRevolvedAreaSolidTapered::setEndSweptArea(::Ifc4x2::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -18740,7 +18920,7 @@ Ifc4x2::IfcRoofType::IfcRoofType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHist // Function implementations for IfcRoot std::string Ifc4x2::IfcRoot::GlobalId() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x2::IfcRoot::setGlobalId(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x2::IfcOwnerHistory* Ifc4x2::IfcRoot::OwnerHistory() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcOwnerHistory>(); } +::Ifc4x2::IfcOwnerHistory* Ifc4x2::IfcRoot::OwnerHistory() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcOwnerHistory>(true); } void Ifc4x2::IfcRoot::setOwnerHistory(::Ifc4x2::IfcOwnerHistory* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x2::IfcRoot::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x2::IfcRoot::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } @@ -18820,9 +19000,9 @@ Ifc4x2::IfcSeamCurve::IfcSeamCurve(::Ifc4x2::IfcCurve* v1_Curve3D, aggregate_of< // Function implementations for IfcSectionProperties ::Ifc4x2::IfcSectionTypeEnum::Value Ifc4x2::IfcSectionProperties::SectionType() const { return ::Ifc4x2::IfcSectionTypeEnum::FromString(*data_->getArgument(0)); } void Ifc4x2::IfcSectionProperties::setSectionType(::Ifc4x2::IfcSectionTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcSectionTypeEnum::ToString(v)));data_->setArgument(0,attr);} } -::Ifc4x2::IfcProfileDef* Ifc4x2::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcProfileDef>(); } +::Ifc4x2::IfcProfileDef* Ifc4x2::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcProfileDef>(true); } void Ifc4x2::IfcSectionProperties::setStartProfile(::Ifc4x2::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x2::IfcProfileDef* Ifc4x2::IfcSectionProperties::EndProfile() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcProfileDef>(); } +::Ifc4x2::IfcProfileDef* Ifc4x2::IfcSectionProperties::EndProfile() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcProfileDef>(true); } void Ifc4x2::IfcSectionProperties::setEndProfile(::Ifc4x2::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -18840,7 +19020,7 @@ boost::optional< double > Ifc4x2::IfcSectionReinforcementProperties::TransverseP void Ifc4x2::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } ::Ifc4x2::IfcReinforcingBarRoleEnum::Value Ifc4x2::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x2::IfcReinforcingBarRoleEnum::FromString(*data_->getArgument(3)); } void Ifc4x2::IfcSectionReinforcementProperties::setReinforcementRole(::Ifc4x2::IfcReinforcingBarRoleEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcReinforcingBarRoleEnum::ToString(v)));data_->setArgument(3,attr);} } -::Ifc4x2::IfcSectionProperties* Ifc4x2::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcSectionProperties>(); } +::Ifc4x2::IfcSectionProperties* Ifc4x2::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcSectionProperties>(true); } void Ifc4x2::IfcSectionReinforcementProperties::setSectionDefinition(::Ifc4x2::IfcSectionProperties* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x2::IfcReinforcementBarProperties >::ptr Ifc4x2::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x2::IfcReinforcementBarProperties >(); } void Ifc4x2::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(aggregate_of< ::Ifc4x2::IfcReinforcementBarProperties >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -18852,7 +19032,7 @@ Ifc4x2::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(Ifc Ifc4x2::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, ::Ifc4x2::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x2::IfcSectionProperties* v5_SectionDefinition, aggregate_of< ::Ifc4x2::IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcPreDefinedProperties((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcSectionReinforcementProperties_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_LongitudinalStartPosition));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LongitudinalEndPosition));data_->setArgument(1,attr);} if (v3_TransversePosition) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_TransversePosition));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v4_ReinforcementRole,::Ifc4x2::IfcReinforcingBarRoleEnum::ToString(v4_ReinforcementRole))));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_SectionDefinition));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_CrossSectionReinforcementDefinitions)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcSectionedSolid -::Ifc4x2::IfcCurve* Ifc4x2::IfcSectionedSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCurve>(); } +::Ifc4x2::IfcCurve* Ifc4x2::IfcSectionedSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcSectionedSolid::setDirectrix(::Ifc4x2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x2::IfcProfileDef >::ptr Ifc4x2::IfcSectionedSolid::CrossSections() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x2::IfcProfileDef >(); } void Ifc4x2::IfcSectionedSolid::setCrossSections(aggregate_of< ::Ifc4x2::IfcProfileDef >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -18876,7 +19056,7 @@ Ifc4x2::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(IfcEntityInstan Ifc4x2::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(::Ifc4x2::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x2::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x2::IfcDistanceExpression >::ptr v3_CrossSectionPositions, bool v4_FixedAxisVertical) : IfcSectionedSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcSectionedSolidHorizontal_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Directrix));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_CrossSections)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_CrossSectionPositions)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_FixedAxisVertical));data_->setArgument(3,attr);} } // Function implementations for IfcSectionedSpine -::Ifc4x2::IfcCompositeCurve* Ifc4x2::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCompositeCurve>(); } +::Ifc4x2::IfcCompositeCurve* Ifc4x2::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCompositeCurve>(true); } void Ifc4x2::IfcSectionedSpine::setSpineCurve(::Ifc4x2::IfcCompositeCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x2::IfcProfileDef >::ptr Ifc4x2::IfcSectionedSpine::CrossSections() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x2::IfcProfileDef >(); } void Ifc4x2::IfcSectionedSpine::setCrossSections(aggregate_of< ::Ifc4x2::IfcProfileDef >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -18938,7 +19118,7 @@ boost::optional< std::string > Ifc4x2::IfcShapeAspect::Description() const { if( void Ifc4x2::IfcShapeAspect::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } boost::logic::tribool Ifc4x2::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = *data_->getArgument(3); return v; } void Ifc4x2::IfcShapeAspect::setProductDefinitional(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x2::IfcProductRepresentationSelect* Ifc4x2::IfcShapeAspect::PartOfProductDefinitionShape() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcProductRepresentationSelect>(); } +::Ifc4x2::IfcProductRepresentationSelect* Ifc4x2::IfcShapeAspect::PartOfProductDefinitionShape() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcProductRepresentationSelect>(true); } void Ifc4x2::IfcShapeAspect::setPartOfProductDefinitionShape(::Ifc4x2::IfcProductRepresentationSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4x2::IfcExternalReferenceRelationship::list::ptr Ifc4x2::IfcShapeAspect::HasExternalReferences() const { return data_->getInverse(IFC4X2_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -18990,11 +19170,11 @@ boost::optional< std::string > Ifc4x2::IfcSimplePropertyTemplate::PrimaryMeasure void Ifc4x2::IfcSimplePropertyTemplate::setPrimaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x2::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4x2::IfcSimplePropertyTemplate::setSecondaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } -::Ifc4x2::IfcPropertyEnumeration* Ifc4x2::IfcSimplePropertyTemplate::Enumerators() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x2::IfcPropertyEnumeration>(); } +::Ifc4x2::IfcPropertyEnumeration* Ifc4x2::IfcSimplePropertyTemplate::Enumerators() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x2::IfcPropertyEnumeration>(true); } void Ifc4x2::IfcSimplePropertyTemplate::setEnumerators(::Ifc4x2::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -::Ifc4x2::IfcUnit* Ifc4x2::IfcSimplePropertyTemplate::PrimaryUnit() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x2::IfcUnit>(); } +::Ifc4x2::IfcUnit* Ifc4x2::IfcSimplePropertyTemplate::PrimaryUnit() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x2::IfcUnit>(true); } void Ifc4x2::IfcSimplePropertyTemplate::setPrimaryUnit(::Ifc4x2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -::Ifc4x2::IfcUnit* Ifc4x2::IfcSimplePropertyTemplate::SecondaryUnit() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x2::IfcUnit>(); } +::Ifc4x2::IfcUnit* Ifc4x2::IfcSimplePropertyTemplate::SecondaryUnit() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x2::IfcUnit>(true); } void Ifc4x2::IfcSimplePropertyTemplate::setSecondaryUnit(::Ifc4x2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x2::IfcSimplePropertyTemplate::Expression() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4x2::IfcSimplePropertyTemplate::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } @@ -19016,7 +19196,7 @@ boost::optional< double > Ifc4x2::IfcSite::RefElevation() const { if(!data_->get void Ifc4x2::IfcSite::setRefElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x2::IfcSite::LandTitleNumber() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } void Ifc4x2::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } -::Ifc4x2::IfcPostalAddress* Ifc4x2::IfcSite::SiteAddress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x2::IfcPostalAddress>(); } +::Ifc4x2::IfcPostalAddress* Ifc4x2::IfcSite::SiteAddress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x2::IfcPostalAddress>(true); } void Ifc4x2::IfcSite::setSiteAddress(::Ifc4x2::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } @@ -19311,7 +19491,7 @@ Ifc4x2::IfcStructuralAction::IfcStructuralAction(IfcEntityInstanceData* e) : Ifc Ifc4x2::IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralActivity((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcStructuralAction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc4x2::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);} if (v10_DestabilizingLoad) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_DestabilizingLoad));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcStructuralActivity -::Ifc4x2::IfcStructuralLoad* Ifc4x2::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x2::IfcStructuralLoad>(); } +::Ifc4x2::IfcStructuralLoad* Ifc4x2::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x2::IfcStructuralLoad>(true); } void Ifc4x2::IfcStructuralActivity::setAppliedLoad(::Ifc4x2::IfcStructuralLoad* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x2::IfcGlobalOrLocalEnum::Value Ifc4x2::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x2::IfcGlobalOrLocalEnum::FromString(*data_->getArgument(8)); } void Ifc4x2::IfcStructuralActivity::setGlobalOrLocal(::Ifc4x2::IfcGlobalOrLocalEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcGlobalOrLocalEnum::ToString(v)));data_->setArgument(8,attr);} } @@ -19326,13 +19506,13 @@ Ifc4x2::IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId, :: // Function implementations for IfcStructuralAnalysisModel ::Ifc4x2::IfcAnalysisModelTypeEnum::Value Ifc4x2::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x2::IfcAnalysisModelTypeEnum::FromString(*data_->getArgument(5)); } void Ifc4x2::IfcStructuralAnalysisModel::setPredefinedType(::Ifc4x2::IfcAnalysisModelTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcAnalysisModelTypeEnum::ToString(v)));data_->setArgument(5,attr);} } -::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcAxis2Placement3D>(); } +::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcAxis2Placement3D>(true); } void Ifc4x2::IfcStructuralAnalysisModel::setOrientationOf2DPlane(::Ifc4x2::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x2::IfcStructuralLoadGroup >::ptr > Ifc4x2::IfcStructuralAnalysisModel::LoadedBy() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x2::IfcStructuralLoadGroup >(); } void Ifc4x2::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc4x2::IfcStructuralLoadGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4x2::IfcStructuralResultGroup >::ptr > Ifc4x2::IfcStructuralAnalysisModel::HasResults() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x2::IfcStructuralResultGroup >(); } void Ifc4x2::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc4x2::IfcStructuralResultGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } -::Ifc4x2::IfcObjectPlacement* Ifc4x2::IfcStructuralAnalysisModel::SharedPlacement() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x2::IfcObjectPlacement>(); } +::Ifc4x2::IfcObjectPlacement* Ifc4x2::IfcStructuralAnalysisModel::SharedPlacement() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x2::IfcObjectPlacement>(true); } void Ifc4x2::IfcStructuralAnalysisModel::setSharedPlacement(::Ifc4x2::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -19342,7 +19522,7 @@ Ifc4x2::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(IfcEntityInstance Ifc4x2::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x2::IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< aggregate_of< ::Ifc4x2::IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< aggregate_of< ::Ifc4x2::IfcStructuralResultGroup >::ptr > v9_HasResults, ::Ifc4x2::IfcObjectPlacement* v10_SharedPlacement) : IfcSystem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcStructuralAnalysisModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_PredefinedType,::Ifc4x2::IfcAnalysisModelTypeEnum::ToString(v6_PredefinedType))));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_OrientationOf2DPlane));data_->setArgument(6,attr);} if (v8_LoadedBy) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LoadedBy)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_HasResults) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_HasResults)->generalize());data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_SharedPlacement));data_->setArgument(9,attr);} } // Function implementations for IfcStructuralConnection -::Ifc4x2::IfcBoundaryCondition* Ifc4x2::IfcStructuralConnection::AppliedCondition() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x2::IfcBoundaryCondition>(); } +::Ifc4x2::IfcBoundaryCondition* Ifc4x2::IfcStructuralConnection::AppliedCondition() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x2::IfcBoundaryCondition>(true); } void Ifc4x2::IfcStructuralConnection::setAppliedCondition(::Ifc4x2::IfcBoundaryCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x2::IfcRelConnectsStructuralMember::list::ptr Ifc4x2::IfcStructuralConnection::ConnectsStructuralMembers() const { return data_->getInverse(IFC4X2_IfcRelConnectsStructuralMember_type, 5)->as(); } @@ -19375,7 +19555,7 @@ Ifc4x2::IfcStructuralCurveAction::IfcStructuralCurveAction(IfcEntityInstanceData Ifc4x2::IfcStructuralCurveAction::IfcStructuralCurveAction(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcStructuralCurveAction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc4x2::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);} if (v10_DestabilizingLoad) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_DestabilizingLoad));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_ProjectedOrTrue) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_ProjectedOrTrue,::Ifc4x2::IfcProjectedOrTrueLengthEnum::ToString(*v11_ProjectedOrTrue))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4x2::IfcStructuralCurveActivityTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcStructuralCurveConnection -::Ifc4x2::IfcDirection* Ifc4x2::IfcStructuralCurveConnection::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x2::IfcDirection>(); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcStructuralCurveConnection::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcStructuralCurveConnection::setAxis(::Ifc4x2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -19387,7 +19567,7 @@ Ifc4x2::IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::string v // Function implementations for IfcStructuralCurveMember ::Ifc4x2::IfcStructuralCurveMemberTypeEnum::Value Ifc4x2::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x2::IfcStructuralCurveMemberTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4x2::IfcStructuralCurveMember::setPredefinedType(::Ifc4x2::IfcStructuralCurveMemberTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcStructuralCurveMemberTypeEnum::ToString(v)));data_->setArgument(7,attr);} } -::Ifc4x2::IfcDirection* Ifc4x2::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x2::IfcDirection>(); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcStructuralCurveMember::setAxis(::Ifc4x2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -19633,7 +19813,7 @@ Ifc4x2::IfcStructuralPointAction::IfcStructuralPointAction(IfcEntityInstanceData Ifc4x2::IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralAction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcStructuralPointAction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc4x2::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);} if (v10_DestabilizingLoad) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_DestabilizingLoad));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcStructuralPointConnection -::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x2::IfcAxis2Placement3D>(); } +::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x2::IfcAxis2Placement3D>(true); } void Ifc4x2::IfcStructuralPointConnection::setConditionCoordinateSystem(::Ifc4x2::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -19661,7 +19841,7 @@ Ifc4x2::IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId, :: // Function implementations for IfcStructuralResultGroup ::Ifc4x2::IfcAnalysisTheoryTypeEnum::Value Ifc4x2::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x2::IfcAnalysisTheoryTypeEnum::FromString(*data_->getArgument(5)); } void Ifc4x2::IfcStructuralResultGroup::setTheoryType(::Ifc4x2::IfcAnalysisTheoryTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcAnalysisTheoryTypeEnum::ToString(v)));data_->setArgument(5,attr);} } -::Ifc4x2::IfcStructuralLoadGroup* Ifc4x2::IfcStructuralResultGroup::ResultForLoadGroup() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcStructuralLoadGroup>(); } +::Ifc4x2::IfcStructuralLoadGroup* Ifc4x2::IfcStructuralResultGroup::ResultForLoadGroup() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcStructuralLoadGroup>(true); } void Ifc4x2::IfcStructuralResultGroup::setResultForLoadGroup(::Ifc4x2::IfcStructuralLoadGroup* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } bool Ifc4x2::IfcStructuralResultGroup::IsLinear() const { bool v = *data_->getArgument(7); return v; } void Ifc4x2::IfcStructuralResultGroup::setIsLinear(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -19732,7 +19912,7 @@ Ifc4x2::IfcStyleModel::IfcStyleModel(IfcEntityInstanceData* e) : IfcRepresentati Ifc4x2::IfcStyleModel::IfcStyleModel(::Ifc4x2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x2::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcStyleModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcStyledItem -::Ifc4x2::IfcRepresentationItem* Ifc4x2::IfcStyledItem::Item() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcRepresentationItem>(); } +::Ifc4x2::IfcRepresentationItem* Ifc4x2::IfcStyledItem::Item() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcRepresentationItem>(true); } void Ifc4x2::IfcStyledItem::setItem(::Ifc4x2::IfcRepresentationItem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of_instance::ptr Ifc4x2::IfcStyledItem::Styles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4x2::IfcStyledItem::setStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -19774,7 +19954,7 @@ Ifc4x2::IfcSubContractResourceType::IfcSubContractResourceType(IfcEntityInstance Ifc4x2::IfcSubContractResourceType::IfcSubContractResourceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x2::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcSubContractResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4x2::IfcSubContractResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcSubedge -::Ifc4x2::IfcEdge* Ifc4x2::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcEdge>(); } +::Ifc4x2::IfcEdge* Ifc4x2::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcEdge>(true); } void Ifc4x2::IfcSubedge::setParentEdge(::Ifc4x2::IfcEdge* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -19792,7 +19972,7 @@ Ifc4x2::IfcSurface::IfcSurface(IfcEntityInstanceData* e) : IfcGeometricRepresent Ifc4x2::IfcSurface::IfcSurface() : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcSurface_type); } // Function implementations for IfcSurfaceCurve -::Ifc4x2::IfcCurve* Ifc4x2::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCurve>(); } +::Ifc4x2::IfcCurve* Ifc4x2::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcSurfaceCurve::setCurve3D(::Ifc4x2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x2::IfcPcurve >::ptr Ifc4x2::IfcSurfaceCurve::AssociatedGeometry() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x2::IfcPcurve >(); } void Ifc4x2::IfcSurfaceCurve::setAssociatedGeometry(aggregate_of< ::Ifc4x2::IfcPcurve >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -19806,13 +19986,13 @@ Ifc4x2::IfcSurfaceCurve::IfcSurfaceCurve(IfcEntityInstanceData* e) : IfcCurve((I Ifc4x2::IfcSurfaceCurve::IfcSurfaceCurve(::Ifc4x2::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x2::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcSurfaceCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Curve3D));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_AssociatedGeometry)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_MasterRepresentation,::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::ToString(v3_MasterRepresentation))));data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceCurveSweptAreaSolid -::Ifc4x2::IfcCurve* Ifc4x2::IfcSurfaceCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcCurve>(); } +::Ifc4x2::IfcCurve* Ifc4x2::IfcSurfaceCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcSurfaceCurveSweptAreaSolid::setDirectrix(::Ifc4x2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x2::IfcSurfaceCurveSweptAreaSolid::StartParam() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4x2::IfcSurfaceCurveSweptAreaSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } boost::optional< double > Ifc4x2::IfcSurfaceCurveSweptAreaSolid::EndParam() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } double v = *data_->getArgument(4); return v; } void Ifc4x2::IfcSurfaceCurveSweptAreaSolid::setEndParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc4x2::IfcSurface* Ifc4x2::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcSurface>(); } +::Ifc4x2::IfcSurface* Ifc4x2::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcSurface>(true); } void Ifc4x2::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(::Ifc4x2::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -19832,7 +20012,7 @@ Ifc4x2::IfcSurfaceFeature::IfcSurfaceFeature(IfcEntityInstanceData* e) : IfcFeat Ifc4x2::IfcSurfaceFeature::IfcSurfaceFeature(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcSurfaceFeature_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4x2::IfcSurfaceFeatureTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcSurfaceOfLinearExtrusion -::Ifc4x2::IfcDirection* Ifc4x2::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcDirection>(); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcSurfaceOfLinearExtrusion::setExtrudedDirection(::Ifc4x2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc4x2::IfcSurfaceOfLinearExtrusion::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc4x2::IfcSurfaceOfLinearExtrusion::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19844,7 +20024,7 @@ Ifc4x2::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcEntityInstan Ifc4x2::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(::Ifc4x2::IfcProfileDef* v1_SweptCurve, ::Ifc4x2::IfcAxis2Placement3D* v2_Position, ::Ifc4x2::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcSurfaceOfLinearExtrusion_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ExtrudedDirection));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);} } // Function implementations for IfcSurfaceOfRevolution -::Ifc4x2::IfcAxis1Placement* Ifc4x2::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcAxis1Placement>(); } +::Ifc4x2::IfcAxis1Placement* Ifc4x2::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcAxis1Placement>(true); } void Ifc4x2::IfcSurfaceOfRevolution::setAxisPosition(::Ifc4x2::IfcAxis1Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -19880,13 +20060,13 @@ Ifc4x2::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData* e) : IfcPresenta Ifc4x2::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcSurfaceSide::Value v2_Side, aggregate_of_instance::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x2::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceStyleLighting -::Ifc4x2::IfcColourRgb* Ifc4x2::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcColourRgb>(); } +::Ifc4x2::IfcColourRgb* Ifc4x2::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcColourRgb>(true); } void Ifc4x2::IfcSurfaceStyleLighting::setDiffuseTransmissionColour(::Ifc4x2::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x2::IfcColourRgb* Ifc4x2::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcColourRgb>(); } +::Ifc4x2::IfcColourRgb* Ifc4x2::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcColourRgb>(true); } void Ifc4x2::IfcSurfaceStyleLighting::setDiffuseReflectionColour(::Ifc4x2::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x2::IfcColourRgb* Ifc4x2::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcColourRgb>(); } +::Ifc4x2::IfcColourRgb* Ifc4x2::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcColourRgb>(true); } void Ifc4x2::IfcSurfaceStyleLighting::setTransmissionColour(::Ifc4x2::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x2::IfcColourRgb* Ifc4x2::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcColourRgb>(); } +::Ifc4x2::IfcColourRgb* Ifc4x2::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcColourRgb>(true); } void Ifc4x2::IfcSurfaceStyleLighting::setReflectanceColour(::Ifc4x2::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19908,17 +20088,17 @@ Ifc4x2::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(IfcEntityInstanceDa Ifc4x2::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcSurfaceStyleRefraction_type); if (v1_RefractionIndex) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RefractionIndex));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_DispersionFactor) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_DispersionFactor));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcSurfaceStyleRendering -::Ifc4x2::IfcColourOrFactor* Ifc4x2::IfcSurfaceStyleRendering::DiffuseColour() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcColourOrFactor>(); } +::Ifc4x2::IfcColourOrFactor* Ifc4x2::IfcSurfaceStyleRendering::DiffuseColour() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcColourOrFactor>(true); } void Ifc4x2::IfcSurfaceStyleRendering::setDiffuseColour(::Ifc4x2::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x2::IfcColourOrFactor* Ifc4x2::IfcSurfaceStyleRendering::TransmissionColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcColourOrFactor>(); } +::Ifc4x2::IfcColourOrFactor* Ifc4x2::IfcSurfaceStyleRendering::TransmissionColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcColourOrFactor>(true); } void Ifc4x2::IfcSurfaceStyleRendering::setTransmissionColour(::Ifc4x2::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x2::IfcColourOrFactor* Ifc4x2::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcColourOrFactor>(); } +::Ifc4x2::IfcColourOrFactor* Ifc4x2::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcColourOrFactor>(true); } void Ifc4x2::IfcSurfaceStyleRendering::setDiffuseTransmissionColour(::Ifc4x2::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x2::IfcColourOrFactor* Ifc4x2::IfcSurfaceStyleRendering::ReflectionColour() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcColourOrFactor>(); } +::Ifc4x2::IfcColourOrFactor* Ifc4x2::IfcSurfaceStyleRendering::ReflectionColour() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcColourOrFactor>(true); } void Ifc4x2::IfcSurfaceStyleRendering::setReflectionColour(::Ifc4x2::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x2::IfcColourOrFactor* Ifc4x2::IfcSurfaceStyleRendering::SpecularColour() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcColourOrFactor>(); } +::Ifc4x2::IfcColourOrFactor* Ifc4x2::IfcSurfaceStyleRendering::SpecularColour() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcColourOrFactor>(true); } void Ifc4x2::IfcSurfaceStyleRendering::setSpecularColour(::Ifc4x2::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4x2::IfcSpecularHighlightSelect* Ifc4x2::IfcSurfaceStyleRendering::SpecularHighlight() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x2::IfcSpecularHighlightSelect>(); } +::Ifc4x2::IfcSpecularHighlightSelect* Ifc4x2::IfcSurfaceStyleRendering::SpecularHighlight() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x2::IfcSpecularHighlightSelect>(true); } void Ifc4x2::IfcSurfaceStyleRendering::setSpecularHighlight(::Ifc4x2::IfcSpecularHighlightSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x2::IfcReflectanceMethodEnum::Value Ifc4x2::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4x2::IfcReflectanceMethodEnum::FromString(*data_->getArgument(8)); } void Ifc4x2::IfcSurfaceStyleRendering::setReflectanceMethod(::Ifc4x2::IfcReflectanceMethodEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcReflectanceMethodEnum::ToString(v)));data_->setArgument(8,attr);} } @@ -19930,7 +20110,7 @@ Ifc4x2::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcEntityInstanceData Ifc4x2::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc4x2::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, ::Ifc4x2::IfcColourOrFactor* v3_DiffuseColour, ::Ifc4x2::IfcColourOrFactor* v4_TransmissionColour, ::Ifc4x2::IfcColourOrFactor* v5_DiffuseTransmissionColour, ::Ifc4x2::IfcColourOrFactor* v6_ReflectionColour, ::Ifc4x2::IfcColourOrFactor* v7_SpecularColour, ::Ifc4x2::IfcSpecularHighlightSelect* v8_SpecularHighlight, ::Ifc4x2::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) : IfcSurfaceStyleShading((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcSurfaceStyleRendering_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SurfaceColour));data_->setArgument(0,attr);} if (v2_Transparency) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Transparency));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DiffuseColour));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TransmissionColour));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_DiffuseTransmissionColour));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ReflectionColour));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_SpecularColour));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_SpecularHighlight));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_ReflectanceMethod,::Ifc4x2::IfcReflectanceMethodEnum::ToString(v9_ReflectanceMethod))));data_->setArgument(8,attr);} } // Function implementations for IfcSurfaceStyleShading -::Ifc4x2::IfcColourRgb* Ifc4x2::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcColourRgb>(); } +::Ifc4x2::IfcColourRgb* Ifc4x2::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcColourRgb>(true); } void Ifc4x2::IfcSurfaceStyleShading::setSurfaceColour(::Ifc4x2::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4x2::IfcSurfaceStyleShading::Transparency() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } void Ifc4x2::IfcSurfaceStyleShading::setTransparency(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } @@ -19958,7 +20138,7 @@ bool Ifc4x2::IfcSurfaceTexture::RepeatT() const { bool v = *data_->getArgument( void Ifc4x2::IfcSurfaceTexture::setRepeatT(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x2::IfcSurfaceTexture::Mode() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x2::IfcSurfaceTexture::setMode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x2::IfcCartesianTransformationOperator2D* Ifc4x2::IfcSurfaceTexture::TextureTransform() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcCartesianTransformationOperator2D>(); } +::Ifc4x2::IfcCartesianTransformationOperator2D* Ifc4x2::IfcSurfaceTexture::TextureTransform() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcCartesianTransformationOperator2D>(true); } void Ifc4x2::IfcSurfaceTexture::setTextureTransform(::Ifc4x2::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcSurfaceTexture::Parameter() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } void Ifc4x2::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -19972,9 +20152,9 @@ Ifc4x2::IfcSurfaceTexture::IfcSurfaceTexture(IfcEntityInstanceData* e) : IfcPres Ifc4x2::IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x2::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcSurfaceTexture_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_RepeatS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RepeatT));data_->setArgument(1,attr);} if (v3_Mode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Mode));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TextureTransform));data_->setArgument(3,attr);} if (v5_Parameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Parameter));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcSweptAreaSolid -::Ifc4x2::IfcProfileDef* Ifc4x2::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcProfileDef>(); } +::Ifc4x2::IfcProfileDef* Ifc4x2::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcProfileDef>(true); } void Ifc4x2::IfcSweptAreaSolid::setSweptArea(::Ifc4x2::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcSweptAreaSolid::Position() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcAxis2Placement3D>(); } +::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcSweptAreaSolid::Position() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcAxis2Placement3D>(true); } void Ifc4x2::IfcSweptAreaSolid::setPosition(::Ifc4x2::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -19984,7 +20164,7 @@ Ifc4x2::IfcSweptAreaSolid::IfcSweptAreaSolid(IfcEntityInstanceData* e) : IfcSoli Ifc4x2::IfcSweptAreaSolid::IfcSweptAreaSolid(::Ifc4x2::IfcProfileDef* v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D* v2_Position) : IfcSolidModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcSweptAreaSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);} } // Function implementations for IfcSweptDiskSolid -::Ifc4x2::IfcCurve* Ifc4x2::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCurve>(); } +::Ifc4x2::IfcCurve* Ifc4x2::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcSweptDiskSolid::setDirectrix(::Ifc4x2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x2::IfcSweptDiskSolid::Radius() const { double v = *data_->getArgument(1); return v; } void Ifc4x2::IfcSweptDiskSolid::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -20012,9 +20192,9 @@ Ifc4x2::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(IfcEntityInstance Ifc4x2::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(::Ifc4x2::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, boost::optional< double > v6_FilletRadius) : IfcSweptDiskSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcSweptDiskSolidPolygonal_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Directrix));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Radius));data_->setArgument(1,attr);} if (v3_InnerRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_InnerRadius));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_StartParam) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_StartParam));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_EndParam) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_EndParam));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_FilletRadius));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } } // Function implementations for IfcSweptSurface -::Ifc4x2::IfcProfileDef* Ifc4x2::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcProfileDef>(); } +::Ifc4x2::IfcProfileDef* Ifc4x2::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcProfileDef>(true); } void Ifc4x2::IfcSweptSurface::setSweptCurve(::Ifc4x2::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcSweptSurface::Position() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcAxis2Placement3D>(); } +::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcSweptSurface::Position() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcAxis2Placement3D>(true); } void Ifc4x2::IfcSweptSurface::setPosition(::Ifc4x2::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -20119,9 +20299,9 @@ boost::optional< std::string > Ifc4x2::IfcTableColumn::Name() const { if(!data_- void Ifc4x2::IfcTableColumn::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x2::IfcTableColumn::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x2::IfcTableColumn::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x2::IfcUnit* Ifc4x2::IfcTableColumn::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcUnit>(); } +::Ifc4x2::IfcUnit* Ifc4x2::IfcTableColumn::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcUnit>(true); } void Ifc4x2::IfcTableColumn::setUnit(::Ifc4x2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x2::IfcReference* Ifc4x2::IfcTableColumn::ReferencePath() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcReference>(); } +::Ifc4x2::IfcReference* Ifc4x2::IfcTableColumn::ReferencePath() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcReference>(true); } void Ifc4x2::IfcTableColumn::setReferencePath(::Ifc4x2::IfcReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -20171,7 +20351,7 @@ bool Ifc4x2::IfcTask::IsMilestone() const { bool v = *data_->getArgument(9); re void Ifc4x2::IfcTask::setIsMilestone(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< int > Ifc4x2::IfcTask::Priority() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } int v = *data_->getArgument(10); return v; } void Ifc4x2::IfcTask::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } -::Ifc4x2::IfcTaskTime* Ifc4x2::IfcTask::TaskTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x2::IfcTaskTime>(); } +::Ifc4x2::IfcTaskTime* Ifc4x2::IfcTask::TaskTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x2::IfcTaskTime>(true); } void Ifc4x2::IfcTask::setTaskTime(::Ifc4x2::IfcTaskTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< ::Ifc4x2::IfcTaskTypeEnum::Value > Ifc4x2::IfcTask::PredefinedType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } return ::Ifc4x2::IfcTaskTypeEnum::FromString(*data_->getArgument(12)); } void Ifc4x2::IfcTask::setPredefinedType(boost::optional< ::Ifc4x2::IfcTaskTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x2::IfcTaskTypeEnum::ToString(*v)));data_->setArgument(12,attr);} } @@ -20225,7 +20405,7 @@ Ifc4x2::IfcTaskTime::IfcTaskTime(IfcEntityInstanceData* e) : IfcSchedulingTime(( Ifc4x2::IfcTaskTime::IfcTaskTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x2::IfcTaskDurationEnum::Value > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion) : IfcSchedulingTime((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcTaskTime_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_DataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v2_DataOrigin,::Ifc4x2::IfcDataOriginEnum::ToString(*v2_DataOrigin))));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UserDefinedDataOrigin));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DurationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v4_DurationType,::Ifc4x2::IfcTaskDurationEnum::ToString(*v4_DurationType))));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ScheduleDuration) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ScheduleDuration));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ScheduleStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ScheduleStart));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ScheduleFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ScheduleFinish));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_EarlyStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_EarlyStart));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EarlyFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EarlyFinish));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_LateStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_LateStart));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_LateFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_LateFinish));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_FreeFloat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_FreeFloat));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_TotalFloat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_TotalFloat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_IsCritical) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_IsCritical));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_StatusTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_StatusTime));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_ActualDuration) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_ActualDuration));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_ActualStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_ActualStart));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_ActualFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_ActualFinish));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_RemainingTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_RemainingTime));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_Completion) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_Completion));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcTaskTimeRecurring -::Ifc4x2::IfcRecurrencePattern* Ifc4x2::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(20)))->as<::Ifc4x2::IfcRecurrencePattern>(); } +::Ifc4x2::IfcRecurrencePattern* Ifc4x2::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(20)))->as<::Ifc4x2::IfcRecurrencePattern>(true); } void Ifc4x2::IfcTaskTimeRecurring::setRecurrence(::Ifc4x2::IfcRecurrencePattern* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(20,attr);} } @@ -20347,7 +20527,7 @@ Ifc4x2::IfcTendonType::IfcTendonType(IfcEntityInstanceData* e) : IfcReinforcingE Ifc4x2::IfcTendonType::IfcTendonType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTendonTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheathDiameter) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcTendonType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x2::IfcTendonTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_SheathDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_SheathDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } } // Function implementations for IfcTessellatedFaceSet -::Ifc4x2::IfcCartesianPointList3D* Ifc4x2::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCartesianPointList3D>(); } +::Ifc4x2::IfcCartesianPointList3D* Ifc4x2::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCartesianPointList3D>(true); } void Ifc4x2::IfcTessellatedFaceSet::setCoordinates(::Ifc4x2::IfcCartesianPointList3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4x2::IfcIndexedColourMap::list::ptr Ifc4x2::IfcTessellatedFaceSet::HasColours() const { return data_->getInverse(IFC4X2_IfcIndexedColourMap_type, 0)->as(); } @@ -20369,7 +20549,7 @@ Ifc4x2::IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentationIte // Function implementations for IfcTextLiteral std::string Ifc4x2::IfcTextLiteral::Literal() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x2::IfcTextLiteral::setLiteral(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x2::IfcAxis2Placement* Ifc4x2::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcAxis2Placement>(); } +::Ifc4x2::IfcAxis2Placement* Ifc4x2::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcAxis2Placement>(true); } void Ifc4x2::IfcTextLiteral::setPlacement(::Ifc4x2::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4x2::IfcTextPath::Value Ifc4x2::IfcTextLiteral::Path() const { return ::Ifc4x2::IfcTextPath::FromString(*data_->getArgument(2)); } void Ifc4x2::IfcTextLiteral::setPath(::Ifc4x2::IfcTextPath::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcTextPath::ToString(v)));data_->setArgument(2,attr);} } @@ -20381,7 +20561,7 @@ Ifc4x2::IfcTextLiteral::IfcTextLiteral(IfcEntityInstanceData* e) : IfcGeometricR Ifc4x2::IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, ::Ifc4x2::IfcAxis2Placement* v2_Placement, ::Ifc4x2::IfcTextPath::Value v3_Path) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcTextLiteral_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Literal));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Placement));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_Path,::Ifc4x2::IfcTextPath::ToString(v3_Path))));data_->setArgument(2,attr);} } // Function implementations for IfcTextLiteralWithExtent -::Ifc4x2::IfcPlanarExtent* Ifc4x2::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcPlanarExtent>(); } +::Ifc4x2::IfcPlanarExtent* Ifc4x2::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcPlanarExtent>(true); } void Ifc4x2::IfcTextLiteralWithExtent::setExtent(::Ifc4x2::IfcPlanarExtent* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } std::string Ifc4x2::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = *data_->getArgument(4); return v; } void Ifc4x2::IfcTextLiteralWithExtent::setBoxAlignment(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -20393,11 +20573,11 @@ Ifc4x2::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcEntityInstanceData Ifc4x2::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(std::string v1_Literal, ::Ifc4x2::IfcAxis2Placement* v2_Placement, ::Ifc4x2::IfcTextPath::Value v3_Path, ::Ifc4x2::IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment) : IfcTextLiteral((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcTextLiteralWithExtent_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Literal));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Placement));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_Path,::Ifc4x2::IfcTextPath::ToString(v3_Path))));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Extent));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_BoxAlignment));data_->setArgument(4,attr);} } // Function implementations for IfcTextStyle -::Ifc4x2::IfcTextStyleForDefinedFont* Ifc4x2::IfcTextStyle::TextCharacterAppearance() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcTextStyleForDefinedFont>(); } +::Ifc4x2::IfcTextStyleForDefinedFont* Ifc4x2::IfcTextStyle::TextCharacterAppearance() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcTextStyleForDefinedFont>(true); } void Ifc4x2::IfcTextStyle::setTextCharacterAppearance(::Ifc4x2::IfcTextStyleForDefinedFont* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x2::IfcTextStyleTextModel* Ifc4x2::IfcTextStyle::TextStyle() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcTextStyleTextModel>(); } +::Ifc4x2::IfcTextStyleTextModel* Ifc4x2::IfcTextStyle::TextStyle() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcTextStyleTextModel>(true); } void Ifc4x2::IfcTextStyle::setTextStyle(::Ifc4x2::IfcTextStyleTextModel* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x2::IfcTextFontSelect* Ifc4x2::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcTextFontSelect>(); } +::Ifc4x2::IfcTextFontSelect* Ifc4x2::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcTextFontSelect>(true); } void Ifc4x2::IfcTextStyle::setTextFontStyle(::Ifc4x2::IfcTextFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< bool > Ifc4x2::IfcTextStyle::ModelOrDraughting() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } bool v = *data_->getArgument(4); return v; } void Ifc4x2::IfcTextStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -20417,7 +20597,7 @@ boost::optional< std::string > Ifc4x2::IfcTextStyleFontModel::FontVariant() cons void Ifc4x2::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcTextStyleFontModel::FontWeight() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x2::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc4x2::IfcSizeSelect* Ifc4x2::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcSizeSelect>(); } +::Ifc4x2::IfcSizeSelect* Ifc4x2::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x2::IfcSizeSelect>(true); } void Ifc4x2::IfcTextStyleFontModel::setFontSize(::Ifc4x2::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20427,9 +20607,9 @@ Ifc4x2::IfcTextStyleFontModel::IfcTextStyleFontModel(IfcEntityInstanceData* e) : Ifc4x2::IfcTextStyleFontModel::IfcTextStyleFontModel(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, boost::optional< std::string > v3_FontStyle, boost::optional< std::string > v4_FontVariant, boost::optional< std::string > v5_FontWeight, ::Ifc4x2::IfcSizeSelect* v6_FontSize) : IfcPreDefinedTextFont((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcTextStyleFontModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FontFamily));data_->setArgument(1,attr);} if (v3_FontStyle) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_FontStyle));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_FontVariant) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_FontVariant));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_FontWeight) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_FontWeight));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_FontSize));data_->setArgument(5,attr);} } // Function implementations for IfcTextStyleForDefinedFont -::Ifc4x2::IfcColour* Ifc4x2::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcColour>(); } +::Ifc4x2::IfcColour* Ifc4x2::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcColour>(true); } void Ifc4x2::IfcTextStyleForDefinedFont::setColour(::Ifc4x2::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x2::IfcColour* Ifc4x2::IfcTextStyleForDefinedFont::BackgroundColour() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcColour>(); } +::Ifc4x2::IfcColour* Ifc4x2::IfcTextStyleForDefinedFont::BackgroundColour() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x2::IfcColour>(true); } void Ifc4x2::IfcTextStyleForDefinedFont::setBackgroundColour(::Ifc4x2::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -20439,19 +20619,19 @@ Ifc4x2::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcEntityInstance Ifc4x2::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4x2::IfcColour* v1_Colour, ::Ifc4x2::IfcColour* v2_BackgroundColour) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcTextStyleForDefinedFont_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Colour));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_BackgroundColour));data_->setArgument(1,attr);} } // Function implementations for IfcTextStyleTextModel -::Ifc4x2::IfcSizeSelect* Ifc4x2::IfcTextStyleTextModel::TextIndent() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcSizeSelect>(); } +::Ifc4x2::IfcSizeSelect* Ifc4x2::IfcTextStyleTextModel::TextIndent() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcSizeSelect>(true); } void Ifc4x2::IfcTextStyleTextModel::setTextIndent(::Ifc4x2::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x2::IfcTextStyleTextModel::TextAlign() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x2::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x2::IfcTextStyleTextModel::TextDecoration() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x2::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x2::IfcSizeSelect* Ifc4x2::IfcTextStyleTextModel::LetterSpacing() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcSizeSelect>(); } +::Ifc4x2::IfcSizeSelect* Ifc4x2::IfcTextStyleTextModel::LetterSpacing() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcSizeSelect>(true); } void Ifc4x2::IfcTextStyleTextModel::setLetterSpacing(::Ifc4x2::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x2::IfcSizeSelect* Ifc4x2::IfcTextStyleTextModel::WordSpacing() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcSizeSelect>(); } +::Ifc4x2::IfcSizeSelect* Ifc4x2::IfcTextStyleTextModel::WordSpacing() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x2::IfcSizeSelect>(true); } void Ifc4x2::IfcTextStyleTextModel::setWordSpacing(::Ifc4x2::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x2::IfcTextStyleTextModel::TextTransform() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x2::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4x2::IfcSizeSelect* Ifc4x2::IfcTextStyleTextModel::LineHeight() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcSizeSelect>(); } +::Ifc4x2::IfcSizeSelect* Ifc4x2::IfcTextStyleTextModel::LineHeight() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x2::IfcSizeSelect>(true); } void Ifc4x2::IfcTextStyleTextModel::setLineHeight(::Ifc4x2::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -20485,7 +20665,7 @@ Ifc4x2::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(aggregate_o // Function implementations for IfcTextureMap aggregate_of< ::Ifc4x2::IfcTextureVertex >::ptr Ifc4x2::IfcTextureMap::Vertices() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x2::IfcTextureVertex >(); } void Ifc4x2::IfcTextureMap::setVertices(aggregate_of< ::Ifc4x2::IfcTextureVertex >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } -::Ifc4x2::IfcFace* Ifc4x2::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcFace>(); } +::Ifc4x2::IfcFace* Ifc4x2::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x2::IfcFace>(true); } void Ifc4x2::IfcTextureMap::setMappedTo(::Ifc4x2::IfcFace* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -20541,7 +20721,7 @@ void Ifc4x2::IfcTimeSeries::setTimeSeriesDataType(::Ifc4x2::IfcTimeSeriesDataTyp void Ifc4x2::IfcTimeSeries::setDataOrigin(::Ifc4x2::IfcDataOriginEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x2::IfcDataOriginEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x2::IfcTimeSeries::UserDefinedDataOrigin() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4x2::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } -::Ifc4x2::IfcUnit* Ifc4x2::IfcTimeSeries::Unit() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x2::IfcUnit>(); } +::Ifc4x2::IfcUnit* Ifc4x2::IfcTimeSeries::Unit() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x2::IfcUnit>(true); } void Ifc4x2::IfcTimeSeries::setUnit(::Ifc4x2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x2::IfcExternalReferenceRelationship::list::ptr Ifc4x2::IfcTimeSeries::HasExternalReference() const { return data_->getInverse(IFC4X2_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -20690,7 +20870,7 @@ Ifc4x2::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(IfcEnti Ifc4x2::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::Ifc4x2::IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) : IfcTriangulatedFaceSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcTriangulatedIrregularNetwork_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Coordinates));data_->setArgument(0,attr);} if (v2_Normals) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Normals));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Closed) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Closed));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_CoordIndex));data_->setArgument(3,attr);} if (v5_PnIndex) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_PnIndex));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Flags));data_->setArgument(5,attr);} } // Function implementations for IfcTrimmedCurve -::Ifc4x2::IfcCurve* Ifc4x2::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCurve>(); } +::Ifc4x2::IfcCurve* Ifc4x2::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcTrimmedCurve::setBasisCurve(::Ifc4x2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of_instance::ptr Ifc4x2::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4x2::IfcTrimmedCurve::setTrim1(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -20876,7 +21056,7 @@ Ifc4x2::IfcValveType::IfcValveType(IfcEntityInstanceData* e) : IfcFlowController Ifc4x2::IfcValveType::IfcValveType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcValveTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcValveType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x2::IfcValveTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcVector -::Ifc4x2::IfcDirection* Ifc4x2::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcDirection>(); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcVector::setOrientation(::Ifc4x2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x2::IfcVector::Magnitude() const { double v = *data_->getArgument(1); return v; } void Ifc4x2::IfcVector::setMagnitude(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -20896,7 +21076,7 @@ Ifc4x2::IfcVertex::IfcVertex(IfcEntityInstanceData* e) : IfcTopologicalRepresent Ifc4x2::IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcVertex_type); } // Function implementations for IfcVertexLoop -::Ifc4x2::IfcVertex* Ifc4x2::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcVertex>(); } +::Ifc4x2::IfcVertex* Ifc4x2::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcVertex>(true); } void Ifc4x2::IfcVertexLoop::setLoopVertex(::Ifc4x2::IfcVertex* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -20906,7 +21086,7 @@ Ifc4x2::IfcVertexLoop::IfcVertexLoop(IfcEntityInstanceData* e) : IfcLoop((IfcEnt Ifc4x2::IfcVertexLoop::IfcVertexLoop(::Ifc4x2::IfcVertex* v1_LoopVertex) : IfcLoop((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcVertexLoop_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_LoopVertex));data_->setArgument(0,attr);} } // Function implementations for IfcVertexPoint -::Ifc4x2::IfcPoint* Ifc4x2::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcPoint>(); } +::Ifc4x2::IfcPoint* Ifc4x2::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x2::IfcPoint>(true); } void Ifc4x2::IfcVertexPoint::setVertexGeometry(::Ifc4x2::IfcPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -21076,7 +21256,7 @@ boost::optional< double > Ifc4x2::IfcWindowLiningProperties::FirstMullionOffset( void Ifc4x2::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } boost::optional< double > Ifc4x2::IfcWindowLiningProperties::SecondMullionOffset() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } void Ifc4x2::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } -::Ifc4x2::IfcShapeAspect* Ifc4x2::IfcWindowLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc4x2::IfcShapeAspect>(); } +::Ifc4x2::IfcShapeAspect* Ifc4x2::IfcWindowLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc4x2::IfcShapeAspect>(true); } void Ifc4x2::IfcWindowLiningProperties::setShapeAspectStyle(::Ifc4x2::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } boost::optional< double > Ifc4x2::IfcWindowLiningProperties::LiningOffset() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } void Ifc4x2::IfcWindowLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } @@ -21100,7 +21280,7 @@ boost::optional< double > Ifc4x2::IfcWindowPanelProperties::FrameDepth() const { void Ifc4x2::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x2::IfcWindowPanelProperties::FrameThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4x2::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } -::Ifc4x2::IfcShapeAspect* Ifc4x2::IfcWindowPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x2::IfcShapeAspect>(); } +::Ifc4x2::IfcShapeAspect* Ifc4x2::IfcWindowPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x2::IfcShapeAspect>(true); } void Ifc4x2::IfcWindowPanelProperties::setShapeAspectStyle(::Ifc4x2::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -21206,7 +21386,7 @@ Ifc4x2::IfcWorkSchedule::IfcWorkSchedule(IfcEntityInstanceData* e) : IfcWorkCont Ifc4x2::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x2::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< ::Ifc4x2::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) : IfcWorkControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X2_IfcWorkSchedule_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_CreationDate));data_->setArgument(6,attr);} if (v8_Creators) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Creators)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_Purpose));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_Duration) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Duration));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_TotalFloat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_TotalFloat));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_StartTime));data_->setArgument(11,attr);} if (v13_FinishTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_FinishTime));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_PredefinedType,::Ifc4x2::IfcWorkScheduleTypeEnum::ToString(*v14_PredefinedType))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } } // Function implementations for IfcWorkTime -::Ifc4x2::IfcRecurrencePattern* Ifc4x2::IfcWorkTime::RecurrencePattern() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcRecurrencePattern>(); } +::Ifc4x2::IfcRecurrencePattern* Ifc4x2::IfcWorkTime::RecurrencePattern() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x2::IfcRecurrencePattern>(true); } void Ifc4x2::IfcWorkTime::setRecurrencePattern(::Ifc4x2::IfcRecurrencePattern* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x2::IfcWorkTime::Start() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x2::IfcWorkTime::setStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } diff --git a/src/ifcparse/Ifc4x2.h b/src/ifcparse/Ifc4x2.h index b1c11a170e..94afa26112 100644 --- a/src/ifcparse/Ifc4x2.h +++ b/src/ifcparse/Ifc4x2.h @@ -60,7 +60,10 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c /// IfcOrganization An organization. /// IfcPerson A person. /// IfcPersonAndOrganization A person related to an organization. -class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. /// /// Select from: @@ -75,17 +78,26 @@ class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface {} /// Selecting IfcMeasureWithUnit allows the specification of both the actual figure for the value together with the currency in which the value is represented. /// Selecting IfcMonetaryMeasure allows the specification only of the value, the currency being as set by the global context /// Selecting IfcRatioMeasure assumes that the amount is a percentage or other REAL number. Note that if the amount is normally specified as -20%, then this figure will need to be converted to a multiplier of 0.8 -class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. /// /// NOTE: Corresponding STEP type: axis2_placement, please refer to ISO/IS 10303-42:1994, p. 19 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 1.5 -class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// /// HISTORY New type in IFC Release 2x4 -class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This select type identifies /// all those types of entities which may participate in a Boolean operation to /// form a CSG solid. @@ -102,7 +114,10 @@ class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseI /// (IfcSolidModel) are defined for being valid Boolean operands. /// /// HISTORY: New Type in IFC Release 1.5.1 -class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. /// /// HISTORY: New Select Type in IFC2x @@ -111,7 +126,10 @@ class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface /// /// IfcClassification (for classification information) /// IfcClassificationReference (for reference into a classification source) -class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. /// /// NOTE  Generally, it is expected that selection will be by IfcClassificationReference to identify an individual classification notation that classifies an element in the building information model. For example an element, such as IfcTank, might be further classified by assigning an IfcClassificationReference with Identification = "L6814" and a ClassificationSource identifying the appropriate version of Uniclass. IfcClassification should only be selected in @@ -125,36 +143,57 @@ class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::I /// /// IfcClassification (for referencing a classification system) /// IfcClassificationReference (for referencing a classification item (or facet) inside a classification system) -class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. /// /// NOTE  Corresponding STEP name: colour. It has been made into a SELECT type in IFC to avoid multiple inheritance for pre defined colour. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// /// HISTORY  New select type in IFC2x4. -class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. /// Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive. /// /// NOTE Corresponding ISO 10303-42 type: csg_select, please refer to ISO/IS 10303-42:1994, p.168 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5.1. -class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. /// /// NOTE Corresponding ISO 10303 name: curve_font_or_scaled_curve_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve /// and subtypes) within a geometric model, or a curve with associated geometry and coordinates (IfcEdgeCurve) within a topological model. /// SELECT @@ -163,13 +202,19 @@ class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface /// IfcEdgeCurve /// /// HISTORY  New select type in IFC2x Edition 3. -class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. /// /// NOTE Corresponding ISO 10303 name: curve_style_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT /// @@ -177,7 +222,10 @@ class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInt /// IfcPropertyDefinition /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// /// SELECT @@ -252,7 +300,10 @@ class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterfa /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. -class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. /// /// HISTORY: New Select Type in IFC 2x @@ -261,20 +312,29 @@ class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInte /// /// IfcDocumentInformation (for "metadata" of an external document) /// IfcDocumentReference (for reference within a document) -class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. /// /// NOTE Corresponding ISO 10303 name: fill_style_select. Please refer to ISO/IS 10303-46:1994 for /// the final definition of the formal standard. /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. /// /// NOTE: Corresponding ISO 10303 type: geometric_set_select. Please refer to ISO/IS 10303-42:1994, p. 169 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 2x. -class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. /// /// SELECT @@ -283,11 +343,17 @@ class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInter /// IfcVirtualGridIntersection /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. /// /// It is the collection of all those items, that are assigned to a single layer. These items are representation items or complete representations (IfcRepresentationItem, IfcRepresentation). If an IfcRepresentation is referenced, all IfcRepresentationItem within its set of Items are assigned to the same layer. @@ -295,7 +361,10 @@ class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBase /// NOTE: Corresponding ISO 10303 name: layered_item. It was called layered_things in the ISO/CD version and had been renamed to layered_item in the ISO/IS final version. Please refer to ISO/IS 10303-46:1994, p. 13 for the final definition of the formal standard. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. /// /// HISTORY: New Select Type in IFC2x @@ -306,7 +375,10 @@ class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface {} /// IfcLibraryReference (for reference into a library of information by location) /// /// Generally, it is expected that selection will be IfcLibraryReference and only rarely IfcLibraryInformation. IfcLibraryInformation should only be selected in circumstances where there could be a need to indicate the libraries that will be used without making individual references. This may occur for higher level objects such as a project or building. -class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. /// /// The light distribution provides the luminous intensity distribution according to some standardized light distribution curves. @@ -329,7 +401,10 @@ class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface /// directions covers all cases. /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcMaterialSelect provides selection of either a material /// definition or a material usage definition that can be assigned to /// an element, a resource or another entity within IFC. @@ -356,7 +431,10 @@ class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUti /// /// IFC2x4 CHANGE The select now includes two new abstract entities IfcMaterialDefinition /// and IfcMaterialUsageDefinition with upward compatibility. The use of IfcMaterialList is deprecated from IFC2x4 onwards. -class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). /// /// NOTE IfcMeasureValue is a select data type for most basic measure types coming from ISO 10303-41. Select item IfcNonNegativeLengthMeasure is in addition to ISO 10303-41. @@ -366,7 +444,10 @@ class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface /// HISTORY New type in IFC Release 1.5.1. /// /// IFC 2x4 change: added IfcNonNegativeLengthMeasure -class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. /// /// HISTORY: New type in IFC Release 2.0 @@ -379,23 +460,38 @@ class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { /// IfcTable /// IfcText /// IfcTimeSeries -class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// /// HISTORY  New select type in IFC Release 2.0. -class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. /// SELECT /// @@ -403,7 +499,10 @@ class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseIn /// IfcVertexPoint /// /// HISTORY  New select type in IFC2x Edition 3. -class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The presentation style select is a selection of one of many kinds of styles, a different one for each kind of geometric representation item to be styled. /// /// NOTE Corresponding ISO 10303 name: presentation_style_Select. Please refer to ISO/IS @@ -412,7 +511,10 @@ class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInter /// HISTORY New type in IFC2x2. /// /// IFC2x4 CHANGE The select type has been deprecated. -class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcProcessSelectprovides the option to either /// select a process or activity occurrence, IfcProcess, /// or a process or activity type, IfcTypeProcess. @@ -423,9 +525,15 @@ class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBase /// IfcTypeProcess /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcProductSelectprovides the option to either select a /// product occurrence, IfcProduct, or a product type, /// IfcTypeProduct. @@ -435,13 +543,22 @@ class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::Ifc /// IfcTypeProduct /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// /// HISTORY  New Select type in IFC2x4. -class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, /// IfcTypeResource. @@ -451,13 +568,22 @@ class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInt /// IfcTypeResource /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < ¥. /// /// A shell of dimensionality 0 is represented by a graph consisting of a single vertex. The vertex shall not have any associated edges. @@ -469,7 +595,10 @@ class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInter /// NOTE  Corresponding ISO 10303 type: shell. Please refer to ISO/IS 10303-42:1994, p. 127 for the final definition of the formal standard. Only the select items closed_shell (IfcClosedShell) and open_shell (IfcOpenShell) have been incorporated in the current IFC release. /// /// HISTORY  New type in IFC2x. -class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcSimpleValue is a select type for selecting between simple value types. /// /// SELECT @@ -489,7 +618,10 @@ class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface {}; /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. -class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. /// /// Definition from ISO: The size (or width) measure value is given in the global drawing length units. @@ -502,7 +634,10 @@ class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface {} /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. -class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. /// SELECT /// @@ -510,7 +645,10 @@ class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcClosedShell /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: The /// IfcSpaceBoundarySelectselects either an internal space /// for internal or external space boundaries, or an external spatial @@ -523,7 +661,10 @@ class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface { /// /// HISTORY New select type /// in IFC2x4. -class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. /// /// NOTE: The two select types relate to the different ways to specifiy the sharpness (or shininess) of the specular part of the reflectance equation. It relates to the attributes: @@ -534,7 +675,10 @@ class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInte /// For each surface side style only one of the two methods is needed for calculating the specular part of the equation. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of /// IfcStructuralItem or IfcBuildingElement. The @@ -544,7 +688,10 @@ class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBase /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The style assignment select is a selection of two wasy of assigning presentation styles to an IfcStyledItem. /// /// by directly assigning presentation styles as subtypes of IfcPresentationStyle @@ -555,7 +702,10 @@ class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUt /// NOTE The select type has been introduced to provide an upward compatible improvement for assigning styles to a styled items. /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcStyleAssignmentSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcStyleAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface /// and subtypes) within a geometric model, or a face with associated surface geometry and coordinates (IfcFaceSurface) within a topological model. /// SELECT @@ -565,7 +715,10 @@ class IFC_PARSE_API IfcStyleAssignmentSelect : public virtual IfcUtil::IfcBaseIn /// IfcFaceBasedSurfaceModel (a connected face set, representing a faceted surface as an approximation of a non planar, non rectangular bounded surface) /// /// HISTORY  New select type in IFC2x3. -class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. /// /// The select type only includes the IfcSurfaceStyleRendering (which is the equivalent to surface_style_rendering) from the select type surface_style_element_select. In addition it has the IfcSurfaceStyleLighting, which holds the exact physically based lighting properties for lighting based calculation algorithms (as the opposite to the rendering based calculation), the IfcSurfaceStyleRefraction (for more advanced refraction indices) and IfcSurfaceStyleWithTextures (to allow for image textures applied to surfaces). In addition an IfcExternallyDefinedSurfaceStyle can be selected that points into an external material library. @@ -575,7 +728,10 @@ class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInt /// NOTE: Corresponding ISO 10303 type: surface_style_element_select. Please refer to ISO/IS 10303-46:1994, p. 85 for the final definition of the formal standard. /// /// HISTORY: New Select type in IFC2x2. -class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. /// /// NOTE  IfcTextFontSelect is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation. Corresponding ISO 10303 name: font_select. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard. @@ -583,20 +739,32 @@ class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBa /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. -class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 -class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. /// /// NOTE Corresponding ISO 10303 type: trimming_select, please refer to ISO/IS 10303-42:1994, p. 20 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.0 -class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. /// /// NOTE: Select item IfcMonetaryUnit is an addition to ISO 10303-41. @@ -610,7 +778,10 @@ class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface /// IfcMonetaryUnit: A unit for defining currencies. /// /// HISTORY: New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. /// @@ -621,7 +792,10 @@ class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface {}; /// IfcDerivedMeasureValue A select type for derived measure types. /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. /// @@ -630,11 +804,17 @@ class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface {}; /// definition of the formal standard. /// HISTORY New Type in IFC Release /// 1.5 -class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; class IFC_PARSE_API IfcActionRequestTypeEnum : public IfcUtil::IfcBaseType { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. /// HISTORY: New Enumeration in IFC2x4. diff --git a/src/ifcparse/Ifc4x3_rc1.cpp b/src/ifcparse/Ifc4x3_rc1.cpp index d7894c925c..67bc0c0e19 100644 --- a/src/ifcparse/Ifc4x3_rc1.cpp +++ b/src/ifcparse/Ifc4x3_rc1.cpp @@ -1288,6 +1288,72 @@ extern enumeration_type* IFC4X3_RC1_IfcWindowTypePartitioningEnum_type; extern enumeration_type* IFC4X3_RC1_IfcWorkCalendarTypeEnum_type; extern enumeration_type* IFC4X3_RC1_IfcWorkPlanTypeEnum_type; extern enumeration_type* IFC4X3_RC1_IfcWorkScheduleTypeEnum_type; +extern select_type* IFC4X3_RC1_IfcActorSelect_type; +extern select_type* IFC4X3_RC1_IfcAppliedValueSelect_type; +extern select_type* IFC4X3_RC1_IfcAxis2Placement_type; +extern select_type* IFC4X3_RC1_IfcBendingParameterSelect_type; +extern select_type* IFC4X3_RC1_IfcBooleanOperand_type; +extern select_type* IFC4X3_RC1_IfcClassificationReferenceSelect_type; +extern select_type* IFC4X3_RC1_IfcClassificationSelect_type; +extern select_type* IFC4X3_RC1_IfcColour_type; +extern select_type* IFC4X3_RC1_IfcColourOrFactor_type; +extern select_type* IFC4X3_RC1_IfcCoordinateReferenceSystemSelect_type; +extern select_type* IFC4X3_RC1_IfcCsgSelect_type; +extern select_type* IFC4X3_RC1_IfcCurveFontOrScaledCurveFontSelect_type; +extern select_type* IFC4X3_RC1_IfcCurveOnSurface_type; +extern select_type* IFC4X3_RC1_IfcCurveOrEdgeCurve_type; +extern select_type* IFC4X3_RC1_IfcCurveStyleFontSelect_type; +extern select_type* IFC4X3_RC1_IfcDefinitionSelect_type; +extern select_type* IFC4X3_RC1_IfcDerivedMeasureValue_type; +extern select_type* IFC4X3_RC1_IfcDocumentSelect_type; +extern select_type* IFC4X3_RC1_IfcFacilityPartTypeSelect_type; +extern select_type* IFC4X3_RC1_IfcFillStyleSelect_type; +extern select_type* IFC4X3_RC1_IfcGeometricSetSelect_type; +extern select_type* IFC4X3_RC1_IfcGridPlacementDirectionSelect_type; +extern select_type* IFC4X3_RC1_IfcHatchLineDistanceSelect_type; +extern select_type* IFC4X3_RC1_IfcImpactProtectionDeviceTypeSelect_type; +extern select_type* IFC4X3_RC1_IfcInterferenceSelect_type; +extern select_type* IFC4X3_RC1_IfcLayeredItem_type; +extern select_type* IFC4X3_RC1_IfcLibrarySelect_type; +extern select_type* IFC4X3_RC1_IfcLightDistributionDataSourceSelect_type; +extern select_type* IFC4X3_RC1_IfcLinearAxisSelect_type; +extern select_type* IFC4X3_RC1_IfcMaterialSelect_type; +extern select_type* IFC4X3_RC1_IfcMeasureValue_type; +extern select_type* IFC4X3_RC1_IfcMetricValueSelect_type; +extern select_type* IFC4X3_RC1_IfcModulusOfRotationalSubgradeReactionSelect_type; +extern select_type* IFC4X3_RC1_IfcModulusOfSubgradeReactionSelect_type; +extern select_type* IFC4X3_RC1_IfcModulusOfTranslationalSubgradeReactionSelect_type; +extern select_type* IFC4X3_RC1_IfcObjectReferenceSelect_type; +extern select_type* IFC4X3_RC1_IfcPointOrVertexPoint_type; +extern select_type* IFC4X3_RC1_IfcPresentationStyleSelect_type; +extern select_type* IFC4X3_RC1_IfcProcessSelect_type; +extern select_type* IFC4X3_RC1_IfcProductRepresentationSelect_type; +extern select_type* IFC4X3_RC1_IfcProductSelect_type; +extern select_type* IFC4X3_RC1_IfcPropertySetDefinitionSelect_type; +extern select_type* IFC4X3_RC1_IfcResourceObjectSelect_type; +extern select_type* IFC4X3_RC1_IfcResourceSelect_type; +extern select_type* IFC4X3_RC1_IfcRotationalStiffnessSelect_type; +extern select_type* IFC4X3_RC1_IfcSegmentIndexSelect_type; +extern select_type* IFC4X3_RC1_IfcShell_type; +extern select_type* IFC4X3_RC1_IfcSimpleValue_type; +extern select_type* IFC4X3_RC1_IfcSizeSelect_type; +extern select_type* IFC4X3_RC1_IfcSolidOrShell_type; +extern select_type* IFC4X3_RC1_IfcSpaceBoundarySelect_type; +extern select_type* IFC4X3_RC1_IfcSpatialReferenceSelect_type; +extern select_type* IFC4X3_RC1_IfcSpecularHighlightSelect_type; +extern select_type* IFC4X3_RC1_IfcStructuralActivityAssignmentSelect_type; +extern select_type* IFC4X3_RC1_IfcStyleAssignmentSelect_type; +extern select_type* IFC4X3_RC1_IfcSurfaceOrFaceSurface_type; +extern select_type* IFC4X3_RC1_IfcSurfaceStyleElementSelect_type; +extern select_type* IFC4X3_RC1_IfcTextFontSelect_type; +extern select_type* IFC4X3_RC1_IfcTimeOrRatioSelect_type; +extern select_type* IFC4X3_RC1_IfcTranslationalStiffnessSelect_type; +extern select_type* IFC4X3_RC1_IfcTransportElementTypeSelect_type; +extern select_type* IFC4X3_RC1_IfcTrimmingSelect_type; +extern select_type* IFC4X3_RC1_IfcUnit_type; +extern select_type* IFC4X3_RC1_IfcValue_type; +extern select_type* IFC4X3_RC1_IfcVectorOrDirection_type; +extern select_type* IFC4X3_RC1_IfcWarpingStiffnessSelect_type; const IfcParse::enumeration_type& Ifc4x3_rc1::IfcActionRequestTypeEnum::declaration() const { return *IFC4X3_RC1_IfcActionRequestTypeEnum_type; } @@ -11850,6 +11916,138 @@ Ifc4x3_rc1::IfcWorkScheduleTypeEnum::operator Ifc4x3_rc1::IfcWorkScheduleTypeEnu return FromString((std::string) *data_->getArgument(0)); } +const IfcParse::select_type& Ifc4x3_rc1::IfcActorSelect::Class() { return *IFC4X3_RC1_IfcActorSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcAppliedValueSelect::Class() { return *IFC4X3_RC1_IfcAppliedValueSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcAxis2Placement::Class() { return *IFC4X3_RC1_IfcAxis2Placement_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcBendingParameterSelect::Class() { return *IFC4X3_RC1_IfcBendingParameterSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcBooleanOperand::Class() { return *IFC4X3_RC1_IfcBooleanOperand_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcClassificationReferenceSelect::Class() { return *IFC4X3_RC1_IfcClassificationReferenceSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcClassificationSelect::Class() { return *IFC4X3_RC1_IfcClassificationSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcColour::Class() { return *IFC4X3_RC1_IfcColour_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcColourOrFactor::Class() { return *IFC4X3_RC1_IfcColourOrFactor_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcCoordinateReferenceSystemSelect::Class() { return *IFC4X3_RC1_IfcCoordinateReferenceSystemSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcCsgSelect::Class() { return *IFC4X3_RC1_IfcCsgSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcCurveFontOrScaledCurveFontSelect::Class() { return *IFC4X3_RC1_IfcCurveFontOrScaledCurveFontSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcCurveOnSurface::Class() { return *IFC4X3_RC1_IfcCurveOnSurface_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcCurveOrEdgeCurve::Class() { return *IFC4X3_RC1_IfcCurveOrEdgeCurve_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcCurveStyleFontSelect::Class() { return *IFC4X3_RC1_IfcCurveStyleFontSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcDefinitionSelect::Class() { return *IFC4X3_RC1_IfcDefinitionSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcDerivedMeasureValue::Class() { return *IFC4X3_RC1_IfcDerivedMeasureValue_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcDocumentSelect::Class() { return *IFC4X3_RC1_IfcDocumentSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcFacilityPartTypeSelect::Class() { return *IFC4X3_RC1_IfcFacilityPartTypeSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcFillStyleSelect::Class() { return *IFC4X3_RC1_IfcFillStyleSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcGeometricSetSelect::Class() { return *IFC4X3_RC1_IfcGeometricSetSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcGridPlacementDirectionSelect::Class() { return *IFC4X3_RC1_IfcGridPlacementDirectionSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcHatchLineDistanceSelect::Class() { return *IFC4X3_RC1_IfcHatchLineDistanceSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect::Class() { return *IFC4X3_RC1_IfcImpactProtectionDeviceTypeSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcInterferenceSelect::Class() { return *IFC4X3_RC1_IfcInterferenceSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcLayeredItem::Class() { return *IFC4X3_RC1_IfcLayeredItem_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcLibrarySelect::Class() { return *IFC4X3_RC1_IfcLibrarySelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcLightDistributionDataSourceSelect::Class() { return *IFC4X3_RC1_IfcLightDistributionDataSourceSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcLinearAxisSelect::Class() { return *IFC4X3_RC1_IfcLinearAxisSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcMaterialSelect::Class() { return *IFC4X3_RC1_IfcMaterialSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcMeasureValue::Class() { return *IFC4X3_RC1_IfcMeasureValue_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcMetricValueSelect::Class() { return *IFC4X3_RC1_IfcMetricValueSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect::Class() { return *IFC4X3_RC1_IfcModulusOfRotationalSubgradeReactionSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect::Class() { return *IFC4X3_RC1_IfcModulusOfSubgradeReactionSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect::Class() { return *IFC4X3_RC1_IfcModulusOfTranslationalSubgradeReactionSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcObjectReferenceSelect::Class() { return *IFC4X3_RC1_IfcObjectReferenceSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcPointOrVertexPoint::Class() { return *IFC4X3_RC1_IfcPointOrVertexPoint_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcPresentationStyleSelect::Class() { return *IFC4X3_RC1_IfcPresentationStyleSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcProcessSelect::Class() { return *IFC4X3_RC1_IfcProcessSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcProductRepresentationSelect::Class() { return *IFC4X3_RC1_IfcProductRepresentationSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcProductSelect::Class() { return *IFC4X3_RC1_IfcProductSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcPropertySetDefinitionSelect::Class() { return *IFC4X3_RC1_IfcPropertySetDefinitionSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcResourceObjectSelect::Class() { return *IFC4X3_RC1_IfcResourceObjectSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcResourceSelect::Class() { return *IFC4X3_RC1_IfcResourceSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcRotationalStiffnessSelect::Class() { return *IFC4X3_RC1_IfcRotationalStiffnessSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcSegmentIndexSelect::Class() { return *IFC4X3_RC1_IfcSegmentIndexSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcShell::Class() { return *IFC4X3_RC1_IfcShell_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcSimpleValue::Class() { return *IFC4X3_RC1_IfcSimpleValue_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcSizeSelect::Class() { return *IFC4X3_RC1_IfcSizeSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcSolidOrShell::Class() { return *IFC4X3_RC1_IfcSolidOrShell_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcSpaceBoundarySelect::Class() { return *IFC4X3_RC1_IfcSpaceBoundarySelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcSpatialReferenceSelect::Class() { return *IFC4X3_RC1_IfcSpatialReferenceSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcSpecularHighlightSelect::Class() { return *IFC4X3_RC1_IfcSpecularHighlightSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcStructuralActivityAssignmentSelect::Class() { return *IFC4X3_RC1_IfcStructuralActivityAssignmentSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcStyleAssignmentSelect::Class() { return *IFC4X3_RC1_IfcStyleAssignmentSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcSurfaceOrFaceSurface::Class() { return *IFC4X3_RC1_IfcSurfaceOrFaceSurface_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcSurfaceStyleElementSelect::Class() { return *IFC4X3_RC1_IfcSurfaceStyleElementSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcTextFontSelect::Class() { return *IFC4X3_RC1_IfcTextFontSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcTimeOrRatioSelect::Class() { return *IFC4X3_RC1_IfcTimeOrRatioSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcTranslationalStiffnessSelect::Class() { return *IFC4X3_RC1_IfcTranslationalStiffnessSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcTransportElementTypeSelect::Class() { return *IFC4X3_RC1_IfcTransportElementTypeSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcTrimmingSelect::Class() { return *IFC4X3_RC1_IfcTrimmingSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcUnit::Class() { return *IFC4X3_RC1_IfcUnit_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcValue::Class() { return *IFC4X3_RC1_IfcValue_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcVectorOrDirection::Class() { return *IFC4X3_RC1_IfcVectorOrDirection_type; } + +const IfcParse::select_type& Ifc4x3_rc1::IfcWarpingStiffnessSelect::Class() { return *IFC4X3_RC1_IfcWarpingStiffnessSelect_type; } + // Function implementations for IfcAbsorbedDoseMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcAbsorbedDoseMeasure::Class() { return *IFC4X3_RC1_IfcAbsorbedDoseMeasure_type; } @@ -12777,7 +12975,7 @@ Ifc4x3_rc1::IfcActionRequest::IfcActionRequest(IfcEntityInstanceData* e) : IfcCo Ifc4x3_rc1::IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3_rc1::IfcActionRequestTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcActionRequest_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v7_PredefinedType,::Ifc4x3_rc1::IfcActionRequestTypeEnum::ToString(*v7_PredefinedType))));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Status));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_LongDescription));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcActor -::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcActorSelect>(); } +::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } void Ifc4x3_rc1::IfcActor::setTheActor(::Ifc4x3_rc1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4x3_rc1::IfcRelAssignsToActor::list::ptr Ifc4x3_rc1::IfcActor::IsActingUpon() const { return data_->getInverse(IFC4X3_RC1_IfcRelAssignsToActor_type, 6)->as(); } @@ -13027,7 +13225,7 @@ Ifc4x3_rc1::IfcAlignment2DHorizontal::IfcAlignment2DHorizontal(IfcEntityInstance Ifc4x3_rc1::IfcAlignment2DHorizontal::IfcAlignment2DHorizontal(boost::optional< double > v1_StartDistAlong, aggregate_of< ::Ifc4x3_rc1::IfcAlignment2DHorizontalSegment >::ptr v2_Segments) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcAlignment2DHorizontal_type); if (v1_StartDistAlong) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_StartDistAlong));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Segments)->generalize());data_->setArgument(1,attr);} } // Function implementations for IfcAlignment2DHorizontalSegment -::Ifc4x3_rc1::IfcCurveSegment2D* Ifc4x3_rc1::IfcAlignment2DHorizontalSegment::CurveGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcCurveSegment2D>(); } +::Ifc4x3_rc1::IfcCurveSegment2D* Ifc4x3_rc1::IfcAlignment2DHorizontalSegment::CurveGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcCurveSegment2D>(true); } void Ifc4x3_rc1::IfcAlignment2DHorizontalSegment::setCurveGeometry(::Ifc4x3_rc1::IfcCurveSegment2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3_rc1::IfcAlignment2DHorizontal::list::ptr Ifc4x3_rc1::IfcAlignment2DHorizontalSegment::ToHorizontal() const { return data_->getInverse(IFC4X3_RC1_IfcAlignment2DHorizontal_type, 1)->as(); } @@ -13130,9 +13328,9 @@ Ifc4x3_rc1::IfcAlignment2DVerticalSegment::IfcAlignment2DVerticalSegment(IfcEnti Ifc4x3_rc1::IfcAlignment2DVerticalSegment::IfcAlignment2DVerticalSegment(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient) : IfcAlignment2DSegment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcAlignment2DVerticalSegment_type); if (v1_TangentialContinuity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_TangentialContinuity));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_StartTag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_StartTag));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EndTag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EndTag));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_StartDistAlong));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_HorizontalLength));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_StartHeight));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_StartGradient));data_->setArgument(6,attr);} } // Function implementations for IfcAlignmentCurve -::Ifc4x3_rc1::IfcAlignment2DHorizontal* Ifc4x3_rc1::IfcAlignmentCurve::Horizontal() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcAlignment2DHorizontal>(); } +::Ifc4x3_rc1::IfcAlignment2DHorizontal* Ifc4x3_rc1::IfcAlignmentCurve::Horizontal() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcAlignment2DHorizontal>(true); } void Ifc4x3_rc1::IfcAlignmentCurve::setHorizontal(::Ifc4x3_rc1::IfcAlignment2DHorizontal* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc1::IfcAlignment2DVertical* Ifc4x3_rc1::IfcAlignmentCurve::Vertical() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcAlignment2DVertical>(); } +::Ifc4x3_rc1::IfcAlignment2DVertical* Ifc4x3_rc1::IfcAlignmentCurve::Vertical() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcAlignment2DVertical>(true); } void Ifc4x3_rc1::IfcAlignmentCurve::setVertical(::Ifc4x3_rc1::IfcAlignment2DVertical* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcAlignmentCurve::Tag() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc1::IfcAlignmentCurve::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } @@ -13155,7 +13353,7 @@ Ifc4x3_rc1::IfcAnnotation::IfcAnnotation(IfcEntityInstanceData* e) : IfcProduct( Ifc4x3_rc1::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_rc1::IfcAnnotationTypeEnum::Value > v8_PredefinedType) : IfcProduct((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcAnnotation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_PredefinedType,::Ifc4x3_rc1::IfcAnnotationTypeEnum::ToString(*v8_PredefinedType))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcAnnotationFillArea -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCurve>(); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcAnnotationFillArea::setOuterBoundary(::Ifc4x3_rc1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcCurve >::ptr > Ifc4x3_rc1::IfcAnnotationFillArea::InnerBoundaries() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc1::IfcCurve >(); } void Ifc4x3_rc1::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcCurve >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(1,attr);} } @@ -13167,7 +13365,7 @@ Ifc4x3_rc1::IfcAnnotationFillArea::IfcAnnotationFillArea(IfcEntityInstanceData* Ifc4x3_rc1::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc4x3_rc1::IfcCurve* v1_OuterBoundary, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcCurve >::ptr > v2_InnerBoundaries) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcAnnotationFillArea_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_OuterBoundary));data_->setArgument(0,attr);} if (v2_InnerBoundaries) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_InnerBoundaries)->generalize());data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcApplication -::Ifc4x3_rc1::IfcOrganization* Ifc4x3_rc1::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcOrganization>(); } +::Ifc4x3_rc1::IfcOrganization* Ifc4x3_rc1::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcOrganization>(true); } void Ifc4x3_rc1::IfcApplication::setApplicationDeveloper(::Ifc4x3_rc1::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } std::string Ifc4x3_rc1::IfcApplication::Version() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcApplication::setVersion(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13187,9 +13385,9 @@ boost::optional< std::string > Ifc4x3_rc1::IfcAppliedValue::Name() const { if(!d void Ifc4x3_rc1::IfcAppliedValue::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcAppliedValue::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcAppliedValue::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4x3_rc1::IfcAppliedValueSelect* Ifc4x3_rc1::IfcAppliedValue::AppliedValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcAppliedValueSelect>(); } +::Ifc4x3_rc1::IfcAppliedValueSelect* Ifc4x3_rc1::IfcAppliedValue::AppliedValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcAppliedValueSelect>(true); } void Ifc4x3_rc1::IfcAppliedValue::setAppliedValue(::Ifc4x3_rc1::IfcAppliedValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc1::IfcMeasureWithUnit* Ifc4x3_rc1::IfcAppliedValue::UnitBasis() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcMeasureWithUnit>(); } +::Ifc4x3_rc1::IfcMeasureWithUnit* Ifc4x3_rc1::IfcAppliedValue::UnitBasis() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcMeasureWithUnit>(true); } void Ifc4x3_rc1::IfcAppliedValue::setUnitBasis(::Ifc4x3_rc1::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcAppliedValue::ApplicableDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc1::IfcAppliedValue::setApplicableDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -13226,9 +13424,9 @@ boost::optional< std::string > Ifc4x3_rc1::IfcApproval::Level() const { if(!data void Ifc4x3_rc1::IfcApproval::setLevel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcApproval::Qualifier() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4x3_rc1::IfcApproval::setQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } -::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcApproval::RequestingApproval() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc1::IfcActorSelect>(); } +::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcApproval::RequestingApproval() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } void Ifc4x3_rc1::IfcApproval::setRequestingApproval(::Ifc4x3_rc1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcApproval::GivingApproval() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcActorSelect>(); } +::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcApproval::GivingApproval() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } void Ifc4x3_rc1::IfcApproval::setGivingApproval(::Ifc4x3_rc1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } ::Ifc4x3_rc1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc1::IfcApproval::HasExternalReferences() const { return data_->getInverse(IFC4X3_RC1_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -13243,7 +13441,7 @@ Ifc4x3_rc1::IfcApproval::IfcApproval(IfcEntityInstanceData* e) : IfcUtil::IfcBas Ifc4x3_rc1::IfcApproval::IfcApproval(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_TimeOfApproval, boost::optional< std::string > v5_Status, boost::optional< std::string > v6_Level, boost::optional< std::string > v7_Qualifier, ::Ifc4x3_rc1::IfcActorSelect* v8_RequestingApproval, ::Ifc4x3_rc1::IfcActorSelect* v9_GivingApproval) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcApproval_type); if (v1_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Name));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_TimeOfApproval) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_TimeOfApproval));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Status));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Level) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Level));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Qualifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Qualifier));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_RequestingApproval));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_GivingApproval));data_->setArgument(8,attr);} } // Function implementations for IfcApprovalRelationship -::Ifc4x3_rc1::IfcApproval* Ifc4x3_rc1::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcApproval>(); } +::Ifc4x3_rc1::IfcApproval* Ifc4x3_rc1::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcApproval>(true); } void Ifc4x3_rc1::IfcApprovalRelationship::setRelatingApproval(::Ifc4x3_rc1::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4x3_rc1::IfcApproval >::ptr Ifc4x3_rc1::IfcApprovalRelationship::RelatedApprovals() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc1::IfcApproval >(); } void Ifc4x3_rc1::IfcApprovalRelationship::setRelatedApprovals(aggregate_of< ::Ifc4x3_rc1::IfcApproval >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -13255,7 +13453,7 @@ Ifc4x3_rc1::IfcApprovalRelationship::IfcApprovalRelationship(IfcEntityInstanceDa Ifc4x3_rc1::IfcApprovalRelationship::IfcApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcApproval* v3_RelatingApproval, aggregate_of< ::Ifc4x3_rc1::IfcApproval >::ptr v4_RelatedApprovals) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingApproval));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedApprovals)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcArbitraryClosedProfileDef -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcCurve>(); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcArbitraryClosedProfileDef::setOuterCurve(::Ifc4x3_rc1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -13265,7 +13463,7 @@ Ifc4x3_rc1::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcEntity Ifc4x3_rc1::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcCurve* v3_OuterCurve) : IfcProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcArbitraryClosedProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4x3_rc1::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_OuterCurve));data_->setArgument(2,attr);} } // Function implementations for IfcArbitraryOpenProfileDef -::Ifc4x3_rc1::IfcBoundedCurve* Ifc4x3_rc1::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcBoundedCurve>(); } +::Ifc4x3_rc1::IfcBoundedCurve* Ifc4x3_rc1::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcBoundedCurve>(true); } void Ifc4x3_rc1::IfcArbitraryOpenProfileDef::setCurve(::Ifc4x3_rc1::IfcBoundedCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -13287,21 +13485,21 @@ Ifc4x3_rc1::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::I // Function implementations for IfcAsset boost::optional< std::string > Ifc4x3_rc1::IfcAsset::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x3_rc1::IfcAsset::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4x3_rc1::IfcCostValue* Ifc4x3_rc1::IfcAsset::OriginalValue() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcCostValue>(); } +::Ifc4x3_rc1::IfcCostValue* Ifc4x3_rc1::IfcAsset::OriginalValue() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcCostValue>(true); } void Ifc4x3_rc1::IfcAsset::setOriginalValue(::Ifc4x3_rc1::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4x3_rc1::IfcCostValue* Ifc4x3_rc1::IfcAsset::CurrentValue() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc1::IfcCostValue>(); } +::Ifc4x3_rc1::IfcCostValue* Ifc4x3_rc1::IfcAsset::CurrentValue() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc1::IfcCostValue>(true); } void Ifc4x3_rc1::IfcAsset::setCurrentValue(::Ifc4x3_rc1::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -::Ifc4x3_rc1::IfcCostValue* Ifc4x3_rc1::IfcAsset::TotalReplacementCost() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcCostValue>(); } +::Ifc4x3_rc1::IfcCostValue* Ifc4x3_rc1::IfcAsset::TotalReplacementCost() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcCostValue>(true); } void Ifc4x3_rc1::IfcAsset::setTotalReplacementCost(::Ifc4x3_rc1::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcAsset::Owner() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc1::IfcActorSelect>(); } +::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcAsset::Owner() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } void Ifc4x3_rc1::IfcAsset::setOwner(::Ifc4x3_rc1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcAsset::User() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc1::IfcActorSelect>(); } +::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcAsset::User() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } void Ifc4x3_rc1::IfcAsset::setUser(::Ifc4x3_rc1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -::Ifc4x3_rc1::IfcPerson* Ifc4x3_rc1::IfcAsset::ResponsiblePerson() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc1::IfcPerson>(); } +::Ifc4x3_rc1::IfcPerson* Ifc4x3_rc1::IfcAsset::ResponsiblePerson() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc1::IfcPerson>(true); } void Ifc4x3_rc1::IfcAsset::setResponsiblePerson(::Ifc4x3_rc1::IfcPerson* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcAsset::IncorporationDate() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } void Ifc4x3_rc1::IfcAsset::setIncorporationDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } -::Ifc4x3_rc1::IfcCostValue* Ifc4x3_rc1::IfcAsset::DepreciatedValue() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x3_rc1::IfcCostValue>(); } +::Ifc4x3_rc1::IfcCostValue* Ifc4x3_rc1::IfcAsset::DepreciatedValue() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x3_rc1::IfcCostValue>(true); } void Ifc4x3_rc1::IfcAsset::setDepreciatedValue(::Ifc4x3_rc1::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } @@ -13363,7 +13561,7 @@ Ifc4x3_rc1::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(IfcEntityIn Ifc4x3_rc1::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcAudioVisualApplianceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcAxis1Placement -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcAxis1Placement::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcDirection>(); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcAxis1Placement::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcAxis1Placement::setAxis(::Ifc4x3_rc1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13373,7 +13571,7 @@ Ifc4x3_rc1::IfcAxis1Placement::IfcAxis1Placement(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc1::IfcAxis1Placement::IfcAxis1Placement(::Ifc4x3_rc1::IfcCartesianPoint* v1_Location, ::Ifc4x3_rc1::IfcDirection* v2_Axis) : IfcPlacement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcAxis1Placement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Location));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Axis));data_->setArgument(1,attr);} } // Function implementations for IfcAxis2Placement2D -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcAxis2Placement2D::RefDirection() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcDirection>(); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcAxis2Placement2D::RefDirection() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcAxis2Placement2D::setRefDirection(::Ifc4x3_rc1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13383,9 +13581,9 @@ Ifc4x3_rc1::IfcAxis2Placement2D::IfcAxis2Placement2D(IfcEntityInstanceData* e) : Ifc4x3_rc1::IfcAxis2Placement2D::IfcAxis2Placement2D(::Ifc4x3_rc1::IfcCartesianPoint* v1_Location, ::Ifc4x3_rc1::IfcDirection* v2_RefDirection) : IfcPlacement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcAxis2Placement2D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Location));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RefDirection));data_->setArgument(1,attr);} } // Function implementations for IfcAxis2Placement3D -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcAxis2Placement3D::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcDirection>(); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcAxis2Placement3D::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcAxis2Placement3D::setAxis(::Ifc4x3_rc1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcAxis2Placement3D::RefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcDirection>(); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcAxis2Placement3D::RefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcAxis2Placement3D::setRefDirection(::Ifc4x3_rc1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -13580,9 +13778,9 @@ Ifc4x3_rc1::IfcBooleanClippingResult::IfcBooleanClippingResult(::Ifc4x3_rc1::Ifc // Function implementations for IfcBooleanResult ::Ifc4x3_rc1::IfcBooleanOperator::Value Ifc4x3_rc1::IfcBooleanResult::Operator() const { return ::Ifc4x3_rc1::IfcBooleanOperator::FromString(*data_->getArgument(0)); } void Ifc4x3_rc1::IfcBooleanResult::setOperator(::Ifc4x3_rc1::IfcBooleanOperator::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcBooleanOperator::ToString(v)));data_->setArgument(0,attr);} } -::Ifc4x3_rc1::IfcBooleanOperand* Ifc4x3_rc1::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcBooleanOperand>(); } +::Ifc4x3_rc1::IfcBooleanOperand* Ifc4x3_rc1::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcBooleanOperand>(true); } void Ifc4x3_rc1::IfcBooleanResult::setFirstOperand(::Ifc4x3_rc1::IfcBooleanOperand* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc1::IfcBooleanOperand* Ifc4x3_rc1::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcBooleanOperand>(); } +::Ifc4x3_rc1::IfcBooleanOperand* Ifc4x3_rc1::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcBooleanOperand>(true); } void Ifc4x3_rc1::IfcBooleanResult::setSecondOperand(::Ifc4x3_rc1::IfcBooleanOperand* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -13618,17 +13816,17 @@ Ifc4x3_rc1::IfcBoundaryCurve::IfcBoundaryCurve(IfcEntityInstanceData* e) : IfcCo Ifc4x3_rc1::IfcBoundaryCurve::IfcBoundaryCurve(aggregate_of< ::Ifc4x3_rc1::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurveOnSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcBoundaryCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Segments)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SelfIntersect));data_->setArgument(1,attr);} } // Function implementations for IfcBoundaryEdgeCondition -::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3_rc1::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthX(::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3_rc1::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthY(::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3_rc1::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthZ(::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3_rc1::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3_rc1::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3_rc1::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -13638,11 +13836,11 @@ Ifc4x3_rc1::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(IfcEntityInstance Ifc4x3_rc1::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect* v2_TranslationalStiffnessByLengthX, ::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect* v3_TranslationalStiffnessByLengthY, ::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect* v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect* v5_RotationalStiffnessByLengthX, ::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect* v6_RotationalStiffnessByLengthY, ::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect* v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcBoundaryEdgeCondition_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TranslationalStiffnessByLengthX));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TranslationalStiffnessByLengthY));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TranslationalStiffnessByLengthZ));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RotationalStiffnessByLengthX));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RotationalStiffnessByLengthY));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RotationalStiffnessByLengthZ));data_->setArgument(6,attr);} } // Function implementations for IfcBoundaryFaceCondition -::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3_rc1::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaX(::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3_rc1::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaY(::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3_rc1::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -13652,17 +13850,17 @@ Ifc4x3_rc1::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(IfcEntityInstance Ifc4x3_rc1::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect* v2_TranslationalStiffnessByAreaX, ::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect* v3_TranslationalStiffnessByAreaY, ::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect* v4_TranslationalStiffnessByAreaZ) : IfcBoundaryCondition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcBoundaryFaceCondition_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TranslationalStiffnessByAreaX));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TranslationalStiffnessByAreaY));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TranslationalStiffnessByAreaZ));data_->setArgument(3,attr);} } // Function implementations for IfcBoundaryNodeCondition -::Ifc4x3_rc1::IfcTranslationalStiffnessSelect* Ifc4x3_rc1::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcTranslationalStiffnessSelect>(); } +::Ifc4x3_rc1::IfcTranslationalStiffnessSelect* Ifc4x3_rc1::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3_rc1::IfcBoundaryNodeCondition::setTranslationalStiffnessX(::Ifc4x3_rc1::IfcTranslationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc1::IfcTranslationalStiffnessSelect* Ifc4x3_rc1::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcTranslationalStiffnessSelect>(); } +::Ifc4x3_rc1::IfcTranslationalStiffnessSelect* Ifc4x3_rc1::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3_rc1::IfcBoundaryNodeCondition::setTranslationalStiffnessY(::Ifc4x3_rc1::IfcTranslationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc1::IfcTranslationalStiffnessSelect* Ifc4x3_rc1::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcTranslationalStiffnessSelect>(); } +::Ifc4x3_rc1::IfcTranslationalStiffnessSelect* Ifc4x3_rc1::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3_rc1::IfcBoundaryNodeCondition::setTranslationalStiffnessZ(::Ifc4x3_rc1::IfcTranslationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc1::IfcRotationalStiffnessSelect* Ifc4x3_rc1::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcRotationalStiffnessSelect>(); } +::Ifc4x3_rc1::IfcRotationalStiffnessSelect* Ifc4x3_rc1::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcRotationalStiffnessSelect>(true); } void Ifc4x3_rc1::IfcBoundaryNodeCondition::setRotationalStiffnessX(::Ifc4x3_rc1::IfcRotationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc1::IfcRotationalStiffnessSelect* Ifc4x3_rc1::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcRotationalStiffnessSelect>(); } +::Ifc4x3_rc1::IfcRotationalStiffnessSelect* Ifc4x3_rc1::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcRotationalStiffnessSelect>(true); } void Ifc4x3_rc1::IfcBoundaryNodeCondition::setRotationalStiffnessY(::Ifc4x3_rc1::IfcRotationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc1::IfcRotationalStiffnessSelect* Ifc4x3_rc1::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcRotationalStiffnessSelect>(); } +::Ifc4x3_rc1::IfcRotationalStiffnessSelect* Ifc4x3_rc1::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcRotationalStiffnessSelect>(true); } void Ifc4x3_rc1::IfcBoundaryNodeCondition::setRotationalStiffnessZ(::Ifc4x3_rc1::IfcRotationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -13672,7 +13870,7 @@ Ifc4x3_rc1::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(IfcEntityInstance Ifc4x3_rc1::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ) : IfcBoundaryCondition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcBoundaryNodeCondition_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TranslationalStiffnessX));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TranslationalStiffnessY));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TranslationalStiffnessZ));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RotationalStiffnessX));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RotationalStiffnessY));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RotationalStiffnessZ));data_->setArgument(6,attr);} } // Function implementations for IfcBoundaryNodeConditionWarping -::Ifc4x3_rc1::IfcWarpingStiffnessSelect* Ifc4x3_rc1::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc1::IfcWarpingStiffnessSelect>(); } +::Ifc4x3_rc1::IfcWarpingStiffnessSelect* Ifc4x3_rc1::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc1::IfcWarpingStiffnessSelect>(true); } void Ifc4x3_rc1::IfcBoundaryNodeConditionWarping::setWarpingStiffness(::Ifc4x3_rc1::IfcWarpingStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -13699,7 +13897,7 @@ Ifc4x3_rc1::IfcBoundedSurface::IfcBoundedSurface(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc1::IfcBoundedSurface::IfcBoundedSurface() : IfcSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcBoundedSurface_type); } // Function implementations for IfcBoundingBox -::Ifc4x3_rc1::IfcCartesianPoint* Ifc4x3_rc1::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCartesianPoint>(); } +::Ifc4x3_rc1::IfcCartesianPoint* Ifc4x3_rc1::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCartesianPoint>(true); } void Ifc4x3_rc1::IfcBoundingBox::setCorner(::Ifc4x3_rc1::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x3_rc1::IfcBoundingBox::XDim() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcBoundingBox::setXDim(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13715,7 +13913,7 @@ Ifc4x3_rc1::IfcBoundingBox::IfcBoundingBox(IfcEntityInstanceData* e) : IfcGeomet Ifc4x3_rc1::IfcBoundingBox::IfcBoundingBox(::Ifc4x3_rc1::IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcBoundingBox_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Corner));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_XDim));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_YDim));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ZDim));data_->setArgument(3,attr);} } // Function implementations for IfcBoxedHalfSpace -::Ifc4x3_rc1::IfcBoundingBox* Ifc4x3_rc1::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcBoundingBox>(); } +::Ifc4x3_rc1::IfcBoundingBox* Ifc4x3_rc1::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcBoundingBox>(true); } void Ifc4x3_rc1::IfcBoxedHalfSpace::setEnclosure(::Ifc4x3_rc1::IfcBoundingBox* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -13747,7 +13945,7 @@ boost::optional< double > Ifc4x3_rc1::IfcBuilding::ElevationOfRefHeight() const void Ifc4x3_rc1::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc1::IfcBuilding::ElevationOfTerrain() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } void Ifc4x3_rc1::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } -::Ifc4x3_rc1::IfcPostalAddress* Ifc4x3_rc1::IfcBuilding::BuildingAddress() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc1::IfcPostalAddress>(); } +::Ifc4x3_rc1::IfcPostalAddress* Ifc4x3_rc1::IfcBuilding::BuildingAddress() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc1::IfcPostalAddress>(true); } void Ifc4x3_rc1::IfcBuilding::setBuildingAddress(::Ifc4x3_rc1::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } @@ -14027,11 +14225,11 @@ Ifc4x3_rc1::IfcCartesianPointList3D::IfcCartesianPointList3D(IfcEntityInstanceDa Ifc4x3_rc1::IfcCartesianPointList3D::IfcCartesianPointList3D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcCartesianPointList3D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CoordList));data_->setArgument(0,attr);} if (v2_TagList) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_TagList));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcCartesianTransformationOperator -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcCartesianTransformationOperator::Axis1() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcDirection>(); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcCartesianTransformationOperator::Axis1() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcCartesianTransformationOperator::setAxis1(::Ifc4x3_rc1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcCartesianTransformationOperator::Axis2() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcDirection>(); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcCartesianTransformationOperator::Axis2() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcCartesianTransformationOperator::setAxis2(::Ifc4x3_rc1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc1::IfcCartesianPoint* Ifc4x3_rc1::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcCartesianPoint>(); } +::Ifc4x3_rc1::IfcCartesianPoint* Ifc4x3_rc1::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcCartesianPoint>(true); } void Ifc4x3_rc1::IfcCartesianTransformationOperator::setLocalOrigin(::Ifc4x3_rc1::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc1::IfcCartesianTransformationOperator::Scale() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4x3_rc1::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } @@ -14061,7 +14259,7 @@ Ifc4x3_rc1::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransfor Ifc4x3_rc1::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(::Ifc4x3_rc1::IfcDirection* v1_Axis1, ::Ifc4x3_rc1::IfcDirection* v2_Axis2, ::Ifc4x3_rc1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2) : IfcCartesianTransformationOperator2D((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcCartesianTransformationOperator2DnonUniform_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Axis1));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Axis2));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_LocalOrigin));data_->setArgument(2,attr);} if (v4_Scale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Scale));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Scale2) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Scale2));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcCartesianTransformationOperator3D -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcCartesianTransformationOperator3D::Axis3() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcDirection>(); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcCartesianTransformationOperator3D::Axis3() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcCartesianTransformationOperator3D::setAxis3(::Ifc4x3_rc1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -14215,7 +14413,7 @@ Ifc4x3_rc1::IfcClassification::IfcClassification(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc1::IfcClassification::IfcClassification(boost::optional< std::string > v1_Source, boost::optional< std::string > v2_Edition, boost::optional< std::string > v3_EditionDate, std::string v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Location, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcClassification_type); if (v1_Source) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Source));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Edition) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Edition));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EditionDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EditionDate));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Name));data_->setArgument(3,attr);} if (v5_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Description));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Location));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ReferenceTokens) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ReferenceTokens));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcClassificationReference -::Ifc4x3_rc1::IfcClassificationReferenceSelect* Ifc4x3_rc1::IfcClassificationReference::ReferencedSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcClassificationReferenceSelect>(); } +::Ifc4x3_rc1::IfcClassificationReferenceSelect* Ifc4x3_rc1::IfcClassificationReference::ReferencedSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcClassificationReferenceSelect>(true); } void Ifc4x3_rc1::IfcClassificationReference::setReferencedSource(::Ifc4x3_rc1::IfcClassificationReferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcClassificationReference::Description() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc1::IfcClassificationReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -14391,7 +14589,7 @@ Ifc4x3_rc1::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(aggregate_of< void Ifc4x3_rc1::IfcCompositeCurveSegment::setTransition(::Ifc4x3_rc1::IfcTransitionCode::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcTransitionCode::ToString(v)));data_->setArgument(0,attr);} } bool Ifc4x3_rc1::IfcCompositeCurveSegment::SameSense() const { bool v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcCompositeCurveSegment::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcCurve>(); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcCompositeCurveSegment::setParentCurve(::Ifc4x3_rc1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4x3_rc1::IfcCompositeCurve::list::ptr Ifc4x3_rc1::IfcCompositeCurveSegment::UsingCurves() const { return data_->getInverse(IFC4X3_RC1_IfcCompositeCurve_type, 0)->as(); } @@ -14454,7 +14652,7 @@ Ifc4x3_rc1::IfcCondenserType::IfcCondenserType(IfcEntityInstanceData* e) : IfcEn Ifc4x3_rc1::IfcCondenserType::IfcCondenserType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCondenserTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcCondenserType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc1::IfcCondenserTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcConic -::Ifc4x3_rc1::IfcAxis2Placement* Ifc4x3_rc1::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcAxis2Placement>(); } +::Ifc4x3_rc1::IfcAxis2Placement* Ifc4x3_rc1::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcAxis2Placement>(true); } void Ifc4x3_rc1::IfcConic::setPosition(::Ifc4x3_rc1::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -14474,9 +14672,9 @@ Ifc4x3_rc1::IfcConnectedFaceSet::IfcConnectedFaceSet(IfcEntityInstanceData* e) : Ifc4x3_rc1::IfcConnectedFaceSet::IfcConnectedFaceSet(aggregate_of< ::Ifc4x3_rc1::IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcConnectedFaceSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CfsFaces)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcConnectionCurveGeometry -::Ifc4x3_rc1::IfcCurveOrEdgeCurve* Ifc4x3_rc1::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCurveOrEdgeCurve>(); } +::Ifc4x3_rc1::IfcCurveOrEdgeCurve* Ifc4x3_rc1::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCurveOrEdgeCurve>(true); } void Ifc4x3_rc1::IfcConnectionCurveGeometry::setCurveOnRelatingElement(::Ifc4x3_rc1::IfcCurveOrEdgeCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc1::IfcCurveOrEdgeCurve* Ifc4x3_rc1::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcCurveOrEdgeCurve>(); } +::Ifc4x3_rc1::IfcCurveOrEdgeCurve* Ifc4x3_rc1::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcCurveOrEdgeCurve>(true); } void Ifc4x3_rc1::IfcConnectionCurveGeometry::setCurveOnRelatedElement(::Ifc4x3_rc1::IfcCurveOrEdgeCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -14508,9 +14706,9 @@ Ifc4x3_rc1::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcEn Ifc4x3_rc1::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(::Ifc4x3_rc1::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_rc1::IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcConnectionPointEccentricity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_PointOnRelatingElement));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PointOnRelatedElement));data_->setArgument(1,attr);} if (v3_EccentricityInX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EccentricityInX));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_EccentricityInY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_EccentricityInY));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_EccentricityInZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_EccentricityInZ));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcConnectionPointGeometry -::Ifc4x3_rc1::IfcPointOrVertexPoint* Ifc4x3_rc1::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcPointOrVertexPoint>(); } +::Ifc4x3_rc1::IfcPointOrVertexPoint* Ifc4x3_rc1::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcPointOrVertexPoint>(true); } void Ifc4x3_rc1::IfcConnectionPointGeometry::setPointOnRelatingElement(::Ifc4x3_rc1::IfcPointOrVertexPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc1::IfcPointOrVertexPoint* Ifc4x3_rc1::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcPointOrVertexPoint>(); } +::Ifc4x3_rc1::IfcPointOrVertexPoint* Ifc4x3_rc1::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcPointOrVertexPoint>(true); } void Ifc4x3_rc1::IfcConnectionPointGeometry::setPointOnRelatedElement(::Ifc4x3_rc1::IfcPointOrVertexPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -14520,9 +14718,9 @@ Ifc4x3_rc1::IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcEntityInst Ifc4x3_rc1::IfcConnectionPointGeometry::IfcConnectionPointGeometry(::Ifc4x3_rc1::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_rc1::IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcConnectionPointGeometry_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_PointOnRelatingElement));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PointOnRelatedElement));data_->setArgument(1,attr);} } // Function implementations for IfcConnectionSurfaceGeometry -::Ifc4x3_rc1::IfcSurfaceOrFaceSurface* Ifc4x3_rc1::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcSurfaceOrFaceSurface>(); } +::Ifc4x3_rc1::IfcSurfaceOrFaceSurface* Ifc4x3_rc1::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcSurfaceOrFaceSurface>(true); } void Ifc4x3_rc1::IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(::Ifc4x3_rc1::IfcSurfaceOrFaceSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc1::IfcSurfaceOrFaceSurface* Ifc4x3_rc1::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcSurfaceOrFaceSurface>(); } +::Ifc4x3_rc1::IfcSurfaceOrFaceSurface* Ifc4x3_rc1::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcSurfaceOrFaceSurface>(true); } void Ifc4x3_rc1::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(::Ifc4x3_rc1::IfcSurfaceOrFaceSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -14532,9 +14730,9 @@ Ifc4x3_rc1::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcEntity Ifc4x3_rc1::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(::Ifc4x3_rc1::IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, ::Ifc4x3_rc1::IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcConnectionSurfaceGeometry_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SurfaceOnRelatingElement));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SurfaceOnRelatedElement));data_->setArgument(1,attr);} } // Function implementations for IfcConnectionVolumeGeometry -::Ifc4x3_rc1::IfcSolidOrShell* Ifc4x3_rc1::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcSolidOrShell>(); } +::Ifc4x3_rc1::IfcSolidOrShell* Ifc4x3_rc1::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcSolidOrShell>(true); } void Ifc4x3_rc1::IfcConnectionVolumeGeometry::setVolumeOnRelatingElement(::Ifc4x3_rc1::IfcSolidOrShell* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc1::IfcSolidOrShell* Ifc4x3_rc1::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcSolidOrShell>(); } +::Ifc4x3_rc1::IfcSolidOrShell* Ifc4x3_rc1::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcSolidOrShell>(true); } void Ifc4x3_rc1::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(::Ifc4x3_rc1::IfcSolidOrShell* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -14552,7 +14750,7 @@ void Ifc4x3_rc1::IfcConstraint::setDescription(boost::optional< std::string > v) void Ifc4x3_rc1::IfcConstraint::setConstraintGrade(::Ifc4x3_rc1::IfcConstraintEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcConstraintEnum::ToString(v)));data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcConstraint::ConstraintSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x3_rc1::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } -::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcConstraint::CreatingActor() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcActorSelect>(); } +::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcConstraint::CreatingActor() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } void Ifc4x3_rc1::IfcConstraint::setCreatingActor(::Ifc4x3_rc1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcConstraint::CreationTime() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x3_rc1::IfcConstraint::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } @@ -14628,11 +14826,11 @@ Ifc4x3_rc1::IfcConstructionProductResourceType::IfcConstructionProductResourceTy Ifc4x3_rc1::IfcConstructionProductResourceType::IfcConstructionProductResourceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcConstructionProductResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcConstructionResource -::Ifc4x3_rc1::IfcResourceTime* Ifc4x3_rc1::IfcConstructionResource::Usage() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc1::IfcResourceTime>(); } +::Ifc4x3_rc1::IfcResourceTime* Ifc4x3_rc1::IfcConstructionResource::Usage() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc1::IfcResourceTime>(true); } void Ifc4x3_rc1::IfcConstructionResource::setUsage(::Ifc4x3_rc1::IfcResourceTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > Ifc4x3_rc1::IfcConstructionResource::BaseCosts() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x3_rc1::IfcAppliedValue >(); } void Ifc4x3_rc1::IfcConstructionResource::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } -::Ifc4x3_rc1::IfcPhysicalQuantity* Ifc4x3_rc1::IfcConstructionResource::BaseQuantity() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc1::IfcPhysicalQuantity>(); } +::Ifc4x3_rc1::IfcPhysicalQuantity* Ifc4x3_rc1::IfcConstructionResource::BaseQuantity() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc1::IfcPhysicalQuantity>(true); } void Ifc4x3_rc1::IfcConstructionResource::setBaseQuantity(::Ifc4x3_rc1::IfcPhysicalQuantity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -14644,7 +14842,7 @@ Ifc4x3_rc1::IfcConstructionResource::IfcConstructionResource(std::string v1_Glob // Function implementations for IfcConstructionResourceType boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > Ifc4x3_rc1::IfcConstructionResourceType::BaseCosts() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x3_rc1::IfcAppliedValue >(); } void Ifc4x3_rc1::IfcConstructionResourceType::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(9,attr);} } -::Ifc4x3_rc1::IfcPhysicalQuantity* Ifc4x3_rc1::IfcConstructionResourceType::BaseQuantity() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc1::IfcPhysicalQuantity>(); } +::Ifc4x3_rc1::IfcPhysicalQuantity* Ifc4x3_rc1::IfcConstructionResourceType::BaseQuantity() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc1::IfcPhysicalQuantity>(true); } void Ifc4x3_rc1::IfcConstructionResourceType::setBaseQuantity(::Ifc4x3_rc1::IfcPhysicalQuantity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -14662,7 +14860,7 @@ boost::optional< std::string > Ifc4x3_rc1::IfcContext::Phase() const { if(!data_ void Ifc4x3_rc1::IfcContext::setPhase(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationContext >::ptr > Ifc4x3_rc1::IfcContext::RepresentationContexts() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc1::IfcRepresentationContext >(); } void Ifc4x3_rc1::IfcContext::setRepresentationContexts(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationContext >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } -::Ifc4x3_rc1::IfcUnitAssignment* Ifc4x3_rc1::IfcContext::UnitsInContext() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcUnitAssignment>(); } +::Ifc4x3_rc1::IfcUnitAssignment* Ifc4x3_rc1::IfcContext::UnitsInContext() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcUnitAssignment>(true); } void Ifc4x3_rc1::IfcContext::setUnitsInContext(::Ifc4x3_rc1::IfcUnitAssignment* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } ::Ifc4x3_rc1::IfcRelDefinesByProperties::list::ptr Ifc4x3_rc1::IfcContext::IsDefinedBy() const { return data_->getInverse(IFC4X3_RC1_IfcRelDefinesByProperties_type, 4)->as(); } @@ -14718,7 +14916,7 @@ Ifc4x3_rc1::IfcControllerType::IfcControllerType(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcConversionBasedUnit std::string Ifc4x3_rc1::IfcConversionBasedUnit::Name() const { std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc1::IfcConversionBasedUnit::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc1::IfcMeasureWithUnit* Ifc4x3_rc1::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcMeasureWithUnit>(); } +::Ifc4x3_rc1::IfcMeasureWithUnit* Ifc4x3_rc1::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcMeasureWithUnit>(true); } void Ifc4x3_rc1::IfcConversionBasedUnit::setConversionFactor(::Ifc4x3_rc1::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3_rc1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc1::IfcConversionBasedUnit::HasExternalReference() const { return data_->getInverse(IFC4X3_RC1_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -14799,9 +14997,9 @@ Ifc4x3_rc1::IfcCoolingTowerType::IfcCoolingTowerType(IfcEntityInstanceData* e) : Ifc4x3_rc1::IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcCoolingTowerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcCoordinateOperation -::Ifc4x3_rc1::IfcCoordinateReferenceSystemSelect* Ifc4x3_rc1::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCoordinateReferenceSystemSelect>(); } +::Ifc4x3_rc1::IfcCoordinateReferenceSystemSelect* Ifc4x3_rc1::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCoordinateReferenceSystemSelect>(true); } void Ifc4x3_rc1::IfcCoordinateOperation::setSourceCRS(::Ifc4x3_rc1::IfcCoordinateReferenceSystemSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc1::IfcCoordinateReferenceSystem* Ifc4x3_rc1::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcCoordinateReferenceSystem>(); } +::Ifc4x3_rc1::IfcCoordinateReferenceSystem* Ifc4x3_rc1::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcCoordinateReferenceSystem>(true); } void Ifc4x3_rc1::IfcCoordinateOperation::setTargetCRS(::Ifc4x3_rc1::IfcCoordinateReferenceSystem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -14928,7 +15126,7 @@ Ifc4x3_rc1::IfcCrewResourceType::IfcCrewResourceType(IfcEntityInstanceData* e) : Ifc4x3_rc1::IfcCrewResourceType::IfcCrewResourceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcCrewResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4x3_rc1::IfcCrewResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcCsgPrimitive3D -::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(); } +::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(true); } void Ifc4x3_rc1::IfcCsgPrimitive3D::setPosition(::Ifc4x3_rc1::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -14938,7 +15136,7 @@ Ifc4x3_rc1::IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc1::IfcCsgPrimitive3D::IfcCsgPrimitive3D(::Ifc4x3_rc1::IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcCsgPrimitive3D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);} } // Function implementations for IfcCsgSolid -::Ifc4x3_rc1::IfcCsgSelect* Ifc4x3_rc1::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCsgSelect>(); } +::Ifc4x3_rc1::IfcCsgSelect* Ifc4x3_rc1::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCsgSelect>(true); } void Ifc4x3_rc1::IfcCsgSolid::setTreeRootExpression(::Ifc4x3_rc1::IfcCsgSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -14948,15 +15146,15 @@ Ifc4x3_rc1::IfcCsgSolid::IfcCsgSolid(IfcEntityInstanceData* e) : IfcSolidModel(( Ifc4x3_rc1::IfcCsgSolid::IfcCsgSolid(::Ifc4x3_rc1::IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcCsgSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TreeRootExpression));data_->setArgument(0,attr);} } // Function implementations for IfcCurrencyRelationship -::Ifc4x3_rc1::IfcMonetaryUnit* Ifc4x3_rc1::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcMonetaryUnit>(); } +::Ifc4x3_rc1::IfcMonetaryUnit* Ifc4x3_rc1::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcMonetaryUnit>(true); } void Ifc4x3_rc1::IfcCurrencyRelationship::setRelatingMonetaryUnit(::Ifc4x3_rc1::IfcMonetaryUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc1::IfcMonetaryUnit* Ifc4x3_rc1::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcMonetaryUnit>(); } +::Ifc4x3_rc1::IfcMonetaryUnit* Ifc4x3_rc1::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcMonetaryUnit>(true); } void Ifc4x3_rc1::IfcCurrencyRelationship::setRelatedMonetaryUnit(::Ifc4x3_rc1::IfcMonetaryUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } double Ifc4x3_rc1::IfcCurrencyRelationship::ExchangeRate() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc1::IfcCurrencyRelationship::setExchangeRate(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcCurrencyRelationship::RateDateTime() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x3_rc1::IfcCurrencyRelationship::setRateDateTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4x3_rc1::IfcLibraryInformation* Ifc4x3_rc1::IfcCurrencyRelationship::RateSource() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcLibraryInformation>(); } +::Ifc4x3_rc1::IfcLibraryInformation* Ifc4x3_rc1::IfcCurrencyRelationship::RateSource() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcLibraryInformation>(true); } void Ifc4x3_rc1::IfcCurrencyRelationship::setRateSource(::Ifc4x3_rc1::IfcLibraryInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -14994,9 +15192,9 @@ Ifc4x3_rc1::IfcCurve::IfcCurve(IfcEntityInstanceData* e) : IfcGeometricRepresent Ifc4x3_rc1::IfcCurve::IfcCurve() : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcCurve_type); } // Function implementations for IfcCurveBoundedPlane -::Ifc4x3_rc1::IfcPlane* Ifc4x3_rc1::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcPlane>(); } +::Ifc4x3_rc1::IfcPlane* Ifc4x3_rc1::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcPlane>(true); } void Ifc4x3_rc1::IfcCurveBoundedPlane::setBasisSurface(::Ifc4x3_rc1::IfcPlane* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcCurve>(); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcCurveBoundedPlane::setOuterBoundary(::Ifc4x3_rc1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x3_rc1::IfcCurve >::ptr Ifc4x3_rc1::IfcCurveBoundedPlane::InnerBoundaries() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc1::IfcCurve >(); } void Ifc4x3_rc1::IfcCurveBoundedPlane::setInnerBoundaries(aggregate_of< ::Ifc4x3_rc1::IfcCurve >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } @@ -15008,7 +15206,7 @@ Ifc4x3_rc1::IfcCurveBoundedPlane::IfcCurveBoundedPlane(IfcEntityInstanceData* e) Ifc4x3_rc1::IfcCurveBoundedPlane::IfcCurveBoundedPlane(::Ifc4x3_rc1::IfcPlane* v1_BasisSurface, ::Ifc4x3_rc1::IfcCurve* v2_OuterBoundary, aggregate_of< ::Ifc4x3_rc1::IfcCurve >::ptr v3_InnerBoundaries) : IfcBoundedSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcCurveBoundedPlane_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisSurface));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OuterBoundary));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_InnerBoundaries)->generalize());data_->setArgument(2,attr);} } // Function implementations for IfcCurveBoundedSurface -::Ifc4x3_rc1::IfcSurface* Ifc4x3_rc1::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcSurface>(); } +::Ifc4x3_rc1::IfcSurface* Ifc4x3_rc1::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcSurface>(true); } void Ifc4x3_rc1::IfcCurveBoundedSurface::setBasisSurface(::Ifc4x3_rc1::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x3_rc1::IfcBoundaryCurve >::ptr Ifc4x3_rc1::IfcCurveBoundedSurface::Boundaries() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc1::IfcBoundaryCurve >(); } void Ifc4x3_rc1::IfcCurveBoundedSurface::setBoundaries(aggregate_of< ::Ifc4x3_rc1::IfcBoundaryCurve >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -15022,7 +15220,7 @@ Ifc4x3_rc1::IfcCurveBoundedSurface::IfcCurveBoundedSurface(IfcEntityInstanceData Ifc4x3_rc1::IfcCurveBoundedSurface::IfcCurveBoundedSurface(::Ifc4x3_rc1::IfcSurface* v1_BasisSurface, aggregate_of< ::Ifc4x3_rc1::IfcBoundaryCurve >::ptr v2_Boundaries, bool v3_ImplicitOuter) : IfcBoundedSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcCurveBoundedSurface_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisSurface));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Boundaries)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ImplicitOuter));data_->setArgument(2,attr);} } // Function implementations for IfcCurveSegment2D -::Ifc4x3_rc1::IfcCartesianPoint* Ifc4x3_rc1::IfcCurveSegment2D::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCartesianPoint>(); } +::Ifc4x3_rc1::IfcCartesianPoint* Ifc4x3_rc1::IfcCurveSegment2D::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCartesianPoint>(true); } void Ifc4x3_rc1::IfcCurveSegment2D::setStartPoint(::Ifc4x3_rc1::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x3_rc1::IfcCurveSegment2D::StartDirection() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcCurveSegment2D::setStartDirection(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15036,11 +15234,11 @@ Ifc4x3_rc1::IfcCurveSegment2D::IfcCurveSegment2D(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc1::IfcCurveSegment2D::IfcCurveSegment2D(::Ifc4x3_rc1::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcCurveSegment2D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_StartPoint));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_StartDirection));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SegmentLength));data_->setArgument(2,attr);} } // Function implementations for IfcCurveStyle -::Ifc4x3_rc1::IfcCurveFontOrScaledCurveFontSelect* Ifc4x3_rc1::IfcCurveStyle::CurveFont() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcCurveFontOrScaledCurveFontSelect>(); } +::Ifc4x3_rc1::IfcCurveFontOrScaledCurveFontSelect* Ifc4x3_rc1::IfcCurveStyle::CurveFont() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcCurveFontOrScaledCurveFontSelect>(true); } void Ifc4x3_rc1::IfcCurveStyle::setCurveFont(::Ifc4x3_rc1::IfcCurveFontOrScaledCurveFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc1::IfcSizeSelect* Ifc4x3_rc1::IfcCurveStyle::CurveWidth() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcSizeSelect>(); } +::Ifc4x3_rc1::IfcSizeSelect* Ifc4x3_rc1::IfcCurveStyle::CurveWidth() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcSizeSelect>(true); } void Ifc4x3_rc1::IfcCurveStyle::setCurveWidth(::Ifc4x3_rc1::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc1::IfcColour* Ifc4x3_rc1::IfcCurveStyle::CurveColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcColour>(); } +::Ifc4x3_rc1::IfcColour* Ifc4x3_rc1::IfcCurveStyle::CurveColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcColour>(true); } void Ifc4x3_rc1::IfcCurveStyle::setCurveColour(::Ifc4x3_rc1::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< bool > Ifc4x3_rc1::IfcCurveStyle::ModelOrDraughting() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } bool v = *data_->getArgument(4); return v; } void Ifc4x3_rc1::IfcCurveStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -15066,7 +15264,7 @@ Ifc4x3_rc1::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > // Function implementations for IfcCurveStyleFontAndScaling boost::optional< std::string > Ifc4x3_rc1::IfcCurveStyleFontAndScaling::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc1::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } -::Ifc4x3_rc1::IfcCurveStyleFontSelect* Ifc4x3_rc1::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcCurveStyleFontSelect>(); } +::Ifc4x3_rc1::IfcCurveStyleFontSelect* Ifc4x3_rc1::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcCurveStyleFontSelect>(true); } void Ifc4x3_rc1::IfcCurveStyleFontAndScaling::setCurveFont(::Ifc4x3_rc1::IfcCurveStyleFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } double Ifc4x3_rc1::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = *data_->getArgument(2); return v; } void Ifc4x3_rc1::IfcCurveStyleFontAndScaling::setCurveFontScaling(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -15136,9 +15334,9 @@ Ifc4x3_rc1::IfcDeepFoundationType::IfcDeepFoundationType(IfcEntityInstanceData* Ifc4x3_rc1::IfcDeepFoundationType::IfcDeepFoundationType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcDeepFoundationType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcDerivedProfileDef -::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcProfileDef>(); } +::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcProfileDef>(true); } void Ifc4x3_rc1::IfcDerivedProfileDef::setParentProfile(::Ifc4x3_rc1::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc1::IfcCartesianTransformationOperator2D* Ifc4x3_rc1::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcCartesianTransformationOperator2D>(); } +::Ifc4x3_rc1::IfcCartesianTransformationOperator2D* Ifc4x3_rc1::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcCartesianTransformationOperator2D>(true); } void Ifc4x3_rc1::IfcDerivedProfileDef::setOperator(::Ifc4x3_rc1::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcDerivedProfileDef::Label() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc1::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -15164,7 +15362,7 @@ Ifc4x3_rc1::IfcDerivedUnit::IfcDerivedUnit(IfcEntityInstanceData* e) : IfcUtil:: Ifc4x3_rc1::IfcDerivedUnit::IfcDerivedUnit(aggregate_of< ::Ifc4x3_rc1::IfcDerivedUnitElement >::ptr v1_Elements, ::Ifc4x3_rc1::IfcDerivedUnitEnum::Value v2_UnitType, boost::optional< std::string > v3_UserDefinedType) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcDerivedUnit_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_UnitType,::Ifc4x3_rc1::IfcDerivedUnitEnum::ToString(v2_UnitType))));data_->setArgument(1,attr);} if (v3_UserDefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UserDefinedType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcDerivedUnitElement -::Ifc4x3_rc1::IfcNamedUnit* Ifc4x3_rc1::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcNamedUnit>(); } +::Ifc4x3_rc1::IfcNamedUnit* Ifc4x3_rc1::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcNamedUnit>(true); } void Ifc4x3_rc1::IfcDerivedUnitElement::setUnit(::Ifc4x3_rc1::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } int Ifc4x3_rc1::IfcDerivedUnitElement::Exponent() const { int v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcDerivedUnitElement::setExponent(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15208,7 +15406,7 @@ Ifc4x3_rc1::IfcDirection::IfcDirection(IfcEntityInstanceData* e) : IfcGeometricR Ifc4x3_rc1::IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionRatios) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcDirection_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_DirectionRatios));data_->setArgument(0,attr);} } // Function implementations for IfcDirectrixCurveSweptAreaSolid -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcCurve>(); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::setDirectrix(::Ifc4x3_rc1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::StartParam() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::setStartParam(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } @@ -15222,11 +15420,11 @@ Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid(Ifc Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid(::Ifc4x3_rc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc1::IfcCurve* v3_Directrix, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam) : IfcSweptAreaSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcDirectrixCurveSweptAreaSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Directrix));data_->setArgument(2,attr);} if (v4_StartParam) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_StartParam));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_EndParam) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_EndParam));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcDirectrixDistanceSweptAreaSolid -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcCurve>(); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::setDirectrix(::Ifc4x3_rc1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc1::IfcDistanceExpression* Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::StartDistance() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcDistanceExpression>(); } +::Ifc4x3_rc1::IfcDistanceExpression* Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::StartDistance() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcDistanceExpression>(true); } void Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::setStartDistance(::Ifc4x3_rc1::IfcDistanceExpression* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc1::IfcDistanceExpression* Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::EndDistance() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcDistanceExpression>(); } +::Ifc4x3_rc1::IfcDistanceExpression* Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::EndDistance() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcDistanceExpression>(true); } void Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::setEndDistance(::Ifc4x3_rc1::IfcDistanceExpression* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -15415,7 +15613,7 @@ boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::Scope() const void Ifc4x3_rc1::IfcDocumentInformation::setScope(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::Revision() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } void Ifc4x3_rc1::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } -::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcActorSelect>(); } +::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } void Ifc4x3_rc1::IfcDocumentInformation::setDocumentOwner(::Ifc4x3_rc1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc1::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(9); return v; } void Ifc4x3_rc1::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } @@ -15445,7 +15643,7 @@ Ifc4x3_rc1::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData Ifc4x3_rc1::IfcDocumentInformation::IfcDocumentInformation(std::string v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_Location, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, ::Ifc4x3_rc1::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of_instance::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< ::Ifc4x3_rc1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc1::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x3_rc1::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x3_rc1::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcDocumentInformationRelationship -::Ifc4x3_rc1::IfcDocumentInformation* Ifc4x3_rc1::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcDocumentInformation>(); } +::Ifc4x3_rc1::IfcDocumentInformation* Ifc4x3_rc1::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcDocumentInformation>(true); } void Ifc4x3_rc1::IfcDocumentInformationRelationship::setRelatingDocument(::Ifc4x3_rc1::IfcDocumentInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4x3_rc1::IfcDocumentInformation >::ptr Ifc4x3_rc1::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc1::IfcDocumentInformation >(); } void Ifc4x3_rc1::IfcDocumentInformationRelationship::setRelatedDocuments(aggregate_of< ::Ifc4x3_rc1::IfcDocumentInformation >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -15461,7 +15659,7 @@ Ifc4x3_rc1::IfcDocumentInformationRelationship::IfcDocumentInformationRelationsh // Function implementations for IfcDocumentReference boost::optional< std::string > Ifc4x3_rc1::IfcDocumentReference::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x3_rc1::IfcDocumentReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } -::Ifc4x3_rc1::IfcDocumentInformation* Ifc4x3_rc1::IfcDocumentReference::ReferencedDocument() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcDocumentInformation>(); } +::Ifc4x3_rc1::IfcDocumentInformation* Ifc4x3_rc1::IfcDocumentReference::ReferencedDocument() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcDocumentInformation>(true); } void Ifc4x3_rc1::IfcDocumentReference::setReferencedDocument(::Ifc4x3_rc1::IfcDocumentInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4x3_rc1::IfcRelAssociatesDocument::list::ptr Ifc4x3_rc1::IfcDocumentReference::DocumentRefForObjects() const { return data_->getInverse(IFC4X3_RC1_IfcRelAssociatesDocument_type, 5)->as(); } @@ -15510,7 +15708,7 @@ boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::CasingThickness() void Ifc4x3_rc1::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::CasingDepth() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } void Ifc4x3_rc1::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } -::Ifc4x3_rc1::IfcShapeAspect* Ifc4x3_rc1::IfcDoorLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(14)))->as<::Ifc4x3_rc1::IfcShapeAspect>(); } +::Ifc4x3_rc1::IfcShapeAspect* Ifc4x3_rc1::IfcDoorLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(14)))->as<::Ifc4x3_rc1::IfcShapeAspect>(true); } void Ifc4x3_rc1::IfcDoorLiningProperties::setShapeAspectStyle(::Ifc4x3_rc1::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(14,attr);} } boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } void Ifc4x3_rc1::IfcDoorLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } @@ -15532,7 +15730,7 @@ boost::optional< double > Ifc4x3_rc1::IfcDoorPanelProperties::PanelWidth() const void Ifc4x3_rc1::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } ::Ifc4x3_rc1::IfcDoorPanelPositionEnum::Value Ifc4x3_rc1::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x3_rc1::IfcDoorPanelPositionEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc1::IfcDoorPanelProperties::setPanelPosition(::Ifc4x3_rc1::IfcDoorPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcDoorPanelPositionEnum::ToString(v)));data_->setArgument(7,attr);} } -::Ifc4x3_rc1::IfcShapeAspect* Ifc4x3_rc1::IfcDoorPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcShapeAspect>(); } +::Ifc4x3_rc1::IfcShapeAspect* Ifc4x3_rc1::IfcDoorPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcShapeAspect>(true); } void Ifc4x3_rc1::IfcDoorPanelProperties::setShapeAspectStyle(::Ifc4x3_rc1::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -15686,9 +15884,9 @@ Ifc4x3_rc1::IfcEarthworksFill::IfcEarthworksFill(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc1::IfcEarthworksFill::IfcEarthworksFill(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType) : IfcEarthworksElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcEarthworksFill_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4x3_rc1::IfcEarthworksFillTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcEdge -::Ifc4x3_rc1::IfcVertex* Ifc4x3_rc1::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcVertex>(); } +::Ifc4x3_rc1::IfcVertex* Ifc4x3_rc1::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcVertex>(true); } void Ifc4x3_rc1::IfcEdge::setEdgeStart(::Ifc4x3_rc1::IfcVertex* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc1::IfcVertex* Ifc4x3_rc1::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcVertex>(); } +::Ifc4x3_rc1::IfcVertex* Ifc4x3_rc1::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcVertex>(true); } void Ifc4x3_rc1::IfcEdge::setEdgeEnd(::Ifc4x3_rc1::IfcVertex* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15698,7 +15896,7 @@ Ifc4x3_rc1::IfcEdge::IfcEdge(IfcEntityInstanceData* e) : IfcTopologicalRepresent Ifc4x3_rc1::IfcEdge::IfcEdge(::Ifc4x3_rc1::IfcVertex* v1_EdgeStart, ::Ifc4x3_rc1::IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcEdge_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_EdgeStart));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EdgeEnd));data_->setArgument(1,attr);} } // Function implementations for IfcEdgeCurve -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcCurve>(); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcEdgeCurve::setEdgeGeometry(::Ifc4x3_rc1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } bool Ifc4x3_rc1::IfcEdgeCurve::SameSense() const { bool v = *data_->getArgument(3); return v; } void Ifc4x3_rc1::IfcEdgeCurve::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -15941,7 +16139,7 @@ Ifc4x3_rc1::IfcElementType::IfcElementType(IfcEntityInstanceData* e) : IfcTypePr Ifc4x3_rc1::IfcElementType::IfcElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcElementarySurface -::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(); } +::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(true); } void Ifc4x3_rc1::IfcElementarySurface::setPosition(::Ifc4x3_rc1::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -16057,7 +16255,7 @@ boost::optional< ::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Value > Ifc4x3_rc1::IfcE void Ifc4x3_rc1::IfcEvent::setEventTriggerType(boost::optional< ::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcEventTriggerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcEvent::UserDefinedEventTriggerType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } void Ifc4x3_rc1::IfcEvent::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } -::Ifc4x3_rc1::IfcEventTime* Ifc4x3_rc1::IfcEvent::EventOccurenceTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc1::IfcEventTime>(); } +::Ifc4x3_rc1::IfcEventTime* Ifc4x3_rc1::IfcEvent::EventOccurenceTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc1::IfcEventTime>(true); } void Ifc4x3_rc1::IfcEvent::setEventOccurenceTime(::Ifc4x3_rc1::IfcEventTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -16134,7 +16332,7 @@ Ifc4x3_rc1::IfcExternalReference::IfcExternalReference(IfcEntityInstanceData* e) Ifc4x3_rc1::IfcExternalReference::IfcExternalReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcExternalReference_type); if (v1_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Location));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Identification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcExternalReferenceRelationship -::Ifc4x3_rc1::IfcExternalReference* Ifc4x3_rc1::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcExternalReference>(); } +::Ifc4x3_rc1::IfcExternalReference* Ifc4x3_rc1::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcExternalReference>(true); } void Ifc4x3_rc1::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x3_rc1::IfcExternalReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of_instance::ptr Ifc4x3_rc1::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } void Ifc4x3_rc1::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16189,7 +16387,7 @@ Ifc4x3_rc1::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(IfcEntity Ifc4x3_rc1::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcExternallyDefinedTextFont_type); if (v1_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Location));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Identification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcExtrudedAreaSolid -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcDirection>(); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcExtrudedAreaSolid::setExtrudedDirection(::Ifc4x3_rc1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc4x3_rc1::IfcExtrudedAreaSolid::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc1::IfcExtrudedAreaSolid::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16201,7 +16399,7 @@ Ifc4x3_rc1::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcEntityInstanceData* e) Ifc4x3_rc1::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(::Ifc4x3_rc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc1::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcExtrudedAreaSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ExtrudedDirection));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);} } // Function implementations for IfcExtrudedAreaSolidTapered -::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcProfileDef>(); } +::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcProfileDef>(true); } void Ifc4x3_rc1::IfcExtrudedAreaSolidTapered::setEndSweptArea(::Ifc4x3_rc1::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -16232,7 +16430,7 @@ Ifc4x3_rc1::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(IfcEntityInstance Ifc4x3_rc1::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(aggregate_of< ::Ifc4x3_rc1::IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcFaceBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_FbsmFaces)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcFaceBound -::Ifc4x3_rc1::IfcLoop* Ifc4x3_rc1::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcLoop>(); } +::Ifc4x3_rc1::IfcLoop* Ifc4x3_rc1::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcLoop>(true); } void Ifc4x3_rc1::IfcFaceBound::setBound(::Ifc4x3_rc1::IfcLoop* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } bool Ifc4x3_rc1::IfcFaceBound::Orientation() const { bool v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcFaceBound::setOrientation(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -16252,7 +16450,7 @@ Ifc4x3_rc1::IfcFaceOuterBound::IfcFaceOuterBound(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc1::IfcFaceOuterBound::IfcFaceOuterBound(::Ifc4x3_rc1::IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcFaceOuterBound_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Bound));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Orientation));data_->setArgument(1,attr);} } // Function implementations for IfcFaceSurface -::Ifc4x3_rc1::IfcSurface* Ifc4x3_rc1::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcSurface>(); } +::Ifc4x3_rc1::IfcSurface* Ifc4x3_rc1::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcSurface>(true); } void Ifc4x3_rc1::IfcFaceSurface::setFaceSurface(::Ifc4x3_rc1::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } bool Ifc4x3_rc1::IfcFaceSurface::SameSense() const { bool v = *data_->getArgument(2); return v; } void Ifc4x3_rc1::IfcFaceSurface::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -16290,7 +16488,7 @@ Ifc4x3_rc1::IfcFacility::IfcFacility(IfcEntityInstanceData* e) : IfcSpatialStruc Ifc4x3_rc1::IfcFacility::IfcFacility(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialStructureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcFacility_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_LongName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongName));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_CompositionType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_CompositionType,::Ifc4x3_rc1::IfcElementCompositionEnum::ToString(*v9_CompositionType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcFacilityPart -::Ifc4x3_rc1::IfcFacilityPartTypeSelect* Ifc4x3_rc1::IfcFacilityPart::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc1::IfcFacilityPartTypeSelect>(); } +::Ifc4x3_rc1::IfcFacilityPartTypeSelect* Ifc4x3_rc1::IfcFacilityPart::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc1::IfcFacilityPartTypeSelect>(true); } void Ifc4x3_rc1::IfcFacilityPart::setPredefinedType(::Ifc4x3_rc1::IfcFacilityPartTypeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } ::Ifc4x3_rc1::IfcFacilityUsageEnum::Value Ifc4x3_rc1::IfcFacilityPart::UsageType() const { return ::Ifc4x3_rc1::IfcFacilityUsageEnum::FromString(*data_->getArgument(10)); } void Ifc4x3_rc1::IfcFacilityPart::setUsageType(::Ifc4x3_rc1::IfcFacilityUsageEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcFacilityUsageEnum::ToString(v)));data_->setArgument(10,attr);} } @@ -16400,13 +16598,13 @@ Ifc4x3_rc1::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData* e) : IfcPr Ifc4x3_rc1::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of_instance::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelorDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelorDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcFillAreaStyleHatching -::Ifc4x3_rc1::IfcCurveStyle* Ifc4x3_rc1::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCurveStyle>(); } +::Ifc4x3_rc1::IfcCurveStyle* Ifc4x3_rc1::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCurveStyle>(true); } void Ifc4x3_rc1::IfcFillAreaStyleHatching::setHatchLineAppearance(::Ifc4x3_rc1::IfcCurveStyle* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc1::IfcHatchLineDistanceSelect* Ifc4x3_rc1::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcHatchLineDistanceSelect>(); } +::Ifc4x3_rc1::IfcHatchLineDistanceSelect* Ifc4x3_rc1::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcHatchLineDistanceSelect>(true); } void Ifc4x3_rc1::IfcFillAreaStyleHatching::setStartOfNextHatchLine(::Ifc4x3_rc1::IfcHatchLineDistanceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc1::IfcCartesianPoint* Ifc4x3_rc1::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcCartesianPoint>(); } +::Ifc4x3_rc1::IfcCartesianPoint* Ifc4x3_rc1::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcCartesianPoint>(true); } void Ifc4x3_rc1::IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(::Ifc4x3_rc1::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc1::IfcCartesianPoint* Ifc4x3_rc1::IfcFillAreaStyleHatching::PatternStart() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcCartesianPoint>(); } +::Ifc4x3_rc1::IfcCartesianPoint* Ifc4x3_rc1::IfcFillAreaStyleHatching::PatternStart() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcCartesianPoint>(true); } void Ifc4x3_rc1::IfcFillAreaStyleHatching::setPatternStart(::Ifc4x3_rc1::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } double Ifc4x3_rc1::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc1::IfcFillAreaStyleHatching::setHatchLineAngle(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -16472,7 +16670,7 @@ Ifc4x3_rc1::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(IfcEn Ifc4x3_rc1::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcFireSuppressionTerminalType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcFixedReferenceSweptAreaSolid -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcDirection>(); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcFixedReferenceSweptAreaSolid::setFixedReference(::Ifc4x3_rc1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -16724,9 +16922,9 @@ int Ifc4x3_rc1::IfcGeometricRepresentationContext::CoordinateSpaceDimension() co void Ifc4x3_rc1::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc1::IfcGeometricRepresentationContext::Precision() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4x3_rc1::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } -::Ifc4x3_rc1::IfcAxis2Placement* Ifc4x3_rc1::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcAxis2Placement>(); } +::Ifc4x3_rc1::IfcAxis2Placement* Ifc4x3_rc1::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcAxis2Placement>(true); } void Ifc4x3_rc1::IfcGeometricRepresentationContext::setWorldCoordinateSystem(::Ifc4x3_rc1::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcGeometricRepresentationContext::TrueNorth() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcDirection>(); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcGeometricRepresentationContext::TrueNorth() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcGeometricRepresentationContext::setTrueNorth(::Ifc4x3_rc1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4x3_rc1::IfcGeometricRepresentationSubContext::list::ptr Ifc4x3_rc1::IfcGeometricRepresentationContext::HasSubContexts() const { return data_->getInverse(IFC4X3_RC1_IfcGeometricRepresentationSubContext_type, 6)->as(); } @@ -16746,7 +16944,7 @@ Ifc4x3_rc1::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem(IfcEn Ifc4x3_rc1::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcGeometricRepresentationItem_type); } // Function implementations for IfcGeometricRepresentationSubContext -::Ifc4x3_rc1::IfcGeometricRepresentationContext* Ifc4x3_rc1::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcGeometricRepresentationContext>(); } +::Ifc4x3_rc1::IfcGeometricRepresentationContext* Ifc4x3_rc1::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcGeometricRepresentationContext>(true); } void Ifc4x3_rc1::IfcGeometricRepresentationSubContext::setParentContext(::Ifc4x3_rc1::IfcGeometricRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc1::IfcGeometricRepresentationSubContext::TargetScale() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4x3_rc1::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } @@ -16830,7 +17028,7 @@ Ifc4x3_rc1::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHist // Function implementations for IfcGridAxis boost::optional< std::string > Ifc4x3_rc1::IfcGridAxis::AxisTag() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc1::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcCurve>(); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcGridAxis::setAxisCurve(::Ifc4x3_rc1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } bool Ifc4x3_rc1::IfcGridAxis::SameSense() const { bool v = *data_->getArgument(2); return v; } void Ifc4x3_rc1::IfcGridAxis::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -16846,9 +17044,9 @@ Ifc4x3_rc1::IfcGridAxis::IfcGridAxis(IfcEntityInstanceData* e) : IfcUtil::IfcBas Ifc4x3_rc1::IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, ::Ifc4x3_rc1::IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcGridAxis_type); if (v1_AxisTag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_AxisTag));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_AxisCurve));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SameSense));data_->setArgument(2,attr);} } // Function implementations for IfcGridPlacement -::Ifc4x3_rc1::IfcVirtualGridIntersection* Ifc4x3_rc1::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcVirtualGridIntersection>(); } +::Ifc4x3_rc1::IfcVirtualGridIntersection* Ifc4x3_rc1::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcVirtualGridIntersection>(true); } void Ifc4x3_rc1::IfcGridPlacement::setPlacementLocation(::Ifc4x3_rc1::IfcVirtualGridIntersection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc1::IfcGridPlacementDirectionSelect* Ifc4x3_rc1::IfcGridPlacement::PlacementRefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcGridPlacementDirectionSelect>(); } +::Ifc4x3_rc1::IfcGridPlacementDirectionSelect* Ifc4x3_rc1::IfcGridPlacement::PlacementRefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcGridPlacementDirectionSelect>(true); } void Ifc4x3_rc1::IfcGridPlacement::setPlacementRefDirection(::Ifc4x3_rc1::IfcGridPlacementDirectionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -16867,7 +17065,7 @@ Ifc4x3_rc1::IfcGroup::IfcGroup(IfcEntityInstanceData* e) : IfcObject((IfcEntityI Ifc4x3_rc1::IfcGroup::IfcGroup(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcGroup_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcHalfSpaceSolid -::Ifc4x3_rc1::IfcSurface* Ifc4x3_rc1::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcSurface>(); } +::Ifc4x3_rc1::IfcSurface* Ifc4x3_rc1::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcSurface>(true); } void Ifc4x3_rc1::IfcHalfSpaceSolid::setBaseSurface(::Ifc4x3_rc1::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } bool Ifc4x3_rc1::IfcHalfSpaceSolid::AgreementFlag() const { bool v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcHalfSpaceSolid::setAgreementFlag(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -16951,7 +17149,7 @@ Ifc4x3_rc1::IfcImageTexture::IfcImageTexture(IfcEntityInstanceData* e) : IfcSurf Ifc4x3_rc1::IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) : IfcSurfaceTexture((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcImageTexture_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_RepeatS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RepeatT));data_->setArgument(1,attr);} if (v3_Mode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Mode));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TextureTransform));data_->setArgument(3,attr);} if (v5_Parameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Parameter));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_URLReference));data_->setArgument(5,attr);} } // Function implementations for IfcImpactProtectionDevice -::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc1::IfcImpactProtectionDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect>(); } +::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc1::IfcImpactProtectionDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect>(true); } void Ifc4x3_rc1::IfcImpactProtectionDevice::setPredefinedType(::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -16961,7 +17159,7 @@ Ifc4x3_rc1::IfcImpactProtectionDevice::IfcImpactProtectionDevice(IfcEntityInstan Ifc4x3_rc1::IfcImpactProtectionDevice::IfcImpactProtectionDevice(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect* v9_PredefinedType) : IfcElementComponent((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcImpactProtectionDevice_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_PredefinedType));data_->setArgument(8,attr);} } // Function implementations for IfcImpactProtectionDeviceType -::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc1::IfcImpactProtectionDeviceType::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect>(); } +::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc1::IfcImpactProtectionDeviceType::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect>(true); } void Ifc4x3_rc1::IfcImpactProtectionDeviceType::setPredefinedType(::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -16973,7 +17171,7 @@ Ifc4x3_rc1::IfcImpactProtectionDeviceType::IfcImpactProtectionDeviceType(std::st // Function implementations for IfcInclinedReferenceSweptAreaSolid boost::optional< bool > Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid::FixedAxisVertical() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } bool v = *data_->getArgument(5); return v; } void Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid::setFixedAxisVertical(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4x3_rc1::IfcAxisLateralInclination* Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid::Inclinating() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcAxisLateralInclination>(); } +::Ifc4x3_rc1::IfcAxisLateralInclination* Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid::Inclinating() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcAxisLateralInclination>(true); } void Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid::setInclinating(::Ifc4x3_rc1::IfcAxisLateralInclination* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -16983,11 +17181,11 @@ Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid::IfcInclinedReferenceSweptAreaSol Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid::IfcInclinedReferenceSweptAreaSolid(::Ifc4x3_rc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc1::IfcCurve* v3_Directrix, ::Ifc4x3_rc1::IfcDistanceExpression* v4_StartDistance, ::Ifc4x3_rc1::IfcDistanceExpression* v5_EndDistance, boost::optional< bool > v6_FixedAxisVertical, ::Ifc4x3_rc1::IfcAxisLateralInclination* v7_Inclinating) : IfcDirectrixDistanceSweptAreaSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcInclinedReferenceSweptAreaSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Directrix));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_StartDistance));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_EndDistance));data_->setArgument(4,attr);} if (v6_FixedAxisVertical) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_FixedAxisVertical));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Inclinating));data_->setArgument(6,attr);} } // Function implementations for IfcIndexedColourMap -::Ifc4x3_rc1::IfcTessellatedFaceSet* Ifc4x3_rc1::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcTessellatedFaceSet>(); } +::Ifc4x3_rc1::IfcTessellatedFaceSet* Ifc4x3_rc1::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcTessellatedFaceSet>(true); } void Ifc4x3_rc1::IfcIndexedColourMap::setMappedTo(::Ifc4x3_rc1::IfcTessellatedFaceSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4x3_rc1::IfcIndexedColourMap::Opacity() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcIndexedColourMap::setOpacity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4x3_rc1::IfcColourRgbList* Ifc4x3_rc1::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcColourRgbList>(); } +::Ifc4x3_rc1::IfcColourRgbList* Ifc4x3_rc1::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcColourRgbList>(true); } void Ifc4x3_rc1::IfcIndexedColourMap::setColours(::Ifc4x3_rc1::IfcColourRgbList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } std::vector< int > /*[1:?]*/ Ifc4x3_rc1::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } void Ifc4x3_rc1::IfcIndexedColourMap::setColourIndex(std::vector< int > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16999,7 +17197,7 @@ Ifc4x3_rc1::IfcIndexedColourMap::IfcIndexedColourMap(IfcEntityInstanceData* e) : Ifc4x3_rc1::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3_rc1::IfcTessellatedFaceSet* v1_MappedTo, boost::optional< double > v2_Opacity, ::Ifc4x3_rc1::IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcIndexedColourMap_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MappedTo));data_->setArgument(0,attr);} if (v2_Opacity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Opacity));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Colours));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ColourIndex));data_->setArgument(3,attr);} } // Function implementations for IfcIndexedPolyCurve -::Ifc4x3_rc1::IfcCartesianPointList* Ifc4x3_rc1::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCartesianPointList>(); } +::Ifc4x3_rc1::IfcCartesianPointList* Ifc4x3_rc1::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCartesianPointList>(true); } void Ifc4x3_rc1::IfcIndexedPolyCurve::setPoints(::Ifc4x3_rc1::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc1::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } @@ -17034,9 +17232,9 @@ Ifc4x3_rc1::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(I Ifc4x3_rc1::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) : IfcIndexedPolygonalFace((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcIndexedPolygonalFaceWithVoids_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CoordIndex));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_InnerCoordIndices));data_->setArgument(1,attr);} } // Function implementations for IfcIndexedTextureMap -::Ifc4x3_rc1::IfcTessellatedFaceSet* Ifc4x3_rc1::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcTessellatedFaceSet>(); } +::Ifc4x3_rc1::IfcTessellatedFaceSet* Ifc4x3_rc1::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcTessellatedFaceSet>(true); } void Ifc4x3_rc1::IfcIndexedTextureMap::setMappedTo(::Ifc4x3_rc1::IfcTessellatedFaceSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc1::IfcTextureVertexList* Ifc4x3_rc1::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcTextureVertexList>(); } +::Ifc4x3_rc1::IfcTextureVertexList* Ifc4x3_rc1::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcTextureVertexList>(true); } void Ifc4x3_rc1::IfcIndexedTextureMap::setTexCoords(::Ifc4x3_rc1::IfcTextureVertexList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -17086,15 +17284,15 @@ Ifc4x3_rc1::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4x3_rc1::IfcCurve* v // Function implementations for IfcInventory boost::optional< ::Ifc4x3_rc1::IfcInventoryTypeEnum::Value > Ifc4x3_rc1::IfcInventory::PredefinedType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcInventoryTypeEnum::FromString(*data_->getArgument(5)); } void Ifc4x3_rc1::IfcInventory::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcInventoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcInventoryTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } -::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcInventory::Jurisdiction() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcActorSelect>(); } +::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcInventory::Jurisdiction() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } void Ifc4x3_rc1::IfcInventory::setJurisdiction(::Ifc4x3_rc1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPerson >::ptr > Ifc4x3_rc1::IfcInventory::ResponsiblePersons() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc1::IfcPerson >(); } void Ifc4x3_rc1::IfcInventory::setResponsiblePersons(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcInventory::LastUpdateDate() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc4x3_rc1::IfcInventory::setLastUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } -::Ifc4x3_rc1::IfcCostValue* Ifc4x3_rc1::IfcInventory::CurrentValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc1::IfcCostValue>(); } +::Ifc4x3_rc1::IfcCostValue* Ifc4x3_rc1::IfcInventory::CurrentValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc1::IfcCostValue>(true); } void Ifc4x3_rc1::IfcInventory::setCurrentValue(::Ifc4x3_rc1::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -::Ifc4x3_rc1::IfcCostValue* Ifc4x3_rc1::IfcInventory::OriginalValue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc1::IfcCostValue>(); } +::Ifc4x3_rc1::IfcCostValue* Ifc4x3_rc1::IfcInventory::OriginalValue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc1::IfcCostValue>(true); } void Ifc4x3_rc1::IfcInventory::setOriginalValue(::Ifc4x3_rc1::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -17206,7 +17404,7 @@ Ifc4x3_rc1::IfcLaborResourceType::IfcLaborResourceType(IfcEntityInstanceData* e) Ifc4x3_rc1::IfcLaborResourceType::IfcLaborResourceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcLaborResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4x3_rc1::IfcLaborResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcLagTime -::Ifc4x3_rc1::IfcTimeOrRatioSelect* Ifc4x3_rc1::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcTimeOrRatioSelect>(); } +::Ifc4x3_rc1::IfcTimeOrRatioSelect* Ifc4x3_rc1::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcTimeOrRatioSelect>(true); } void Ifc4x3_rc1::IfcLagTime::setLagValue(::Ifc4x3_rc1::IfcTimeOrRatioSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3_rc1::IfcTaskDurationEnum::Value Ifc4x3_rc1::IfcLagTime::DurationType() const { return ::Ifc4x3_rc1::IfcTaskDurationEnum::FromString(*data_->getArgument(4)); } void Ifc4x3_rc1::IfcLagTime::setDurationType(::Ifc4x3_rc1::IfcTaskDurationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcTaskDurationEnum::ToString(v)));data_->setArgument(4,attr);} } @@ -17242,7 +17440,7 @@ std::string Ifc4x3_rc1::IfcLibraryInformation::Name() const { std::string v = * void Ifc4x3_rc1::IfcLibraryInformation::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcLibraryInformation::Version() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcLibraryInformation::Publisher() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcActorSelect>(); } +::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcLibraryInformation::Publisher() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } void Ifc4x3_rc1::IfcLibraryInformation::setPublisher(::Ifc4x3_rc1::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcLibraryInformation::VersionDate() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x3_rc1::IfcLibraryInformation::setVersionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } @@ -17264,7 +17462,7 @@ boost::optional< std::string > Ifc4x3_rc1::IfcLibraryReference::Description() co void Ifc4x3_rc1::IfcLibraryReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcLibraryReference::Language() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc1::IfcLibraryReference::setLanguage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc4x3_rc1::IfcLibraryInformation* Ifc4x3_rc1::IfcLibraryReference::ReferencedLibrary() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcLibraryInformation>(); } +::Ifc4x3_rc1::IfcLibraryInformation* Ifc4x3_rc1::IfcLibraryReference::ReferencedLibrary() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcLibraryInformation>(true); } void Ifc4x3_rc1::IfcLibraryReference::setReferencedLibrary(::Ifc4x3_rc1::IfcLibraryInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4x3_rc1::IfcRelAssociatesLibrary::list::ptr Ifc4x3_rc1::IfcLibraryReference::LibraryRefForObjects() const { return data_->getInverse(IFC4X3_RC1_IfcRelAssociatesLibrary_type, 5)->as(); } @@ -17323,7 +17521,7 @@ Ifc4x3_rc1::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4x // Function implementations for IfcLightSource boost::optional< std::string > Ifc4x3_rc1::IfcLightSource::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc1::IfcLightSource::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } -::Ifc4x3_rc1::IfcColourRgb* Ifc4x3_rc1::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcColourRgb>(); } +::Ifc4x3_rc1::IfcColourRgb* Ifc4x3_rc1::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcColourRgb>(true); } void Ifc4x3_rc1::IfcLightSource::setLightColour(::Ifc4x3_rc1::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc1::IfcLightSource::AmbientIntensity() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } void Ifc4x3_rc1::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } @@ -17345,7 +17543,7 @@ Ifc4x3_rc1::IfcLightSourceAmbient::IfcLightSourceAmbient(IfcEntityInstanceData* Ifc4x3_rc1::IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcLightSource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcLightSourceAmbient_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcLightSourceDirectional -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcDirection>(); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcLightSourceDirectional::setOrientation(::Ifc4x3_rc1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -17355,9 +17553,9 @@ Ifc4x3_rc1::IfcLightSourceDirectional::IfcLightSourceDirectional(IfcEntityInstan Ifc4x3_rc1::IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc1::IfcDirection* v5_Orientation) : IfcLightSource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcLightSourceDirectional_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Orientation));data_->setArgument(4,attr);} } // Function implementations for IfcLightSourceGoniometric -::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(); } +::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(true); } void Ifc4x3_rc1::IfcLightSourceGoniometric::setPosition(::Ifc4x3_rc1::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc1::IfcColourRgb* Ifc4x3_rc1::IfcLightSourceGoniometric::ColourAppearance() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcColourRgb>(); } +::Ifc4x3_rc1::IfcColourRgb* Ifc4x3_rc1::IfcLightSourceGoniometric::ColourAppearance() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcColourRgb>(true); } void Ifc4x3_rc1::IfcLightSourceGoniometric::setColourAppearance(::Ifc4x3_rc1::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } double Ifc4x3_rc1::IfcLightSourceGoniometric::ColourTemperature() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc1::IfcLightSourceGoniometric::setColourTemperature(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -17365,7 +17563,7 @@ double Ifc4x3_rc1::IfcLightSourceGoniometric::LuminousFlux() const { double v = void Ifc4x3_rc1::IfcLightSourceGoniometric::setLuminousFlux(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x3_rc1::IfcLightEmissionSourceEnum::Value Ifc4x3_rc1::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4x3_rc1::IfcLightEmissionSourceEnum::FromString(*data_->getArgument(8)); } void Ifc4x3_rc1::IfcLightSourceGoniometric::setLightEmissionSource(::Ifc4x3_rc1::IfcLightEmissionSourceEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcLightEmissionSourceEnum::ToString(v)));data_->setArgument(8,attr);} } -::Ifc4x3_rc1::IfcLightDistributionDataSourceSelect* Ifc4x3_rc1::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc1::IfcLightDistributionDataSourceSelect>(); } +::Ifc4x3_rc1::IfcLightDistributionDataSourceSelect* Ifc4x3_rc1::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc1::IfcLightDistributionDataSourceSelect>(true); } void Ifc4x3_rc1::IfcLightSourceGoniometric::setLightDistributionDataSource(::Ifc4x3_rc1::IfcLightDistributionDataSourceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -17375,7 +17573,7 @@ Ifc4x3_rc1::IfcLightSourceGoniometric::IfcLightSourceGoniometric(IfcEntityInstan Ifc4x3_rc1::IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc1::IfcAxis2Placement3D* v5_Position, ::Ifc4x3_rc1::IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_rc1::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_rc1::IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcLightSourceGoniometric_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Position));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ColourAppearance));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ColourTemperature));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LuminousFlux));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_LightEmissionSource,::Ifc4x3_rc1::IfcLightEmissionSourceEnum::ToString(v9_LightEmissionSource))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_LightDistributionDataSource));data_->setArgument(9,attr);} } // Function implementations for IfcLightSourcePositional -::Ifc4x3_rc1::IfcCartesianPoint* Ifc4x3_rc1::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcCartesianPoint>(); } +::Ifc4x3_rc1::IfcCartesianPoint* Ifc4x3_rc1::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcCartesianPoint>(true); } void Ifc4x3_rc1::IfcLightSourcePositional::setPosition(::Ifc4x3_rc1::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } double Ifc4x3_rc1::IfcLightSourcePositional::Radius() const { double v = *data_->getArgument(5); return v; } void Ifc4x3_rc1::IfcLightSourcePositional::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17393,7 +17591,7 @@ Ifc4x3_rc1::IfcLightSourcePositional::IfcLightSourcePositional(IfcEntityInstance Ifc4x3_rc1::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc1::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) : IfcLightSource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcLightSourcePositional_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Position));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Radius));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConstantAttenuation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_DistanceAttenuation));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_QuadricAttenuation));data_->setArgument(8,attr);} } // Function implementations for IfcLightSourceSpot -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc1::IfcDirection>(); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcLightSourceSpot::setOrientation(::Ifc4x3_rc1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc1::IfcLightSourceSpot::ConcentrationExponent() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } void Ifc4x3_rc1::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } @@ -17409,9 +17607,9 @@ Ifc4x3_rc1::IfcLightSourceSpot::IfcLightSourceSpot(IfcEntityInstanceData* e) : I Ifc4x3_rc1::IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc1::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_rc1::IfcDirection* v10_Orientation, boost::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) : IfcLightSourcePositional((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcLightSourceSpot_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Position));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Radius));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConstantAttenuation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_DistanceAttenuation));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_QuadricAttenuation));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_Orientation));data_->setArgument(9,attr);} if (v11_ConcentrationExponent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_ConcentrationExponent));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_SpreadAngle));data_->setArgument(11,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v13_BeamWidthAngle));data_->setArgument(12,attr);} } // Function implementations for IfcLine -::Ifc4x3_rc1::IfcCartesianPoint* Ifc4x3_rc1::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCartesianPoint>(); } +::Ifc4x3_rc1::IfcCartesianPoint* Ifc4x3_rc1::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCartesianPoint>(true); } void Ifc4x3_rc1::IfcLine::setPnt(::Ifc4x3_rc1::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc1::IfcVector* Ifc4x3_rc1::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcVector>(); } +::Ifc4x3_rc1::IfcVector* Ifc4x3_rc1::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcVector>(true); } void Ifc4x3_rc1::IfcLine::setDir(::Ifc4x3_rc1::IfcVector* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17429,9 +17627,9 @@ Ifc4x3_rc1::IfcLineSegment2D::IfcLineSegment2D(IfcEntityInstanceData* e) : IfcCu Ifc4x3_rc1::IfcLineSegment2D::IfcLineSegment2D(::Ifc4x3_rc1::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) : IfcCurveSegment2D((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcLineSegment2D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_StartPoint));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_StartDirection));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SegmentLength));data_->setArgument(2,attr);} } // Function implementations for IfcLinearAxisWithInclination -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcLinearAxisWithInclination::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCurve>(); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcLinearAxisWithInclination::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcLinearAxisWithInclination::setDirectrix(::Ifc4x3_rc1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc1::IfcAxisLateralInclination* Ifc4x3_rc1::IfcLinearAxisWithInclination::Inclinating() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcAxisLateralInclination>(); } +::Ifc4x3_rc1::IfcAxisLateralInclination* Ifc4x3_rc1::IfcLinearAxisWithInclination::Inclinating() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcAxisLateralInclination>(true); } void Ifc4x3_rc1::IfcLinearAxisWithInclination::setInclinating(::Ifc4x3_rc1::IfcAxisLateralInclination* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17441,13 +17639,13 @@ Ifc4x3_rc1::IfcLinearAxisWithInclination::IfcLinearAxisWithInclination(IfcEntity Ifc4x3_rc1::IfcLinearAxisWithInclination::IfcLinearAxisWithInclination(::Ifc4x3_rc1::IfcCurve* v1_Directrix, ::Ifc4x3_rc1::IfcAxisLateralInclination* v2_Inclinating) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcLinearAxisWithInclination_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Directrix));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Inclinating));data_->setArgument(1,attr);} } // Function implementations for IfcLinearPlacement -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcLinearPlacement::PlacementMeasuredAlong() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcCurve>(); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcLinearPlacement::PlacementMeasuredAlong() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcLinearPlacement::setPlacementMeasuredAlong(::Ifc4x3_rc1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc1::IfcDistanceExpression* Ifc4x3_rc1::IfcLinearPlacement::Distance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcDistanceExpression>(); } +::Ifc4x3_rc1::IfcDistanceExpression* Ifc4x3_rc1::IfcLinearPlacement::Distance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcDistanceExpression>(true); } void Ifc4x3_rc1::IfcLinearPlacement::setDistance(::Ifc4x3_rc1::IfcDistanceExpression* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc1::IfcOrientationExpression* Ifc4x3_rc1::IfcLinearPlacement::Orientation() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcOrientationExpression>(); } +::Ifc4x3_rc1::IfcOrientationExpression* Ifc4x3_rc1::IfcLinearPlacement::Orientation() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcOrientationExpression>(true); } void Ifc4x3_rc1::IfcLinearPlacement::setOrientation(::Ifc4x3_rc1::IfcOrientationExpression* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcLinearPlacement::CartesianPosition() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(); } +::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcLinearPlacement::CartesianPosition() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(true); } void Ifc4x3_rc1::IfcLinearPlacement::setCartesianPosition(::Ifc4x3_rc1::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -17457,7 +17655,7 @@ Ifc4x3_rc1::IfcLinearPlacement::IfcLinearPlacement(IfcEntityInstanceData* e) : I Ifc4x3_rc1::IfcLinearPlacement::IfcLinearPlacement(::Ifc4x3_rc1::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc1::IfcCurve* v2_PlacementMeasuredAlong, ::Ifc4x3_rc1::IfcDistanceExpression* v3_Distance, ::Ifc4x3_rc1::IfcOrientationExpression* v4_Orientation, ::Ifc4x3_rc1::IfcAxis2Placement3D* v5_CartesianPosition) : IfcObjectPlacement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcLinearPlacement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_PlacementRelTo));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PlacementMeasuredAlong));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Distance));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Orientation));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_CartesianPosition));data_->setArgument(4,attr);} } // Function implementations for IfcLinearPlacementWithInclination -::Ifc4x3_rc1::IfcAxisLateralInclination* Ifc4x3_rc1::IfcLinearPlacementWithInclination::Inclinating() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcAxisLateralInclination>(); } +::Ifc4x3_rc1::IfcAxisLateralInclination* Ifc4x3_rc1::IfcLinearPlacementWithInclination::Inclinating() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcAxisLateralInclination>(true); } void Ifc4x3_rc1::IfcLinearPlacementWithInclination::setInclinating(::Ifc4x3_rc1::IfcAxisLateralInclination* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17467,7 +17665,7 @@ Ifc4x3_rc1::IfcLinearPlacementWithInclination::IfcLinearPlacementWithInclination Ifc4x3_rc1::IfcLinearPlacementWithInclination::IfcLinearPlacementWithInclination(::Ifc4x3_rc1::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc1::IfcCurve* v2_PlacementMeasuredAlong, ::Ifc4x3_rc1::IfcDistanceExpression* v3_Distance, ::Ifc4x3_rc1::IfcOrientationExpression* v4_Orientation, ::Ifc4x3_rc1::IfcAxis2Placement3D* v5_CartesianPosition, ::Ifc4x3_rc1::IfcAxisLateralInclination* v6_Inclinating) : IfcLinearPlacement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcLinearPlacementWithInclination_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_PlacementRelTo));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PlacementMeasuredAlong));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Distance));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Orientation));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_CartesianPosition));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Inclinating));data_->setArgument(5,attr);} } // Function implementations for IfcLinearPositioningElement -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcLinearPositioningElement::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc1::IfcCurve>(); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcLinearPositioningElement::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcLinearPositioningElement::setAxis(::Ifc4x3_rc1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -17507,7 +17705,7 @@ Ifc4x3_rc1::IfcLiquidTerminalType::IfcLiquidTerminalType(IfcEntityInstanceData* Ifc4x3_rc1::IfcLiquidTerminalType::IfcLiquidTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcLiquidTerminalType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcLocalPlacement -::Ifc4x3_rc1::IfcAxis2Placement* Ifc4x3_rc1::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcAxis2Placement>(); } +::Ifc4x3_rc1::IfcAxis2Placement* Ifc4x3_rc1::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcAxis2Placement>(true); } void Ifc4x3_rc1::IfcLocalPlacement::setRelativePlacement(::Ifc4x3_rc1::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17525,7 +17723,7 @@ Ifc4x3_rc1::IfcLoop::IfcLoop(IfcEntityInstanceData* e) : IfcTopologicalRepresent Ifc4x3_rc1::IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcLoop_type); } // Function implementations for IfcManifoldSolidBrep -::Ifc4x3_rc1::IfcClosedShell* Ifc4x3_rc1::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcClosedShell>(); } +::Ifc4x3_rc1::IfcClosedShell* Ifc4x3_rc1::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcClosedShell>(true); } void Ifc4x3_rc1::IfcManifoldSolidBrep::setOuter(::Ifc4x3_rc1::IfcClosedShell* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -17555,9 +17753,9 @@ Ifc4x3_rc1::IfcMapConversion::IfcMapConversion(IfcEntityInstanceData* e) : IfcCo Ifc4x3_rc1::IfcMapConversion::IfcMapConversion(::Ifc4x3_rc1::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_rc1::IfcCoordinateReferenceSystem* v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, boost::optional< double > v6_XAxisAbscissa, boost::optional< double > v7_XAxisOrdinate, boost::optional< double > v8_Scale) : IfcCoordinateOperation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcMapConversion_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SourceCRS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TargetCRS));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Eastings));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Northings));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_OrthogonalHeight));data_->setArgument(4,attr);} if (v6_XAxisAbscissa) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_XAxisAbscissa));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_XAxisOrdinate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_XAxisOrdinate));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Scale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Scale));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcMappedItem -::Ifc4x3_rc1::IfcRepresentationMap* Ifc4x3_rc1::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcRepresentationMap>(); } +::Ifc4x3_rc1::IfcRepresentationMap* Ifc4x3_rc1::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcRepresentationMap>(true); } void Ifc4x3_rc1::IfcMappedItem::setMappingSource(::Ifc4x3_rc1::IfcRepresentationMap* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc1::IfcCartesianTransformationOperator* Ifc4x3_rc1::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcCartesianTransformationOperator>(); } +::Ifc4x3_rc1::IfcCartesianTransformationOperator* Ifc4x3_rc1::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcCartesianTransformationOperator>(true); } void Ifc4x3_rc1::IfcMappedItem::setMappingTarget(::Ifc4x3_rc1::IfcCartesianTransformationOperator* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17596,7 +17794,7 @@ Ifc4x3_rc1::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std:: // Function implementations for IfcMaterialClassificationRelationship aggregate_of_instance::ptr Ifc4x3_rc1::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } void Ifc4x3_rc1::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc1::IfcMaterial* Ifc4x3_rc1::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcMaterial>(); } +::Ifc4x3_rc1::IfcMaterial* Ifc4x3_rc1::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcMaterial>(true); } void Ifc4x3_rc1::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x3_rc1::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17610,7 +17808,7 @@ boost::optional< std::string > Ifc4x3_rc1::IfcMaterialConstituent::Name() const void Ifc4x3_rc1::IfcMaterialConstituent::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcMaterialConstituent::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcMaterialConstituent::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4x3_rc1::IfcMaterial* Ifc4x3_rc1::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcMaterial>(); } +::Ifc4x3_rc1::IfcMaterial* Ifc4x3_rc1::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcMaterial>(true); } void Ifc4x3_rc1::IfcMaterialConstituent::setMaterial(::Ifc4x3_rc1::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc1::IfcMaterialConstituent::Fraction() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4x3_rc1::IfcMaterialConstituent::setFraction(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } @@ -17650,7 +17848,7 @@ Ifc4x3_rc1::IfcMaterialDefinition::IfcMaterialDefinition(IfcEntityInstanceData* Ifc4x3_rc1::IfcMaterialDefinition::IfcMaterialDefinition() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcMaterialDefinition_type); } // Function implementations for IfcMaterialDefinitionRepresentation -::Ifc4x3_rc1::IfcMaterial* Ifc4x3_rc1::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcMaterial>(); } +::Ifc4x3_rc1::IfcMaterial* Ifc4x3_rc1::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcMaterial>(true); } void Ifc4x3_rc1::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(::Ifc4x3_rc1::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17660,7 +17858,7 @@ Ifc4x3_rc1::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresenta Ifc4x3_rc1::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcRepresentation >::ptr v3_Representations, ::Ifc4x3_rc1::IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcMaterialDefinitionRepresentation_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Representations)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RepresentedMaterial));data_->setArgument(3,attr);} } // Function implementations for IfcMaterialLayer -::Ifc4x3_rc1::IfcMaterial* Ifc4x3_rc1::IfcMaterialLayer::Material() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcMaterial>(); } +::Ifc4x3_rc1::IfcMaterial* Ifc4x3_rc1::IfcMaterialLayer::Material() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcMaterial>(true); } void Ifc4x3_rc1::IfcMaterialLayer::setMaterial(::Ifc4x3_rc1::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x3_rc1::IfcMaterialLayer::LayerThickness() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcMaterialLayer::setLayerThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17697,7 +17895,7 @@ Ifc4x3_rc1::IfcMaterialLayerSet::IfcMaterialLayerSet(IfcEntityInstanceData* e) : Ifc4x3_rc1::IfcMaterialLayerSet::IfcMaterialLayerSet(aggregate_of< ::Ifc4x3_rc1::IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName, boost::optional< std::string > v3_Description) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcMaterialLayerSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialLayers)->generalize());data_->setArgument(0,attr);} if (v2_LayerSetName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_LayerSetName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialLayerSetUsage -::Ifc4x3_rc1::IfcMaterialLayerSet* Ifc4x3_rc1::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcMaterialLayerSet>(); } +::Ifc4x3_rc1::IfcMaterialLayerSet* Ifc4x3_rc1::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcMaterialLayerSet>(true); } void Ifc4x3_rc1::IfcMaterialLayerSetUsage::setForLayerSet(::Ifc4x3_rc1::IfcMaterialLayerSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4x3_rc1::IfcLayerSetDirectionEnum::Value Ifc4x3_rc1::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4x3_rc1::IfcLayerSetDirectionEnum::FromString(*data_->getArgument(1)); } void Ifc4x3_rc1::IfcMaterialLayerSetUsage::setLayerSetDirection(::Ifc4x3_rc1::IfcLayerSetDirectionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcLayerSetDirectionEnum::ToString(v)));data_->setArgument(1,attr);} } @@ -17741,9 +17939,9 @@ boost::optional< std::string > Ifc4x3_rc1::IfcMaterialProfile::Name() const { if void Ifc4x3_rc1::IfcMaterialProfile::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcMaterialProfile::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcMaterialProfile::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4x3_rc1::IfcMaterial* Ifc4x3_rc1::IfcMaterialProfile::Material() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcMaterial>(); } +::Ifc4x3_rc1::IfcMaterial* Ifc4x3_rc1::IfcMaterialProfile::Material() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcMaterial>(true); } void Ifc4x3_rc1::IfcMaterialProfile::setMaterial(::Ifc4x3_rc1::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcProfileDef>(); } +::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcProfileDef>(true); } void Ifc4x3_rc1::IfcMaterialProfile::setProfile(::Ifc4x3_rc1::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< int > Ifc4x3_rc1::IfcMaterialProfile::Priority() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } void Ifc4x3_rc1::IfcMaterialProfile::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -17764,7 +17962,7 @@ boost::optional< std::string > Ifc4x3_rc1::IfcMaterialProfileSet::Description() void Ifc4x3_rc1::IfcMaterialProfileSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x3_rc1::IfcMaterialProfile >::ptr Ifc4x3_rc1::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc1::IfcMaterialProfile >(); } void Ifc4x3_rc1::IfcMaterialProfileSet::setMaterialProfiles(aggregate_of< ::Ifc4x3_rc1::IfcMaterialProfile >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } -::Ifc4x3_rc1::IfcCompositeProfileDef* Ifc4x3_rc1::IfcMaterialProfileSet::CompositeProfile() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcCompositeProfileDef>(); } +::Ifc4x3_rc1::IfcCompositeProfileDef* Ifc4x3_rc1::IfcMaterialProfileSet::CompositeProfile() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcCompositeProfileDef>(true); } void Ifc4x3_rc1::IfcMaterialProfileSet::setCompositeProfile(::Ifc4x3_rc1::IfcCompositeProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17774,7 +17972,7 @@ Ifc4x3_rc1::IfcMaterialProfileSet::IfcMaterialProfileSet(IfcEntityInstanceData* Ifc4x3_rc1::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcMaterialProfile >::ptr v3_MaterialProfiles, ::Ifc4x3_rc1::IfcCompositeProfileDef* v4_CompositeProfile) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcMaterialProfileSet_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_MaterialProfiles)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_CompositeProfile));data_->setArgument(3,attr);} } // Function implementations for IfcMaterialProfileSetUsage -::Ifc4x3_rc1::IfcMaterialProfileSet* Ifc4x3_rc1::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcMaterialProfileSet>(); } +::Ifc4x3_rc1::IfcMaterialProfileSet* Ifc4x3_rc1::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcMaterialProfileSet>(true); } void Ifc4x3_rc1::IfcMaterialProfileSetUsage::setForProfileSet(::Ifc4x3_rc1::IfcMaterialProfileSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< int > Ifc4x3_rc1::IfcMaterialProfileSetUsage::CardinalPoint() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } int v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcMaterialProfileSetUsage::setCardinalPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } @@ -17788,7 +17986,7 @@ Ifc4x3_rc1::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(IfcEntityInst Ifc4x3_rc1::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4x3_rc1::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent) : IfcMaterialUsageDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcMaterialProfileSetUsage_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ForProfileSet));data_->setArgument(0,attr);} if (v2_CardinalPoint) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_CardinalPoint));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ReferenceExtent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ReferenceExtent));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialProfileSetUsageTapering -::Ifc4x3_rc1::IfcMaterialProfileSet* Ifc4x3_rc1::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcMaterialProfileSet>(); } +::Ifc4x3_rc1::IfcMaterialProfileSet* Ifc4x3_rc1::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcMaterialProfileSet>(true); } void Ifc4x3_rc1::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(::Ifc4x3_rc1::IfcMaterialProfileSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< int > Ifc4x3_rc1::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } void Ifc4x3_rc1::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -17810,7 +18008,7 @@ Ifc4x3_rc1::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(IfcEnti Ifc4x3_rc1::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcMaterial* v3_Material, ::Ifc4x3_rc1::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) : IfcMaterialProfile((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcMaterialProfileWithOffsets_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Material));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Profile));data_->setArgument(3,attr);} if (v5_Priority) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Priority));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Category));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_OffsetValues));data_->setArgument(6,attr);} } // Function implementations for IfcMaterialProperties -::Ifc4x3_rc1::IfcMaterialDefinition* Ifc4x3_rc1::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcMaterialDefinition>(); } +::Ifc4x3_rc1::IfcMaterialDefinition* Ifc4x3_rc1::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcMaterialDefinition>(true); } void Ifc4x3_rc1::IfcMaterialProperties::setMaterial(::Ifc4x3_rc1::IfcMaterialDefinition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17820,7 +18018,7 @@ Ifc4x3_rc1::IfcMaterialProperties::IfcMaterialProperties(IfcEntityInstanceData* Ifc4x3_rc1::IfcMaterialProperties::IfcMaterialProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcProperty >::ptr v3_Properties, ::Ifc4x3_rc1::IfcMaterialDefinition* v4_Material) : IfcExtendedProperties((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcMaterialProperties_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Properties)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Material));data_->setArgument(3,attr);} } // Function implementations for IfcMaterialRelationship -::Ifc4x3_rc1::IfcMaterial* Ifc4x3_rc1::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcMaterial>(); } +::Ifc4x3_rc1::IfcMaterial* Ifc4x3_rc1::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcMaterial>(true); } void Ifc4x3_rc1::IfcMaterialRelationship::setRelatingMaterial(::Ifc4x3_rc1::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4x3_rc1::IfcMaterial >::ptr Ifc4x3_rc1::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc1::IfcMaterial >(); } void Ifc4x3_rc1::IfcMaterialRelationship::setRelatedMaterials(aggregate_of< ::Ifc4x3_rc1::IfcMaterial >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -17843,9 +18041,9 @@ Ifc4x3_rc1::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition(IfcEntityInst Ifc4x3_rc1::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcMaterialUsageDefinition_type); } // Function implementations for IfcMeasureWithUnit -::Ifc4x3_rc1::IfcValue* Ifc4x3_rc1::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcValue>(); } +::Ifc4x3_rc1::IfcValue* Ifc4x3_rc1::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcValue>(true); } void Ifc4x3_rc1::IfcMeasureWithUnit::setValueComponent(::Ifc4x3_rc1::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcUnit>(); } +::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcUnit>(true); } void Ifc4x3_rc1::IfcMeasureWithUnit::setUnitComponent(::Ifc4x3_rc1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17935,9 +18133,9 @@ Ifc4x3_rc1::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc4x3_rc1:: void Ifc4x3_rc1::IfcMetric::setBenchmark(::Ifc4x3_rc1::IfcBenchmarkEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcBenchmarkEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcMetric::ValueSource() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc4x3_rc1::IfcMetric::setValueSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } -::Ifc4x3_rc1::IfcMetricValueSelect* Ifc4x3_rc1::IfcMetric::DataValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc1::IfcMetricValueSelect>(); } +::Ifc4x3_rc1::IfcMetricValueSelect* Ifc4x3_rc1::IfcMetric::DataValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc1::IfcMetricValueSelect>(true); } void Ifc4x3_rc1::IfcMetric::setDataValue(::Ifc4x3_rc1::IfcMetricValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -::Ifc4x3_rc1::IfcReference* Ifc4x3_rc1::IfcMetric::ReferencePath() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc1::IfcReference>(); } +::Ifc4x3_rc1::IfcReference* Ifc4x3_rc1::IfcMetric::ReferencePath() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc1::IfcReference>(true); } void Ifc4x3_rc1::IfcMetric::setReferencePath(::Ifc4x3_rc1::IfcReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -18025,7 +18223,7 @@ Ifc4x3_rc1::IfcMotorConnectionType::IfcMotorConnectionType(IfcEntityInstanceData Ifc4x3_rc1::IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcMotorConnectionType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcNamedUnit -::Ifc4x3_rc1::IfcDimensionalExponents* Ifc4x3_rc1::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcDimensionalExponents>(); } +::Ifc4x3_rc1::IfcDimensionalExponents* Ifc4x3_rc1::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcDimensionalExponents>(true); } void Ifc4x3_rc1::IfcNamedUnit::setDimensions(::Ifc4x3_rc1::IfcDimensionalExponents* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4x3_rc1::IfcUnitEnum::Value Ifc4x3_rc1::IfcNamedUnit::UnitType() const { return ::Ifc4x3_rc1::IfcUnitEnum::FromString(*data_->getArgument(1)); } void Ifc4x3_rc1::IfcNamedUnit::setUnitType(::Ifc4x3_rc1::IfcUnitEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcUnitEnum::ToString(v)));data_->setArgument(1,attr);} } @@ -18086,7 +18284,7 @@ Ifc4x3_rc1::IfcObjectDefinition::IfcObjectDefinition(IfcEntityInstanceData* e) : Ifc4x3_rc1::IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcObjectDefinition_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcObjectPlacement -::Ifc4x3_rc1::IfcObjectPlacement* Ifc4x3_rc1::IfcObjectPlacement::PlacementRelTo() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcObjectPlacement>(); } +::Ifc4x3_rc1::IfcObjectPlacement* Ifc4x3_rc1::IfcObjectPlacement::PlacementRelTo() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcObjectPlacement>(true); } void Ifc4x3_rc1::IfcObjectPlacement::setPlacementRelTo(::Ifc4x3_rc1::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4x3_rc1::IfcProduct::list::ptr Ifc4x3_rc1::IfcObjectPlacement::PlacesObject() const { return data_->getInverse(IFC4X3_RC1_IfcProduct_type, 5)->as(); } @@ -18123,7 +18321,7 @@ Ifc4x3_rc1::IfcOccupant::IfcOccupant(IfcEntityInstanceData* e) : IfcActor((IfcEn Ifc4x3_rc1::IfcOccupant::IfcOccupant(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcActorSelect* v6_TheActor, boost::optional< ::Ifc4x3_rc1::IfcOccupantTypeEnum::Value > v7_PredefinedType) : IfcActor((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcOccupant_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_TheActor));data_->setArgument(5,attr);} if (v7_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v7_PredefinedType,::Ifc4x3_rc1::IfcOccupantTypeEnum::ToString(*v7_PredefinedType))));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcOffsetCurve -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcOffsetCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCurve>(); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcOffsetCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcOffsetCurve::setBasisCurve(::Ifc4x3_rc1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -18149,7 +18347,7 @@ double Ifc4x3_rc1::IfcOffsetCurve3D::Distance() const { double v = *data_->getA void Ifc4x3_rc1::IfcOffsetCurve3D::setDistance(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::logic::tribool Ifc4x3_rc1::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = *data_->getArgument(2); return v; } void Ifc4x3_rc1::IfcOffsetCurve3D::setSelfIntersect(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcDirection>(); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcOffsetCurve3D::setRefDirection(::Ifc4x3_rc1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -18235,7 +18433,7 @@ Ifc4x3_rc1::IfcOrganization::IfcOrganization(IfcEntityInstanceData* e) : IfcUtil Ifc4x3_rc1::IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorRole >::ptr > v4_Roles, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcOrganization_type); if (v1_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identification));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Roles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Roles)->generalize());data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Addresses) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Addresses)->generalize());data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcOrganizationRelationship -::Ifc4x3_rc1::IfcOrganization* Ifc4x3_rc1::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcOrganization>(); } +::Ifc4x3_rc1::IfcOrganization* Ifc4x3_rc1::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcOrganization>(true); } void Ifc4x3_rc1::IfcOrganizationRelationship::setRelatingOrganization(::Ifc4x3_rc1::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4x3_rc1::IfcOrganization >::ptr Ifc4x3_rc1::IfcOrganizationRelationship::RelatedOrganizations() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc1::IfcOrganization >(); } void Ifc4x3_rc1::IfcOrganizationRelationship::setRelatedOrganizations(aggregate_of< ::Ifc4x3_rc1::IfcOrganization >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -18247,9 +18445,9 @@ Ifc4x3_rc1::IfcOrganizationRelationship::IfcOrganizationRelationship(IfcEntityIn Ifc4x3_rc1::IfcOrganizationRelationship::IfcOrganizationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcOrganization* v3_RelatingOrganization, aggregate_of< ::Ifc4x3_rc1::IfcOrganization >::ptr v4_RelatedOrganizations) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcOrganizationRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingOrganization));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedOrganizations)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcOrientationExpression -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcOrientationExpression::LateralAxisDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcDirection>(); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcOrientationExpression::LateralAxisDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcOrientationExpression::setLateralAxisDirection(::Ifc4x3_rc1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcOrientationExpression::VerticalAxisDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcDirection>(); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcOrientationExpression::VerticalAxisDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcOrientationExpression::setVerticalAxisDirection(::Ifc4x3_rc1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -18259,7 +18457,7 @@ Ifc4x3_rc1::IfcOrientationExpression::IfcOrientationExpression(IfcEntityInstance Ifc4x3_rc1::IfcOrientationExpression::IfcOrientationExpression(::Ifc4x3_rc1::IfcDirection* v1_LateralAxisDirection, ::Ifc4x3_rc1::IfcDirection* v2_VerticalAxisDirection) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcOrientationExpression_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_LateralAxisDirection));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_VerticalAxisDirection));data_->setArgument(1,attr);} } // Function implementations for IfcOrientedEdge -::Ifc4x3_rc1::IfcEdge* Ifc4x3_rc1::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcEdge>(); } +::Ifc4x3_rc1::IfcEdge* Ifc4x3_rc1::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcEdge>(true); } void Ifc4x3_rc1::IfcOrientedEdge::setEdgeElement(::Ifc4x3_rc1::IfcEdge* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } bool Ifc4x3_rc1::IfcOrientedEdge::Orientation() const { bool v = *data_->getArgument(3); return v; } void Ifc4x3_rc1::IfcOrientedEdge::setOrientation(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -18299,9 +18497,9 @@ Ifc4x3_rc1::IfcOutletType::IfcOutletType(IfcEntityInstanceData* e) : IfcFlowTerm Ifc4x3_rc1::IfcOutletType::IfcOutletType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcOutletTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcOutletType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc1::IfcOutletTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcOwnerHistory -::Ifc4x3_rc1::IfcPersonAndOrganization* Ifc4x3_rc1::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcPersonAndOrganization>(); } +::Ifc4x3_rc1::IfcPersonAndOrganization* Ifc4x3_rc1::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcPersonAndOrganization>(true); } void Ifc4x3_rc1::IfcOwnerHistory::setOwningUser(::Ifc4x3_rc1::IfcPersonAndOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc1::IfcApplication* Ifc4x3_rc1::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcApplication>(); } +::Ifc4x3_rc1::IfcApplication* Ifc4x3_rc1::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcApplication>(true); } void Ifc4x3_rc1::IfcOwnerHistory::setOwningApplication(::Ifc4x3_rc1::IfcApplication* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< ::Ifc4x3_rc1::IfcStateEnum::Value > Ifc4x3_rc1::IfcOwnerHistory::State() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcStateEnum::FromString(*data_->getArgument(2)); } void Ifc4x3_rc1::IfcOwnerHistory::setState(boost::optional< ::Ifc4x3_rc1::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcStateEnum::ToString(*v)));data_->setArgument(2,attr);} } @@ -18309,9 +18507,9 @@ boost::optional< ::Ifc4x3_rc1::IfcChangeActionEnum::Value > Ifc4x3_rc1::IfcOwner void Ifc4x3_rc1::IfcOwnerHistory::setChangeAction(boost::optional< ::Ifc4x3_rc1::IfcChangeActionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcChangeActionEnum::ToString(*v)));data_->setArgument(3,attr);} } boost::optional< int > Ifc4x3_rc1::IfcOwnerHistory::LastModifiedDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } void Ifc4x3_rc1::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc4x3_rc1::IfcPersonAndOrganization* Ifc4x3_rc1::IfcOwnerHistory::LastModifyingUser() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcPersonAndOrganization>(); } +::Ifc4x3_rc1::IfcPersonAndOrganization* Ifc4x3_rc1::IfcOwnerHistory::LastModifyingUser() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcPersonAndOrganization>(true); } void Ifc4x3_rc1::IfcOwnerHistory::setLastModifyingUser(::Ifc4x3_rc1::IfcPersonAndOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc1::IfcApplication* Ifc4x3_rc1::IfcOwnerHistory::LastModifyingApplication() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcApplication>(); } +::Ifc4x3_rc1::IfcApplication* Ifc4x3_rc1::IfcOwnerHistory::LastModifyingApplication() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcApplication>(true); } void Ifc4x3_rc1::IfcOwnerHistory::setLastModifyingApplication(::Ifc4x3_rc1::IfcApplication* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } int Ifc4x3_rc1::IfcOwnerHistory::CreationDate() const { int v = *data_->getArgument(7); return v; } void Ifc4x3_rc1::IfcOwnerHistory::setCreationDate(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -18323,7 +18521,7 @@ Ifc4x3_rc1::IfcOwnerHistory::IfcOwnerHistory(IfcEntityInstanceData* e) : IfcUtil Ifc4x3_rc1::IfcOwnerHistory::IfcOwnerHistory(::Ifc4x3_rc1::IfcPersonAndOrganization* v1_OwningUser, ::Ifc4x3_rc1::IfcApplication* v2_OwningApplication, boost::optional< ::Ifc4x3_rc1::IfcStateEnum::Value > v3_State, boost::optional< ::Ifc4x3_rc1::IfcChangeActionEnum::Value > v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, ::Ifc4x3_rc1::IfcPersonAndOrganization* v6_LastModifyingUser, ::Ifc4x3_rc1::IfcApplication* v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcOwnerHistory_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_OwningUser));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwningApplication));data_->setArgument(1,attr);} if (v3_State) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v3_State,::Ifc4x3_rc1::IfcStateEnum::ToString(*v3_State))));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_ChangeAction) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v4_ChangeAction,::Ifc4x3_rc1::IfcChangeActionEnum::ToString(*v4_ChangeAction))));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_LastModifiedDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_LastModifiedDate));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LastModifyingUser));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LastModifyingApplication));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_CreationDate));data_->setArgument(7,attr);} } // Function implementations for IfcParameterizedProfileDef -::Ifc4x3_rc1::IfcAxis2Placement2D* Ifc4x3_rc1::IfcParameterizedProfileDef::Position() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcAxis2Placement2D>(); } +::Ifc4x3_rc1::IfcAxis2Placement2D* Ifc4x3_rc1::IfcParameterizedProfileDef::Position() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcAxis2Placement2D>(true); } void Ifc4x3_rc1::IfcParameterizedProfileDef::setPosition(::Ifc4x3_rc1::IfcAxis2Placement2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -18363,9 +18561,9 @@ Ifc4x3_rc1::IfcPavementType::IfcPavementType(IfcEntityInstanceData* e) : IfcBuil Ifc4x3_rc1::IfcPavementType::IfcPavementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, bool v10_Flexible) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPavementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_Flexible));data_->setArgument(9,attr);} } // Function implementations for IfcPcurve -::Ifc4x3_rc1::IfcSurface* Ifc4x3_rc1::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcSurface>(); } +::Ifc4x3_rc1::IfcSurface* Ifc4x3_rc1::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcSurface>(true); } void Ifc4x3_rc1::IfcPcurve::setBasisSurface(::Ifc4x3_rc1::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcCurve>(); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcPcurve::setReferenceCurve(::Ifc4x3_rc1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -18395,7 +18593,7 @@ boost::optional< double > Ifc4x3_rc1::IfcPermeableCoveringProperties::FrameDepth void Ifc4x3_rc1::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc1::IfcPermeableCoveringProperties::FrameThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4x3_rc1::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } -::Ifc4x3_rc1::IfcShapeAspect* Ifc4x3_rc1::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcShapeAspect>(); } +::Ifc4x3_rc1::IfcShapeAspect* Ifc4x3_rc1::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcShapeAspect>(true); } void Ifc4x3_rc1::IfcPermeableCoveringProperties::setShapeAspectStyle(::Ifc4x3_rc1::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -18444,9 +18642,9 @@ Ifc4x3_rc1::IfcPerson::IfcPerson(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEnt Ifc4x3_rc1::IfcPerson::IfcPerson(boost::optional< std::string > v1_Identification, boost::optional< std::string > v2_FamilyName, boost::optional< std::string > v3_GivenName, boost::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorRole >::ptr > v7_Roles, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPerson_type); if (v1_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identification));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_FamilyName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_FamilyName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_GivenName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_GivenName));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_MiddleNames) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_MiddleNames));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_PrefixTitles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_PrefixTitles));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_SuffixTitles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_SuffixTitles));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Roles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Roles)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Addresses) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Addresses)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcPersonAndOrganization -::Ifc4x3_rc1::IfcPerson* Ifc4x3_rc1::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcPerson>(); } +::Ifc4x3_rc1::IfcPerson* Ifc4x3_rc1::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcPerson>(true); } void Ifc4x3_rc1::IfcPersonAndOrganization::setThePerson(::Ifc4x3_rc1::IfcPerson* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc1::IfcOrganization* Ifc4x3_rc1::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcOrganization>(); } +::Ifc4x3_rc1::IfcOrganization* Ifc4x3_rc1::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcOrganization>(true); } void Ifc4x3_rc1::IfcPersonAndOrganization::setTheOrganization(::Ifc4x3_rc1::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorRole >::ptr > Ifc4x3_rc1::IfcPersonAndOrganization::Roles() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc1::IfcActorRole >(); } void Ifc4x3_rc1::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(2,attr);} } @@ -18488,7 +18686,7 @@ Ifc4x3_rc1::IfcPhysicalQuantity::IfcPhysicalQuantity(IfcEntityInstanceData* e) : Ifc4x3_rc1::IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPhysicalQuantity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcPhysicalSimpleQuantity -::Ifc4x3_rc1::IfcNamedUnit* Ifc4x3_rc1::IfcPhysicalSimpleQuantity::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcNamedUnit>(); } +::Ifc4x3_rc1::IfcNamedUnit* Ifc4x3_rc1::IfcPhysicalSimpleQuantity::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcNamedUnit>(true); } void Ifc4x3_rc1::IfcPhysicalSimpleQuantity::setUnit(::Ifc4x3_rc1::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -18576,7 +18774,7 @@ Ifc4x3_rc1::IfcPixelTexture::IfcPixelTexture(IfcEntityInstanceData* e) : IfcSurf Ifc4x3_rc1::IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) : IfcSurfaceTexture((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPixelTexture_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_RepeatS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RepeatT));data_->setArgument(1,attr);} if (v3_Mode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Mode));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TextureTransform));data_->setArgument(3,attr);} if (v5_Parameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Parameter));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Width));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Height));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_ColourComponents));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_Pixel));data_->setArgument(8,attr);} } // Function implementations for IfcPlacement -::Ifc4x3_rc1::IfcCartesianPoint* Ifc4x3_rc1::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCartesianPoint>(); } +::Ifc4x3_rc1::IfcCartesianPoint* Ifc4x3_rc1::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCartesianPoint>(true); } void Ifc4x3_rc1::IfcPlacement::setLocation(::Ifc4x3_rc1::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -18586,7 +18784,7 @@ Ifc4x3_rc1::IfcPlacement::IfcPlacement(IfcEntityInstanceData* e) : IfcGeometricR Ifc4x3_rc1::IfcPlacement::IfcPlacement(::Ifc4x3_rc1::IfcCartesianPoint* v1_Location) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPlacement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Location));data_->setArgument(0,attr);} } // Function implementations for IfcPlanarBox -::Ifc4x3_rc1::IfcAxis2Placement* Ifc4x3_rc1::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcAxis2Placement>(); } +::Ifc4x3_rc1::IfcAxis2Placement* Ifc4x3_rc1::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcAxis2Placement>(true); } void Ifc4x3_rc1::IfcPlanarBox::setPlacement(::Ifc4x3_rc1::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -18660,7 +18858,7 @@ Ifc4x3_rc1::IfcPoint::IfcPoint(IfcEntityInstanceData* e) : IfcGeometricRepresent Ifc4x3_rc1::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPoint_type); } // Function implementations for IfcPointOnCurve -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCurve>(); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcPointOnCurve::setBasisCurve(::Ifc4x3_rc1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x3_rc1::IfcPointOnCurve::PointParameter() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcPointOnCurve::setPointParameter(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -18672,7 +18870,7 @@ Ifc4x3_rc1::IfcPointOnCurve::IfcPointOnCurve(IfcEntityInstanceData* e) : IfcPoin Ifc4x3_rc1::IfcPointOnCurve::IfcPointOnCurve(::Ifc4x3_rc1::IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPointOnCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PointParameter));data_->setArgument(1,attr);} } // Function implementations for IfcPointOnSurface -::Ifc4x3_rc1::IfcSurface* Ifc4x3_rc1::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcSurface>(); } +::Ifc4x3_rc1::IfcSurface* Ifc4x3_rc1::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcSurface>(true); } void Ifc4x3_rc1::IfcPointOnSurface::setBasisSurface(::Ifc4x3_rc1::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x3_rc1::IfcPointOnSurface::PointParameterU() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcPointOnSurface::setPointParameterU(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -18696,9 +18894,9 @@ Ifc4x3_rc1::IfcPolyLoop::IfcPolyLoop(IfcEntityInstanceData* e) : IfcLoop((IfcEnt Ifc4x3_rc1::IfcPolyLoop::IfcPolyLoop(aggregate_of< ::Ifc4x3_rc1::IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPolyLoop_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Polygon)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcPolygonalBoundedHalfSpace -::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(); } +::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(true); } void Ifc4x3_rc1::IfcPolygonalBoundedHalfSpace::setPosition(::Ifc4x3_rc1::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc1::IfcBoundedCurve* Ifc4x3_rc1::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcBoundedCurve>(); } +::Ifc4x3_rc1::IfcBoundedCurve* Ifc4x3_rc1::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcBoundedCurve>(true); } void Ifc4x3_rc1::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(::Ifc4x3_rc1::IfcBoundedCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -18920,9 +19118,9 @@ Ifc4x3_rc1::IfcProcess::IfcProcess(IfcEntityInstanceData* e) : IfcObject((IfcEnt Ifc4x3_rc1::IfcProcess::IfcProcess(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcProcess_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcProduct -::Ifc4x3_rc1::IfcObjectPlacement* Ifc4x3_rc1::IfcProduct::ObjectPlacement() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcObjectPlacement>(); } +::Ifc4x3_rc1::IfcObjectPlacement* Ifc4x3_rc1::IfcProduct::ObjectPlacement() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcObjectPlacement>(true); } void Ifc4x3_rc1::IfcProduct::setObjectPlacement(::Ifc4x3_rc1::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc1::IfcProductRepresentation* Ifc4x3_rc1::IfcProduct::Representation() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcProductRepresentation>(); } +::Ifc4x3_rc1::IfcProductRepresentation* Ifc4x3_rc1::IfcProduct::Representation() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcProductRepresentation>(true); } void Ifc4x3_rc1::IfcProduct::setRepresentation(::Ifc4x3_rc1::IfcProductRepresentation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } ::Ifc4x3_rc1::IfcRelAssignsToProduct::list::ptr Ifc4x3_rc1::IfcProduct::ReferencedBy() const { return data_->getInverse(IFC4X3_RC1_IfcRelAssignsToProduct_type, 6)->as(); } @@ -18973,7 +19171,7 @@ Ifc4x3_rc1::IfcProfileDef::IfcProfileDef(IfcEntityInstanceData* e) : IfcUtil::If Ifc4x3_rc1::IfcProfileDef::IfcProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4x3_rc1::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcProfileProperties -::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcProfileDef>(); } +::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcProfileDef>(true); } void Ifc4x3_rc1::IfcProfileProperties::setProfileDefinition(::Ifc4x3_rc1::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19017,7 +19215,7 @@ boost::optional< std::string > Ifc4x3_rc1::IfcProjectedCRS::MapProjection() cons void Ifc4x3_rc1::IfcProjectedCRS::setMapProjection(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcProjectedCRS::MapZone() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x3_rc1::IfcProjectedCRS::setMapZone(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4x3_rc1::IfcNamedUnit* Ifc4x3_rc1::IfcProjectedCRS::MapUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcNamedUnit>(); } +::Ifc4x3_rc1::IfcNamedUnit* Ifc4x3_rc1::IfcProjectedCRS::MapUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcNamedUnit>(true); } void Ifc4x3_rc1::IfcProjectedCRS::setMapUnit(::Ifc4x3_rc1::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -19064,13 +19262,13 @@ Ifc4x3_rc1::IfcPropertyAbstraction::IfcPropertyAbstraction(IfcEntityInstanceData Ifc4x3_rc1::IfcPropertyAbstraction::IfcPropertyAbstraction() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPropertyAbstraction_type); } // Function implementations for IfcPropertyBoundedValue -::Ifc4x3_rc1::IfcValue* Ifc4x3_rc1::IfcPropertyBoundedValue::UpperBoundValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcValue>(); } +::Ifc4x3_rc1::IfcValue* Ifc4x3_rc1::IfcPropertyBoundedValue::UpperBoundValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcValue>(true); } void Ifc4x3_rc1::IfcPropertyBoundedValue::setUpperBoundValue(::Ifc4x3_rc1::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc1::IfcValue* Ifc4x3_rc1::IfcPropertyBoundedValue::LowerBoundValue() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcValue>(); } +::Ifc4x3_rc1::IfcValue* Ifc4x3_rc1::IfcPropertyBoundedValue::LowerBoundValue() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcValue>(true); } void Ifc4x3_rc1::IfcPropertyBoundedValue::setLowerBoundValue(::Ifc4x3_rc1::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcPropertyBoundedValue::Unit() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcUnit>(); } +::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcPropertyBoundedValue::Unit() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcUnit>(true); } void Ifc4x3_rc1::IfcPropertyBoundedValue::setUnit(::Ifc4x3_rc1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc1::IfcValue* Ifc4x3_rc1::IfcPropertyBoundedValue::SetPointValue() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcValue>(); } +::Ifc4x3_rc1::IfcValue* Ifc4x3_rc1::IfcPropertyBoundedValue::SetPointValue() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcValue>(true); } void Ifc4x3_rc1::IfcPropertyBoundedValue::setSetPointValue(::Ifc4x3_rc1::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -19090,9 +19288,9 @@ Ifc4x3_rc1::IfcPropertyDefinition::IfcPropertyDefinition(IfcEntityInstanceData* Ifc4x3_rc1::IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPropertyDefinition_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPropertyDependencyRelationship -::Ifc4x3_rc1::IfcProperty* Ifc4x3_rc1::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcProperty>(); } +::Ifc4x3_rc1::IfcProperty* Ifc4x3_rc1::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcProperty>(true); } void Ifc4x3_rc1::IfcPropertyDependencyRelationship::setDependingProperty(::Ifc4x3_rc1::IfcProperty* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc1::IfcProperty* Ifc4x3_rc1::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcProperty>(); } +::Ifc4x3_rc1::IfcProperty* Ifc4x3_rc1::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcProperty>(true); } void Ifc4x3_rc1::IfcPropertyDependencyRelationship::setDependantProperty(::Ifc4x3_rc1::IfcProperty* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcPropertyDependencyRelationship::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc1::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -19106,7 +19304,7 @@ Ifc4x3_rc1::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship // Function implementations for IfcPropertyEnumeratedValue boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc1::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } void Ifc4x3_rc1::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x3_rc1::IfcPropertyEnumeration* Ifc4x3_rc1::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcPropertyEnumeration>(); } +::Ifc4x3_rc1::IfcPropertyEnumeration* Ifc4x3_rc1::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcPropertyEnumeration>(true); } void Ifc4x3_rc1::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_rc1::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19120,7 +19318,7 @@ std::string Ifc4x3_rc1::IfcPropertyEnumeration::Name() const { std::string v = void Ifc4x3_rc1::IfcPropertyEnumeration::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of_instance::ptr Ifc4x3_rc1::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcPropertyEnumeration::setEnumerationValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcUnit>(); } +::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcUnit>(true); } void Ifc4x3_rc1::IfcPropertyEnumeration::setUnit(::Ifc4x3_rc1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -19132,7 +19330,7 @@ Ifc4x3_rc1::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, // Function implementations for IfcPropertyListValue boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc1::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } void Ifc4x3_rc1::IfcPropertyListValue::setListValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcUnit>(); } +::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcUnit>(true); } void Ifc4x3_rc1::IfcPropertyListValue::setUnit(::Ifc4x3_rc1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19144,7 +19342,7 @@ Ifc4x3_rc1::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boos // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4x3_rc1::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc1::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x3_rc1::IfcObjectReferenceSelect* Ifc4x3_rc1::IfcPropertyReferenceValue::PropertyReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcObjectReferenceSelect>(); } +::Ifc4x3_rc1::IfcObjectReferenceSelect* Ifc4x3_rc1::IfcPropertyReferenceValue::PropertyReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcObjectReferenceSelect>(true); } void Ifc4x3_rc1::IfcPropertyReferenceValue::setPropertyReference(::Ifc4x3_rc1::IfcObjectReferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19190,9 +19388,9 @@ Ifc4x3_rc1::IfcPropertySetTemplate::IfcPropertySetTemplate(IfcEntityInstanceData Ifc4x3_rc1::IfcPropertySetTemplate::IfcPropertySetTemplate(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_ApplicableEntity, aggregate_of< ::Ifc4x3_rc1::IfcPropertyTemplate >::ptr v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcPropertySetTemplate_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_TemplateType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v5_TemplateType,::Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::ToString(*v5_TemplateType))));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ApplicableEntity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ApplicableEntity));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_HasPropertyTemplates)->generalize());data_->setArgument(6,attr);} } // Function implementations for IfcPropertySingleValue -::Ifc4x3_rc1::IfcValue* Ifc4x3_rc1::IfcPropertySingleValue::NominalValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcValue>(); } +::Ifc4x3_rc1::IfcValue* Ifc4x3_rc1::IfcPropertySingleValue::NominalValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcValue>(true); } void Ifc4x3_rc1::IfcPropertySingleValue::setNominalValue(::Ifc4x3_rc1::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcPropertySingleValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcUnit>(); } +::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcPropertySingleValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcUnit>(true); } void Ifc4x3_rc1::IfcPropertySingleValue::setUnit(::Ifc4x3_rc1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19208,9 +19406,9 @@ boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc1::IfcPropertyTableValue: void Ifc4x3_rc1::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc1::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcUnit>(); } +::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcUnit>(true); } void Ifc4x3_rc1::IfcPropertyTableValue::setDefiningUnit(::Ifc4x3_rc1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcPropertyTableValue::DefinedUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcUnit>(); } +::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcPropertyTableValue::DefinedUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcUnit>(true); } void Ifc4x3_rc1::IfcPropertyTableValue::setDefinedUnit(::Ifc4x3_rc1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4x3_rc1::IfcCurveInterpolationEnum::Value > Ifc4x3_rc1::IfcPropertyTableValue::CurveInterpolation() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCurveInterpolationEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc1::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4x3_rc1::IfcCurveInterpolationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcCurveInterpolationEnum::ToString(*v)));data_->setArgument(7,attr);} } @@ -19540,7 +19738,7 @@ Ifc4x3_rc1::IfcRectangularPyramid::IfcRectangularPyramid(IfcEntityInstanceData* Ifc4x3_rc1::IfcRectangularPyramid::IfcRectangularPyramid(::Ifc4x3_rc1::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRectangularPyramid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_XLength));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_YLength));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Height));data_->setArgument(3,attr);} } // Function implementations for IfcRectangularTrimmedSurface -::Ifc4x3_rc1::IfcSurface* Ifc4x3_rc1::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcSurface>(); } +::Ifc4x3_rc1::IfcSurface* Ifc4x3_rc1::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcSurface>(true); } void Ifc4x3_rc1::IfcRectangularTrimmedSurface::setBasisSurface(::Ifc4x3_rc1::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x3_rc1::IfcRectangularTrimmedSurface::U1() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcRectangularTrimmedSurface::setU1(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -19594,7 +19792,7 @@ boost::optional< std::string > Ifc4x3_rc1::IfcReference::InstanceName() const { void Ifc4x3_rc1::IfcReference::setInstanceName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc1::IfcReference::ListPositions() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } void Ifc4x3_rc1::IfcReference::setListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } -::Ifc4x3_rc1::IfcReference* Ifc4x3_rc1::IfcReference::InnerReference() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcReference>(); } +::Ifc4x3_rc1::IfcReference* Ifc4x3_rc1::IfcReference::InnerReference() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcReference>(true); } void Ifc4x3_rc1::IfcReference::setInnerReference(::Ifc4x3_rc1::IfcReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -19784,7 +19982,7 @@ Ifc4x3_rc1::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData Ifc4x3_rc1::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< aggregate_of_instance::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcRelAggregates -::Ifc4x3_rc1::IfcObjectDefinition* Ifc4x3_rc1::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcObjectDefinition>(); } +::Ifc4x3_rc1::IfcObjectDefinition* Ifc4x3_rc1::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcObjectDefinition>(true); } void Ifc4x3_rc1::IfcRelAggregates::setRelatingObject(::Ifc4x3_rc1::IfcObjectDefinition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr Ifc4x3_rc1::IfcRelAggregates::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc1::IfcObjectDefinition >(); } void Ifc4x3_rc1::IfcRelAggregates::setRelatedObjects(aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -19808,9 +20006,9 @@ Ifc4x3_rc1::IfcRelAssigns::IfcRelAssigns(IfcEntityInstanceData* e) : IfcRelation Ifc4x3_rc1::IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssigns_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3_rc1::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } } // Function implementations for IfcRelAssignsToActor -::Ifc4x3_rc1::IfcActor* Ifc4x3_rc1::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcActor>(); } +::Ifc4x3_rc1::IfcActor* Ifc4x3_rc1::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcActor>(true); } void Ifc4x3_rc1::IfcRelAssignsToActor::setRelatingActor(::Ifc4x3_rc1::IfcActor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4x3_rc1::IfcActorRole* Ifc4x3_rc1::IfcRelAssignsToActor::ActingRole() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc1::IfcActorRole>(); } +::Ifc4x3_rc1::IfcActorRole* Ifc4x3_rc1::IfcRelAssignsToActor::ActingRole() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc1::IfcActorRole>(true); } void Ifc4x3_rc1::IfcRelAssignsToActor::setActingRole(::Ifc4x3_rc1::IfcActorRole* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -19820,7 +20018,7 @@ Ifc4x3_rc1::IfcRelAssignsToActor::IfcRelAssignsToActor(IfcEntityInstanceData* e) Ifc4x3_rc1::IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcActor* v7_RelatingActor, ::Ifc4x3_rc1::IfcActorRole* v8_ActingRole) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssignsToActor_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3_rc1::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingActor));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_ActingRole));data_->setArgument(7,attr);} } // Function implementations for IfcRelAssignsToControl -::Ifc4x3_rc1::IfcControl* Ifc4x3_rc1::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcControl>(); } +::Ifc4x3_rc1::IfcControl* Ifc4x3_rc1::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcControl>(true); } void Ifc4x3_rc1::IfcRelAssignsToControl::setRelatingControl(::Ifc4x3_rc1::IfcControl* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -19830,7 +20028,7 @@ Ifc4x3_rc1::IfcRelAssignsToControl::IfcRelAssignsToControl(IfcEntityInstanceData Ifc4x3_rc1::IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcControl* v7_RelatingControl) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssignsToControl_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3_rc1::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingControl));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssignsToGroup -::Ifc4x3_rc1::IfcGroup* Ifc4x3_rc1::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcGroup>(); } +::Ifc4x3_rc1::IfcGroup* Ifc4x3_rc1::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcGroup>(true); } void Ifc4x3_rc1::IfcRelAssignsToGroup::setRelatingGroup(::Ifc4x3_rc1::IfcGroup* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -19850,9 +20048,9 @@ Ifc4x3_rc1::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(IfcEntity Ifc4x3_rc1::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcGroup* v7_RelatingGroup, double v8_Factor) : IfcRelAssignsToGroup((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssignsToGroupByFactor_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3_rc1::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingGroup));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Factor));data_->setArgument(7,attr);} } // Function implementations for IfcRelAssignsToProcess -::Ifc4x3_rc1::IfcProcessSelect* Ifc4x3_rc1::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcProcessSelect>(); } +::Ifc4x3_rc1::IfcProcessSelect* Ifc4x3_rc1::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcProcessSelect>(true); } void Ifc4x3_rc1::IfcRelAssignsToProcess::setRelatingProcess(::Ifc4x3_rc1::IfcProcessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4x3_rc1::IfcMeasureWithUnit* Ifc4x3_rc1::IfcRelAssignsToProcess::QuantityInProcess() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc1::IfcMeasureWithUnit>(); } +::Ifc4x3_rc1::IfcMeasureWithUnit* Ifc4x3_rc1::IfcRelAssignsToProcess::QuantityInProcess() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc1::IfcMeasureWithUnit>(true); } void Ifc4x3_rc1::IfcRelAssignsToProcess::setQuantityInProcess(::Ifc4x3_rc1::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -19862,7 +20060,7 @@ Ifc4x3_rc1::IfcRelAssignsToProcess::IfcRelAssignsToProcess(IfcEntityInstanceData Ifc4x3_rc1::IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcProcessSelect* v7_RelatingProcess, ::Ifc4x3_rc1::IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssignsToProcess_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3_rc1::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingProcess));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_QuantityInProcess));data_->setArgument(7,attr);} } // Function implementations for IfcRelAssignsToProduct -::Ifc4x3_rc1::IfcProductSelect* Ifc4x3_rc1::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcProductSelect>(); } +::Ifc4x3_rc1::IfcProductSelect* Ifc4x3_rc1::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcProductSelect>(true); } void Ifc4x3_rc1::IfcRelAssignsToProduct::setRelatingProduct(::Ifc4x3_rc1::IfcProductSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -19872,7 +20070,7 @@ Ifc4x3_rc1::IfcRelAssignsToProduct::IfcRelAssignsToProduct(IfcEntityInstanceData Ifc4x3_rc1::IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcProductSelect* v7_RelatingProduct) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssignsToProduct_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3_rc1::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingProduct));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssignsToResource -::Ifc4x3_rc1::IfcResourceSelect* Ifc4x3_rc1::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcResourceSelect>(); } +::Ifc4x3_rc1::IfcResourceSelect* Ifc4x3_rc1::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcResourceSelect>(true); } void Ifc4x3_rc1::IfcRelAssignsToResource::setRelatingResource(::Ifc4x3_rc1::IfcResourceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -19892,7 +20090,7 @@ Ifc4x3_rc1::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData* e) : IfcRe Ifc4x3_rc1::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } // Function implementations for IfcRelAssociatesApproval -::Ifc4x3_rc1::IfcApproval* Ifc4x3_rc1::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcApproval>(); } +::Ifc4x3_rc1::IfcApproval* Ifc4x3_rc1::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcApproval>(true); } void Ifc4x3_rc1::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x3_rc1::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -19902,7 +20100,7 @@ Ifc4x3_rc1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstance Ifc4x3_rc1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesClassification -::Ifc4x3_rc1::IfcClassificationSelect* Ifc4x3_rc1::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcClassificationSelect>(); } +::Ifc4x3_rc1::IfcClassificationSelect* Ifc4x3_rc1::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcClassificationSelect>(true); } void Ifc4x3_rc1::IfcRelAssociatesClassification::setRelatingClassification(::Ifc4x3_rc1::IfcClassificationSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -19914,7 +20112,7 @@ Ifc4x3_rc1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std:: // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4x3_rc1::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x3_rc1::IfcRelAssociatesConstraint::setIntent(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4x3_rc1::IfcConstraint* Ifc4x3_rc1::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcConstraint>(); } +::Ifc4x3_rc1::IfcConstraint* Ifc4x3_rc1::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcConstraint>(true); } void Ifc4x3_rc1::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x3_rc1::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -19924,7 +20122,7 @@ Ifc4x3_rc1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInst Ifc4x3_rc1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc1::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociatesDocument -::Ifc4x3_rc1::IfcDocumentSelect* Ifc4x3_rc1::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcDocumentSelect>(); } +::Ifc4x3_rc1::IfcDocumentSelect* Ifc4x3_rc1::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcDocumentSelect>(true); } void Ifc4x3_rc1::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x3_rc1::IfcDocumentSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -19934,7 +20132,7 @@ Ifc4x3_rc1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstance Ifc4x3_rc1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesLibrary -::Ifc4x3_rc1::IfcLibrarySelect* Ifc4x3_rc1::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcLibrarySelect>(); } +::Ifc4x3_rc1::IfcLibrarySelect* Ifc4x3_rc1::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcLibrarySelect>(true); } void Ifc4x3_rc1::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x3_rc1::IfcLibrarySelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -19944,7 +20142,7 @@ Ifc4x3_rc1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceDa Ifc4x3_rc1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesMaterial -::Ifc4x3_rc1::IfcMaterialSelect* Ifc4x3_rc1::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcMaterialSelect>(); } +::Ifc4x3_rc1::IfcMaterialSelect* Ifc4x3_rc1::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcMaterialSelect>(true); } void Ifc4x3_rc1::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x3_rc1::IfcMaterialSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -19954,7 +20152,7 @@ Ifc4x3_rc1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstance Ifc4x3_rc1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesProfileDef -::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcProfileDef>(); } +::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcProfileDef>(true); } void Ifc4x3_rc1::IfcRelAssociatesProfileDef::setRelatingProfileDef(::Ifc4x3_rc1::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -19972,11 +20170,11 @@ Ifc4x3_rc1::IfcRelConnects::IfcRelConnects(IfcEntityInstanceData* e) : IfcRelati Ifc4x3_rc1::IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelConnects_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcRelConnectsElements -::Ifc4x3_rc1::IfcConnectionGeometry* Ifc4x3_rc1::IfcRelConnectsElements::ConnectionGeometry() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcConnectionGeometry>(); } +::Ifc4x3_rc1::IfcConnectionGeometry* Ifc4x3_rc1::IfcRelConnectsElements::ConnectionGeometry() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcConnectionGeometry>(true); } void Ifc4x3_rc1::IfcRelConnectsElements::setConnectionGeometry(::Ifc4x3_rc1::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc1::IfcElement* Ifc4x3_rc1::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcElement>(); } +::Ifc4x3_rc1::IfcElement* Ifc4x3_rc1::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcElement>(true); } void Ifc4x3_rc1::IfcRelConnectsElements::setRelatingElement(::Ifc4x3_rc1::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc1::IfcElement* Ifc4x3_rc1::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcElement>(); } +::Ifc4x3_rc1::IfcElement* Ifc4x3_rc1::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcElement>(true); } void Ifc4x3_rc1::IfcRelConnectsElements::setRelatedElement(::Ifc4x3_rc1::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -20002,9 +20200,9 @@ Ifc4x3_rc1::IfcRelConnectsPathElements::IfcRelConnectsPathElements(IfcEntityInst Ifc4x3_rc1::IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_rc1::IfcElement* v6_RelatingElement, ::Ifc4x3_rc1::IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_rc1::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_rc1::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) : IfcRelConnectsElements((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelConnectsPathElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ConnectionGeometry));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatedElement));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_RelatingPriorities));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_RelatedPriorities));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_RelatedConnectionType,::Ifc4x3_rc1::IfcConnectionTypeEnum::ToString(v10_RelatedConnectionType))));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v11_RelatingConnectionType,::Ifc4x3_rc1::IfcConnectionTypeEnum::ToString(v11_RelatingConnectionType))));data_->setArgument(10,attr);} } // Function implementations for IfcRelConnectsPortToElement -::Ifc4x3_rc1::IfcPort* Ifc4x3_rc1::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcPort>(); } +::Ifc4x3_rc1::IfcPort* Ifc4x3_rc1::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcPort>(true); } void Ifc4x3_rc1::IfcRelConnectsPortToElement::setRelatingPort(::Ifc4x3_rc1::IfcPort* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc1::IfcDistributionElement* Ifc4x3_rc1::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcDistributionElement>(); } +::Ifc4x3_rc1::IfcDistributionElement* Ifc4x3_rc1::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcDistributionElement>(true); } void Ifc4x3_rc1::IfcRelConnectsPortToElement::setRelatedElement(::Ifc4x3_rc1::IfcDistributionElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20014,11 +20212,11 @@ Ifc4x3_rc1::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(IfcEntityIn Ifc4x3_rc1::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcPort* v5_RelatingPort, ::Ifc4x3_rc1::IfcDistributionElement* v6_RelatedElement) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelConnectsPortToElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingPort));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnectsPorts -::Ifc4x3_rc1::IfcPort* Ifc4x3_rc1::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcPort>(); } +::Ifc4x3_rc1::IfcPort* Ifc4x3_rc1::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcPort>(true); } void Ifc4x3_rc1::IfcRelConnectsPorts::setRelatingPort(::Ifc4x3_rc1::IfcPort* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc1::IfcPort* Ifc4x3_rc1::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcPort>(); } +::Ifc4x3_rc1::IfcPort* Ifc4x3_rc1::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcPort>(true); } void Ifc4x3_rc1::IfcRelConnectsPorts::setRelatedPort(::Ifc4x3_rc1::IfcPort* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc1::IfcElement* Ifc4x3_rc1::IfcRelConnectsPorts::RealizingElement() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcElement>(); } +::Ifc4x3_rc1::IfcElement* Ifc4x3_rc1::IfcRelConnectsPorts::RealizingElement() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcElement>(true); } void Ifc4x3_rc1::IfcRelConnectsPorts::setRealizingElement(::Ifc4x3_rc1::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -20028,9 +20226,9 @@ Ifc4x3_rc1::IfcRelConnectsPorts::IfcRelConnectsPorts(IfcEntityInstanceData* e) : Ifc4x3_rc1::IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcPort* v5_RelatingPort, ::Ifc4x3_rc1::IfcPort* v6_RelatedPort, ::Ifc4x3_rc1::IfcElement* v7_RealizingElement) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelConnectsPorts_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingPort));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedPort));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RealizingElement));data_->setArgument(6,attr);} } // Function implementations for IfcRelConnectsStructuralActivity -::Ifc4x3_rc1::IfcStructuralActivityAssignmentSelect* Ifc4x3_rc1::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcStructuralActivityAssignmentSelect>(); } +::Ifc4x3_rc1::IfcStructuralActivityAssignmentSelect* Ifc4x3_rc1::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcStructuralActivityAssignmentSelect>(true); } void Ifc4x3_rc1::IfcRelConnectsStructuralActivity::setRelatingElement(::Ifc4x3_rc1::IfcStructuralActivityAssignmentSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc1::IfcStructuralActivity* Ifc4x3_rc1::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcStructuralActivity>(); } +::Ifc4x3_rc1::IfcStructuralActivity* Ifc4x3_rc1::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcStructuralActivity>(true); } void Ifc4x3_rc1::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(::Ifc4x3_rc1::IfcStructuralActivity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20040,17 +20238,17 @@ Ifc4x3_rc1::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(I Ifc4x3_rc1::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcStructuralActivityAssignmentSelect* v5_RelatingElement, ::Ifc4x3_rc1::IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelConnectsStructuralActivity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedStructuralActivity));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnectsStructuralMember -::Ifc4x3_rc1::IfcStructuralMember* Ifc4x3_rc1::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcStructuralMember>(); } +::Ifc4x3_rc1::IfcStructuralMember* Ifc4x3_rc1::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcStructuralMember>(true); } void Ifc4x3_rc1::IfcRelConnectsStructuralMember::setRelatingStructuralMember(::Ifc4x3_rc1::IfcStructuralMember* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc1::IfcStructuralConnection* Ifc4x3_rc1::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcStructuralConnection>(); } +::Ifc4x3_rc1::IfcStructuralConnection* Ifc4x3_rc1::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcStructuralConnection>(true); } void Ifc4x3_rc1::IfcRelConnectsStructuralMember::setRelatedStructuralConnection(::Ifc4x3_rc1::IfcStructuralConnection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc1::IfcBoundaryCondition* Ifc4x3_rc1::IfcRelConnectsStructuralMember::AppliedCondition() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcBoundaryCondition>(); } +::Ifc4x3_rc1::IfcBoundaryCondition* Ifc4x3_rc1::IfcRelConnectsStructuralMember::AppliedCondition() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcBoundaryCondition>(true); } void Ifc4x3_rc1::IfcRelConnectsStructuralMember::setAppliedCondition(::Ifc4x3_rc1::IfcBoundaryCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4x3_rc1::IfcStructuralConnectionCondition* Ifc4x3_rc1::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc1::IfcStructuralConnectionCondition>(); } +::Ifc4x3_rc1::IfcStructuralConnectionCondition* Ifc4x3_rc1::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc1::IfcStructuralConnectionCondition>(true); } void Ifc4x3_rc1::IfcRelConnectsStructuralMember::setAdditionalConditions(::Ifc4x3_rc1::IfcStructuralConnectionCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc1::IfcRelConnectsStructuralMember::SupportedLength() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } void Ifc4x3_rc1::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } -::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(); } +::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(true); } void Ifc4x3_rc1::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(::Ifc4x3_rc1::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -20060,7 +20258,7 @@ Ifc4x3_rc1::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(IfcEn Ifc4x3_rc1::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x3_rc1::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x3_rc1::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x3_rc1::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x3_rc1::IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelConnectsStructuralMember_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingStructuralMember));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedStructuralConnection));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_AppliedCondition));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AdditionalConditions));data_->setArgument(7,attr);} if (v9_SupportedLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_SupportedLength));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_ConditionCoordinateSystem));data_->setArgument(9,attr);} } // Function implementations for IfcRelConnectsWithEccentricity -::Ifc4x3_rc1::IfcConnectionGeometry* Ifc4x3_rc1::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc1::IfcConnectionGeometry>(); } +::Ifc4x3_rc1::IfcConnectionGeometry* Ifc4x3_rc1::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc1::IfcConnectionGeometry>(true); } void Ifc4x3_rc1::IfcRelConnectsWithEccentricity::setConnectionConstraint(::Ifc4x3_rc1::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -20084,7 +20282,7 @@ Ifc4x3_rc1::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElem // Function implementations for IfcRelContainedInSpatialStructure aggregate_of< ::Ifc4x3_rc1::IfcProduct >::ptr Ifc4x3_rc1::IfcRelContainedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc1::IfcProduct >(); } void Ifc4x3_rc1::IfcRelContainedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_rc1::IfcProduct >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x3_rc1::IfcSpatialElement* Ifc4x3_rc1::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcSpatialElement>(); } +::Ifc4x3_rc1::IfcSpatialElement* Ifc4x3_rc1::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcSpatialElement>(true); } void Ifc4x3_rc1::IfcRelContainedInSpatialStructure::setRelatingStructure(::Ifc4x3_rc1::IfcSpatialElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20094,7 +20292,7 @@ Ifc4x3_rc1::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure Ifc4x3_rc1::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcProduct >::ptr v5_RelatedElements, ::Ifc4x3_rc1::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelContainedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } // Function implementations for IfcRelCoversBldgElements -::Ifc4x3_rc1::IfcElement* Ifc4x3_rc1::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcElement>(); } +::Ifc4x3_rc1::IfcElement* Ifc4x3_rc1::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcElement>(true); } void Ifc4x3_rc1::IfcRelCoversBldgElements::setRelatingBuildingElement(::Ifc4x3_rc1::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc1::IfcCovering >::ptr Ifc4x3_rc1::IfcRelCoversBldgElements::RelatedCoverings() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc1::IfcCovering >(); } void Ifc4x3_rc1::IfcRelCoversBldgElements::setRelatedCoverings(aggregate_of< ::Ifc4x3_rc1::IfcCovering >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -20106,7 +20304,7 @@ Ifc4x3_rc1::IfcRelCoversBldgElements::IfcRelCoversBldgElements(IfcEntityInstance Ifc4x3_rc1::IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcElement* v5_RelatingBuildingElement, aggregate_of< ::Ifc4x3_rc1::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelCoversBldgElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingBuildingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedCoverings)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelCoversSpaces -::Ifc4x3_rc1::IfcSpace* Ifc4x3_rc1::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcSpace>(); } +::Ifc4x3_rc1::IfcSpace* Ifc4x3_rc1::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcSpace>(true); } void Ifc4x3_rc1::IfcRelCoversSpaces::setRelatingSpace(::Ifc4x3_rc1::IfcSpace* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc1::IfcCovering >::ptr Ifc4x3_rc1::IfcRelCoversSpaces::RelatedCoverings() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc1::IfcCovering >(); } void Ifc4x3_rc1::IfcRelCoversSpaces::setRelatedCoverings(aggregate_of< ::Ifc4x3_rc1::IfcCovering >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -20118,7 +20316,7 @@ Ifc4x3_rc1::IfcRelCoversSpaces::IfcRelCoversSpaces(IfcEntityInstanceData* e) : I Ifc4x3_rc1::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSpace* v5_RelatingSpace, aggregate_of< ::Ifc4x3_rc1::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelCoversSpaces_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSpace));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedCoverings)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelDeclares -::Ifc4x3_rc1::IfcContext* Ifc4x3_rc1::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcContext>(); } +::Ifc4x3_rc1::IfcContext* Ifc4x3_rc1::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcContext>(true); } void Ifc4x3_rc1::IfcRelDeclares::setRelatingContext(::Ifc4x3_rc1::IfcContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of_instance::ptr Ifc4x3_rc1::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr v = *data_->getArgument(5); return v; } void Ifc4x3_rc1::IfcRelDeclares::setRelatedDefinitions(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20148,7 +20346,7 @@ Ifc4x3_rc1::IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, ::Ifc4x3_rc1:: // Function implementations for IfcRelDefinesByObject aggregate_of< ::Ifc4x3_rc1::IfcObject >::ptr Ifc4x3_rc1::IfcRelDefinesByObject::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc1::IfcObject >(); } void Ifc4x3_rc1::IfcRelDefinesByObject::setRelatedObjects(aggregate_of< ::Ifc4x3_rc1::IfcObject >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x3_rc1::IfcObject* Ifc4x3_rc1::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcObject>(); } +::Ifc4x3_rc1::IfcObject* Ifc4x3_rc1::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcObject>(true); } void Ifc4x3_rc1::IfcRelDefinesByObject::setRelatingObject(::Ifc4x3_rc1::IfcObject* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20160,7 +20358,7 @@ Ifc4x3_rc1::IfcRelDefinesByObject::IfcRelDefinesByObject(std::string v1_GlobalId // Function implementations for IfcRelDefinesByProperties aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr Ifc4x3_rc1::IfcRelDefinesByProperties::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc1::IfcObjectDefinition >(); } void Ifc4x3_rc1::IfcRelDefinesByProperties::setRelatedObjects(aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x3_rc1::IfcPropertySetDefinitionSelect* Ifc4x3_rc1::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcPropertySetDefinitionSelect>(); } +::Ifc4x3_rc1::IfcPropertySetDefinitionSelect* Ifc4x3_rc1::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcPropertySetDefinitionSelect>(true); } void Ifc4x3_rc1::IfcRelDefinesByProperties::setRelatingPropertyDefinition(::Ifc4x3_rc1::IfcPropertySetDefinitionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20172,7 +20370,7 @@ Ifc4x3_rc1::IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_ // Function implementations for IfcRelDefinesByTemplate aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr Ifc4x3_rc1::IfcRelDefinesByTemplate::RelatedPropertySets() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc1::IfcPropertySetDefinition >(); } void Ifc4x3_rc1::IfcRelDefinesByTemplate::setRelatedPropertySets(aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x3_rc1::IfcPropertySetTemplate* Ifc4x3_rc1::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcPropertySetTemplate>(); } +::Ifc4x3_rc1::IfcPropertySetTemplate* Ifc4x3_rc1::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcPropertySetTemplate>(true); } void Ifc4x3_rc1::IfcRelDefinesByTemplate::setRelatingTemplate(::Ifc4x3_rc1::IfcPropertySetTemplate* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20184,7 +20382,7 @@ Ifc4x3_rc1::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(std::string v1_Glob // Function implementations for IfcRelDefinesByType aggregate_of< ::Ifc4x3_rc1::IfcObject >::ptr Ifc4x3_rc1::IfcRelDefinesByType::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc1::IfcObject >(); } void Ifc4x3_rc1::IfcRelDefinesByType::setRelatedObjects(aggregate_of< ::Ifc4x3_rc1::IfcObject >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x3_rc1::IfcTypeObject* Ifc4x3_rc1::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcTypeObject>(); } +::Ifc4x3_rc1::IfcTypeObject* Ifc4x3_rc1::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcTypeObject>(true); } void Ifc4x3_rc1::IfcRelDefinesByType::setRelatingType(::Ifc4x3_rc1::IfcTypeObject* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20194,9 +20392,9 @@ Ifc4x3_rc1::IfcRelDefinesByType::IfcRelDefinesByType(IfcEntityInstanceData* e) : Ifc4x3_rc1::IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcTypeObject* v6_RelatingType) : IfcRelDefines((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelDefinesByType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingType));data_->setArgument(5,attr);} } // Function implementations for IfcRelFillsElement -::Ifc4x3_rc1::IfcOpeningElement* Ifc4x3_rc1::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcOpeningElement>(); } +::Ifc4x3_rc1::IfcOpeningElement* Ifc4x3_rc1::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcOpeningElement>(true); } void Ifc4x3_rc1::IfcRelFillsElement::setRelatingOpeningElement(::Ifc4x3_rc1::IfcOpeningElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc1::IfcElement* Ifc4x3_rc1::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcElement>(); } +::Ifc4x3_rc1::IfcElement* Ifc4x3_rc1::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcElement>(true); } void Ifc4x3_rc1::IfcRelFillsElement::setRelatedBuildingElement(::Ifc4x3_rc1::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20208,7 +20406,7 @@ Ifc4x3_rc1::IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, ::If // Function implementations for IfcRelFlowControlElements aggregate_of< ::Ifc4x3_rc1::IfcDistributionControlElement >::ptr Ifc4x3_rc1::IfcRelFlowControlElements::RelatedControlElements() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc1::IfcDistributionControlElement >(); } void Ifc4x3_rc1::IfcRelFlowControlElements::setRelatedControlElements(aggregate_of< ::Ifc4x3_rc1::IfcDistributionControlElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x3_rc1::IfcDistributionFlowElement* Ifc4x3_rc1::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcDistributionFlowElement>(); } +::Ifc4x3_rc1::IfcDistributionFlowElement* Ifc4x3_rc1::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcDistributionFlowElement>(true); } void Ifc4x3_rc1::IfcRelFlowControlElements::setRelatingFlowElement(::Ifc4x3_rc1::IfcDistributionFlowElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20218,11 +20416,11 @@ Ifc4x3_rc1::IfcRelFlowControlElements::IfcRelFlowControlElements(IfcEntityInstan Ifc4x3_rc1::IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDistributionControlElement >::ptr v5_RelatedControlElements, ::Ifc4x3_rc1::IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelFlowControlElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedControlElements)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingFlowElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelInterferesElements -::Ifc4x3_rc1::IfcInterferenceSelect* Ifc4x3_rc1::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcInterferenceSelect>(); } +::Ifc4x3_rc1::IfcInterferenceSelect* Ifc4x3_rc1::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcInterferenceSelect>(true); } void Ifc4x3_rc1::IfcRelInterferesElements::setRelatingElement(::Ifc4x3_rc1::IfcInterferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc1::IfcInterferenceSelect* Ifc4x3_rc1::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcInterferenceSelect>(); } +::Ifc4x3_rc1::IfcInterferenceSelect* Ifc4x3_rc1::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcInterferenceSelect>(true); } void Ifc4x3_rc1::IfcRelInterferesElements::setRelatedElement(::Ifc4x3_rc1::IfcInterferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc1::IfcConnectionGeometry* Ifc4x3_rc1::IfcRelInterferesElements::InterferenceGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcConnectionGeometry>(); } +::Ifc4x3_rc1::IfcConnectionGeometry* Ifc4x3_rc1::IfcRelInterferesElements::InterferenceGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcConnectionGeometry>(true); } void Ifc4x3_rc1::IfcRelInterferesElements::setInterferenceGeometry(::Ifc4x3_rc1::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcRelInterferesElements::InterferenceType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } void Ifc4x3_rc1::IfcRelInterferesElements::setInterferenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } @@ -20236,7 +20434,7 @@ Ifc4x3_rc1::IfcRelInterferesElements::IfcRelInterferesElements(IfcEntityInstance Ifc4x3_rc1::IfcRelInterferesElements::IfcRelInterferesElements(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcInterferenceSelect* v5_RelatingElement, ::Ifc4x3_rc1::IfcInterferenceSelect* v6_RelatedElement, ::Ifc4x3_rc1::IfcConnectionGeometry* v7_InterferenceGeometry, boost::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelInterferesElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_InterferenceGeometry));data_->setArgument(6,attr);} if (v8_InterferenceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_InterferenceType));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_ImpliedOrder));data_->setArgument(8,attr);} } // Function implementations for IfcRelNests -::Ifc4x3_rc1::IfcObjectDefinition* Ifc4x3_rc1::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcObjectDefinition>(); } +::Ifc4x3_rc1::IfcObjectDefinition* Ifc4x3_rc1::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcObjectDefinition>(true); } void Ifc4x3_rc1::IfcRelNests::setRelatingObject(::Ifc4x3_rc1::IfcObjectDefinition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr Ifc4x3_rc1::IfcRelNests::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc1::IfcObjectDefinition >(); } void Ifc4x3_rc1::IfcRelNests::setRelatedObjects(aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -20248,7 +20446,7 @@ Ifc4x3_rc1::IfcRelNests::IfcRelNests(IfcEntityInstanceData* e) : IfcRelDecompose Ifc4x3_rc1::IfcRelNests::IfcRelNests(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelNests_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingObject));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedObjects)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelPositions -::Ifc4x3_rc1::IfcPositioningElement* Ifc4x3_rc1::IfcRelPositions::RelatingPositioningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcPositioningElement>(); } +::Ifc4x3_rc1::IfcPositioningElement* Ifc4x3_rc1::IfcRelPositions::RelatingPositioningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcPositioningElement>(true); } void Ifc4x3_rc1::IfcRelPositions::setRelatingPositioningElement(::Ifc4x3_rc1::IfcPositioningElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc1::IfcProduct >::ptr Ifc4x3_rc1::IfcRelPositions::RelatedProducts() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc1::IfcProduct >(); } void Ifc4x3_rc1::IfcRelPositions::setRelatedProducts(aggregate_of< ::Ifc4x3_rc1::IfcProduct >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -20260,9 +20458,9 @@ Ifc4x3_rc1::IfcRelPositions::IfcRelPositions(IfcEntityInstanceData* e) : IfcRelC Ifc4x3_rc1::IfcRelPositions::IfcRelPositions(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcPositioningElement* v5_RelatingPositioningElement, aggregate_of< ::Ifc4x3_rc1::IfcProduct >::ptr v6_RelatedProducts) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelPositions_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingPositioningElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedProducts)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelProjectsElement -::Ifc4x3_rc1::IfcElement* Ifc4x3_rc1::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcElement>(); } +::Ifc4x3_rc1::IfcElement* Ifc4x3_rc1::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcElement>(true); } void Ifc4x3_rc1::IfcRelProjectsElement::setRelatingElement(::Ifc4x3_rc1::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc1::IfcFeatureElementAddition* Ifc4x3_rc1::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcFeatureElementAddition>(); } +::Ifc4x3_rc1::IfcFeatureElementAddition* Ifc4x3_rc1::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcFeatureElementAddition>(true); } void Ifc4x3_rc1::IfcRelProjectsElement::setRelatedFeatureElement(::Ifc4x3_rc1::IfcFeatureElementAddition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20274,7 +20472,7 @@ Ifc4x3_rc1::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId // Function implementations for IfcRelReferencedInSpatialStructure aggregate_of_instance::ptr Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr v = *data_->getArgument(4); return v; } void Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc1::IfcSpatialElement* Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcSpatialElement>(); } +::Ifc4x3_rc1::IfcSpatialElement* Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcSpatialElement>(true); } void Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4x3_rc1::IfcSpatialElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20284,11 +20482,11 @@ Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructu Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedElements, ::Ifc4x3_rc1::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } // Function implementations for IfcRelSequence -::Ifc4x3_rc1::IfcProcess* Ifc4x3_rc1::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcProcess>(); } +::Ifc4x3_rc1::IfcProcess* Ifc4x3_rc1::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcProcess>(true); } void Ifc4x3_rc1::IfcRelSequence::setRelatingProcess(::Ifc4x3_rc1::IfcProcess* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc1::IfcProcess* Ifc4x3_rc1::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcProcess>(); } +::Ifc4x3_rc1::IfcProcess* Ifc4x3_rc1::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcProcess>(true); } void Ifc4x3_rc1::IfcRelSequence::setRelatedProcess(::Ifc4x3_rc1::IfcProcess* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc1::IfcLagTime* Ifc4x3_rc1::IfcRelSequence::TimeLag() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcLagTime>(); } +::Ifc4x3_rc1::IfcLagTime* Ifc4x3_rc1::IfcRelSequence::TimeLag() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcLagTime>(true); } void Ifc4x3_rc1::IfcRelSequence::setTimeLag(::Ifc4x3_rc1::IfcLagTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4x3_rc1::IfcSequenceEnum::Value > Ifc4x3_rc1::IfcRelSequence::SequenceType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSequenceEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc1::IfcRelSequence::setSequenceType(boost::optional< ::Ifc4x3_rc1::IfcSequenceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcSequenceEnum::ToString(*v)));data_->setArgument(7,attr);} } @@ -20302,7 +20500,7 @@ Ifc4x3_rc1::IfcRelSequence::IfcRelSequence(IfcEntityInstanceData* e) : IfcRelCon Ifc4x3_rc1::IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcProcess* v5_RelatingProcess, ::Ifc4x3_rc1::IfcProcess* v6_RelatedProcess, ::Ifc4x3_rc1::IfcLagTime* v7_TimeLag, boost::optional< ::Ifc4x3_rc1::IfcSequenceEnum::Value > v8_SequenceType, boost::optional< std::string > v9_UserDefinedSequenceType) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelSequence_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingProcess));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedProcess));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_TimeLag));data_->setArgument(6,attr);} if (v8_SequenceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_SequenceType,::Ifc4x3_rc1::IfcSequenceEnum::ToString(*v8_SequenceType))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_UserDefinedSequenceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_UserDefinedSequenceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcRelServicesBuildings -::Ifc4x3_rc1::IfcSystem* Ifc4x3_rc1::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcSystem>(); } +::Ifc4x3_rc1::IfcSystem* Ifc4x3_rc1::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcSystem>(true); } void Ifc4x3_rc1::IfcRelServicesBuildings::setRelatingSystem(::Ifc4x3_rc1::IfcSystem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc1::IfcSpatialElement >::ptr Ifc4x3_rc1::IfcRelServicesBuildings::RelatedBuildings() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc1::IfcSpatialElement >(); } void Ifc4x3_rc1::IfcRelServicesBuildings::setRelatedBuildings(aggregate_of< ::Ifc4x3_rc1::IfcSpatialElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -20314,11 +20512,11 @@ Ifc4x3_rc1::IfcRelServicesBuildings::IfcRelServicesBuildings(IfcEntityInstanceDa Ifc4x3_rc1::IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSystem* v5_RelatingSystem, aggregate_of< ::Ifc4x3_rc1::IfcSpatialElement >::ptr v6_RelatedBuildings) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelServicesBuildings_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSystem));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildings)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelSpaceBoundary -::Ifc4x3_rc1::IfcSpaceBoundarySelect* Ifc4x3_rc1::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcSpaceBoundarySelect>(); } +::Ifc4x3_rc1::IfcSpaceBoundarySelect* Ifc4x3_rc1::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcSpaceBoundarySelect>(true); } void Ifc4x3_rc1::IfcRelSpaceBoundary::setRelatingSpace(::Ifc4x3_rc1::IfcSpaceBoundarySelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc1::IfcElement* Ifc4x3_rc1::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcElement>(); } +::Ifc4x3_rc1::IfcElement* Ifc4x3_rc1::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcElement>(true); } void Ifc4x3_rc1::IfcRelSpaceBoundary::setRelatedBuildingElement(::Ifc4x3_rc1::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc1::IfcConnectionGeometry* Ifc4x3_rc1::IfcRelSpaceBoundary::ConnectionGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcConnectionGeometry>(); } +::Ifc4x3_rc1::IfcConnectionGeometry* Ifc4x3_rc1::IfcRelSpaceBoundary::ConnectionGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcConnectionGeometry>(true); } void Ifc4x3_rc1::IfcRelSpaceBoundary::setConnectionGeometry(::Ifc4x3_rc1::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } ::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value Ifc4x3_rc1::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc1::IfcRelSpaceBoundary::setPhysicalOrVirtualBoundary(::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::ToString(v)));data_->setArgument(7,attr);} } @@ -20332,7 +20530,7 @@ Ifc4x3_rc1::IfcRelSpaceBoundary::IfcRelSpaceBoundary(IfcEntityInstanceData* e) : Ifc4x3_rc1::IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_rc1::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_rc1::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelSpaceBoundary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSpace));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConnectionGeometry));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_PhysicalOrVirtualBoundary,::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_InternalOrExternalBoundary,::Ifc4x3_rc1::IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary))));data_->setArgument(8,attr);} } // Function implementations for IfcRelSpaceBoundary1stLevel -::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel* Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel>(); } +::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel* Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel>(true); } void Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel::setParentBoundary(::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } ::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel::list::ptr Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return data_->getInverse(IFC4X3_RC1_IfcRelSpaceBoundary1stLevel_type, 9)->as(); } @@ -20343,7 +20541,7 @@ Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(IfcEntityIn Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_rc1::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_rc1::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary) : IfcRelSpaceBoundary((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelSpaceBoundary1stLevel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSpace));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConnectionGeometry));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_PhysicalOrVirtualBoundary,::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_InternalOrExternalBoundary,::Ifc4x3_rc1::IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_ParentBoundary));data_->setArgument(9,attr);} } // Function implementations for IfcRelSpaceBoundary2ndLevel -::Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel* Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel>(); } +::Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel* Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel>(true); } void Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(::Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } ::Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel::list::ptr Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return data_->getInverse(IFC4X3_RC1_IfcRelSpaceBoundary2ndLevel_type, 10)->as(); } @@ -20354,9 +20552,9 @@ Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(IfcEntityIn Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_rc1::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_rc1::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, ::Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary) : IfcRelSpaceBoundary1stLevel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRelSpaceBoundary2ndLevel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSpace));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConnectionGeometry));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_PhysicalOrVirtualBoundary,::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_InternalOrExternalBoundary,::Ifc4x3_rc1::IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_ParentBoundary));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_CorrespondingBoundary));data_->setArgument(10,attr);} } // Function implementations for IfcRelVoidsElement -::Ifc4x3_rc1::IfcElement* Ifc4x3_rc1::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcElement>(); } +::Ifc4x3_rc1::IfcElement* Ifc4x3_rc1::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcElement>(true); } void Ifc4x3_rc1::IfcRelVoidsElement::setRelatingBuildingElement(::Ifc4x3_rc1::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc1::IfcFeatureElementSubtraction* Ifc4x3_rc1::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcFeatureElementSubtraction>(); } +::Ifc4x3_rc1::IfcFeatureElementSubtraction* Ifc4x3_rc1::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcFeatureElementSubtraction>(true); } void Ifc4x3_rc1::IfcRelVoidsElement::setRelatedOpeningElement(::Ifc4x3_rc1::IfcFeatureElementSubtraction* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20384,7 +20582,7 @@ Ifc4x3_rc1::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCu Ifc4x3_rc1::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(::Ifc4x3_rc1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc1::IfcCurve* v3_ParentCurve, double v4_ParamLength) : IfcCompositeCurveSegment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcReparametrisedCompositeCurveSegment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_Transition,::Ifc4x3_rc1::IfcTransitionCode::ToString(v1_Transition))));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SameSense));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ParentCurve));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ParamLength));data_->setArgument(3,attr);} } // Function implementations for IfcRepresentation -::Ifc4x3_rc1::IfcRepresentationContext* Ifc4x3_rc1::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcRepresentationContext>(); } +::Ifc4x3_rc1::IfcRepresentationContext* Ifc4x3_rc1::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcRepresentationContext>(true); } void Ifc4x3_rc1::IfcRepresentation::setContextOfItems(::Ifc4x3_rc1::IfcRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcRepresentation::RepresentationIdentifier() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } @@ -20426,9 +20624,9 @@ Ifc4x3_rc1::IfcRepresentationItem::IfcRepresentationItem(IfcEntityInstanceData* Ifc4x3_rc1::IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRepresentationItem_type); } // Function implementations for IfcRepresentationMap -::Ifc4x3_rc1::IfcAxis2Placement* Ifc4x3_rc1::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcAxis2Placement>(); } +::Ifc4x3_rc1::IfcAxis2Placement* Ifc4x3_rc1::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcAxis2Placement>(true); } void Ifc4x3_rc1::IfcRepresentationMap::setMappingOrigin(::Ifc4x3_rc1::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc1::IfcRepresentation* Ifc4x3_rc1::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcRepresentation>(); } +::Ifc4x3_rc1::IfcRepresentation* Ifc4x3_rc1::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcRepresentation>(true); } void Ifc4x3_rc1::IfcRepresentationMap::setMappedRepresentation(::Ifc4x3_rc1::IfcRepresentation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4x3_rc1::IfcShapeAspect::list::ptr Ifc4x3_rc1::IfcRepresentationMap::HasShapeAspects() const { return data_->getInverse(IFC4X3_RC1_IfcShapeAspect_type, 4)->as(); } @@ -20455,7 +20653,7 @@ Ifc4x3_rc1::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcO // Function implementations for IfcResourceApprovalRelationship aggregate_of_instance::ptr Ifc4x3_rc1::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } void Ifc4x3_rc1::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc1::IfcApproval* Ifc4x3_rc1::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcApproval>(); } +::Ifc4x3_rc1::IfcApproval* Ifc4x3_rc1::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcApproval>(true); } void Ifc4x3_rc1::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_rc1::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -20465,7 +20663,7 @@ Ifc4x3_rc1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(Ifc Ifc4x3_rc1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc1::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } // Function implementations for IfcResourceConstraintRelationship -::Ifc4x3_rc1::IfcConstraint* Ifc4x3_rc1::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcConstraint>(); } +::Ifc4x3_rc1::IfcConstraint* Ifc4x3_rc1::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcConstraint>(true); } void Ifc4x3_rc1::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x3_rc1::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of_instance::ptr Ifc4x3_rc1::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } void Ifc4x3_rc1::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -20527,7 +20725,7 @@ Ifc4x3_rc1::IfcResourceTime::IfcResourceTime(IfcEntityInstanceData* e) : IfcSche Ifc4x3_rc1::IfcResourceTime::IfcResourceTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< std::string > v4_ScheduleWork, boost::optional< double > v5_ScheduleUsage, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_ScheduleContour, boost::optional< std::string > v9_LevelingDelay, boost::optional< bool > v10_IsOverAllocated, boost::optional< std::string > v11_StatusTime, boost::optional< std::string > v12_ActualWork, boost::optional< double > v13_ActualUsage, boost::optional< std::string > v14_ActualStart, boost::optional< std::string > v15_ActualFinish, boost::optional< std::string > v16_RemainingWork, boost::optional< double > v17_RemainingUsage, boost::optional< double > v18_Completion) : IfcSchedulingTime((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcResourceTime_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_DataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v2_DataOrigin,::Ifc4x3_rc1::IfcDataOriginEnum::ToString(*v2_DataOrigin))));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UserDefinedDataOrigin));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_ScheduleWork) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_ScheduleWork));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ScheduleUsage) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ScheduleUsage));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ScheduleStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ScheduleStart));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ScheduleFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ScheduleFinish));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_ScheduleContour) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_ScheduleContour));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_LevelingDelay) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_LevelingDelay));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_IsOverAllocated) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_IsOverAllocated));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_StatusTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_StatusTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_ActualWork) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_ActualWork));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ActualUsage) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ActualUsage));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ActualStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ActualStart));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ActualFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ActualFinish));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_RemainingWork) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_RemainingWork));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_RemainingUsage) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_RemainingUsage));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_Completion) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_Completion));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } } // Function implementations for IfcRevolvedAreaSolid -::Ifc4x3_rc1::IfcAxis1Placement* Ifc4x3_rc1::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcAxis1Placement>(); } +::Ifc4x3_rc1::IfcAxis1Placement* Ifc4x3_rc1::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcAxis1Placement>(true); } void Ifc4x3_rc1::IfcRevolvedAreaSolid::setAxis(::Ifc4x3_rc1::IfcAxis1Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc4x3_rc1::IfcRevolvedAreaSolid::Angle() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc1::IfcRevolvedAreaSolid::setAngle(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -20539,7 +20737,7 @@ Ifc4x3_rc1::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcEntityInstanceData* e) Ifc4x3_rc1::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(::Ifc4x3_rc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc1::IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcRevolvedAreaSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Axis));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Angle));data_->setArgument(3,attr);} } // Function implementations for IfcRevolvedAreaSolidTapered -::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcProfileDef>(); } +::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcProfileDef>(true); } void Ifc4x3_rc1::IfcRevolvedAreaSolidTapered::setEndSweptArea(::Ifc4x3_rc1::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -20603,7 +20801,7 @@ Ifc4x3_rc1::IfcRoofType::IfcRoofType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcO // Function implementations for IfcRoot std::string Ifc4x3_rc1::IfcRoot::GlobalId() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc1::IfcRoot::setGlobalId(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc1::IfcOwnerHistory* Ifc4x3_rc1::IfcRoot::OwnerHistory() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcOwnerHistory>(); } +::Ifc4x3_rc1::IfcOwnerHistory* Ifc4x3_rc1::IfcRoot::OwnerHistory() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcOwnerHistory>(true); } void Ifc4x3_rc1::IfcRoot::setOwnerHistory(::Ifc4x3_rc1::IfcOwnerHistory* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcRoot::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc1::IfcRoot::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } @@ -20683,9 +20881,9 @@ Ifc4x3_rc1::IfcSeamCurve::IfcSeamCurve(::Ifc4x3_rc1::IfcCurve* v1_Curve3D, aggre // Function implementations for IfcSectionProperties ::Ifc4x3_rc1::IfcSectionTypeEnum::Value Ifc4x3_rc1::IfcSectionProperties::SectionType() const { return ::Ifc4x3_rc1::IfcSectionTypeEnum::FromString(*data_->getArgument(0)); } void Ifc4x3_rc1::IfcSectionProperties::setSectionType(::Ifc4x3_rc1::IfcSectionTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcSectionTypeEnum::ToString(v)));data_->setArgument(0,attr);} } -::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcProfileDef>(); } +::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcProfileDef>(true); } void Ifc4x3_rc1::IfcSectionProperties::setStartProfile(::Ifc4x3_rc1::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcSectionProperties::EndProfile() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcProfileDef>(); } +::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcSectionProperties::EndProfile() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcProfileDef>(true); } void Ifc4x3_rc1::IfcSectionProperties::setEndProfile(::Ifc4x3_rc1::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -20703,7 +20901,7 @@ boost::optional< double > Ifc4x3_rc1::IfcSectionReinforcementProperties::Transve void Ifc4x3_rc1::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } ::Ifc4x3_rc1::IfcReinforcingBarRoleEnum::Value Ifc4x3_rc1::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x3_rc1::IfcReinforcingBarRoleEnum::FromString(*data_->getArgument(3)); } void Ifc4x3_rc1::IfcSectionReinforcementProperties::setReinforcementRole(::Ifc4x3_rc1::IfcReinforcingBarRoleEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcReinforcingBarRoleEnum::ToString(v)));data_->setArgument(3,attr);} } -::Ifc4x3_rc1::IfcSectionProperties* Ifc4x3_rc1::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcSectionProperties>(); } +::Ifc4x3_rc1::IfcSectionProperties* Ifc4x3_rc1::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcSectionProperties>(true); } void Ifc4x3_rc1::IfcSectionReinforcementProperties::setSectionDefinition(::Ifc4x3_rc1::IfcSectionProperties* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc1::IfcReinforcementBarProperties >::ptr Ifc4x3_rc1::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc1::IfcReinforcementBarProperties >(); } void Ifc4x3_rc1::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(aggregate_of< ::Ifc4x3_rc1::IfcReinforcementBarProperties >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -20715,7 +20913,7 @@ Ifc4x3_rc1::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties Ifc4x3_rc1::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, ::Ifc4x3_rc1::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_rc1::IfcSectionProperties* v5_SectionDefinition, aggregate_of< ::Ifc4x3_rc1::IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcPreDefinedProperties((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcSectionReinforcementProperties_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_LongitudinalStartPosition));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LongitudinalEndPosition));data_->setArgument(1,attr);} if (v3_TransversePosition) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_TransversePosition));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v4_ReinforcementRole,::Ifc4x3_rc1::IfcReinforcingBarRoleEnum::ToString(v4_ReinforcementRole))));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_SectionDefinition));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_CrossSectionReinforcementDefinitions)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcSectionedSolid -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcSectionedSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCurve>(); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcSectionedSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcSectionedSolid::setDirectrix(::Ifc4x3_rc1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x3_rc1::IfcProfileDef >::ptr Ifc4x3_rc1::IfcSectionedSolid::CrossSections() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc1::IfcProfileDef >(); } void Ifc4x3_rc1::IfcSectionedSolid::setCrossSections(aggregate_of< ::Ifc4x3_rc1::IfcProfileDef >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -20739,7 +20937,7 @@ Ifc4x3_rc1::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(IfcEntityIn Ifc4x3_rc1::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(::Ifc4x3_rc1::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_rc1::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3_rc1::IfcDistanceExpression >::ptr v3_CrossSectionPositions, bool v4_FixedAxisVertical) : IfcSectionedSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcSectionedSolidHorizontal_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Directrix));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_CrossSections)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_CrossSectionPositions)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_FixedAxisVertical));data_->setArgument(3,attr);} } // Function implementations for IfcSectionedSpine -::Ifc4x3_rc1::IfcCompositeCurve* Ifc4x3_rc1::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCompositeCurve>(); } +::Ifc4x3_rc1::IfcCompositeCurve* Ifc4x3_rc1::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCompositeCurve>(true); } void Ifc4x3_rc1::IfcSectionedSpine::setSpineCurve(::Ifc4x3_rc1::IfcCompositeCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x3_rc1::IfcProfileDef >::ptr Ifc4x3_rc1::IfcSectionedSpine::CrossSections() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc1::IfcProfileDef >(); } void Ifc4x3_rc1::IfcSectionedSpine::setCrossSections(aggregate_of< ::Ifc4x3_rc1::IfcProfileDef >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -20753,7 +20951,7 @@ Ifc4x3_rc1::IfcSectionedSpine::IfcSectionedSpine(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc1::IfcSectionedSpine::IfcSectionedSpine(::Ifc4x3_rc1::IfcCompositeCurve* v1_SpineCurve, aggregate_of< ::Ifc4x3_rc1::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3_rc1::IfcAxis2Placement3D >::ptr v3_CrossSectionPositions) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcSectionedSpine_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SpineCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_CrossSections)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_CrossSectionPositions)->generalize());data_->setArgument(2,attr);} } // Function implementations for IfcSectionedSurface -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcSectionedSurface::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCurve>(); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcSectionedSurface::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcSectionedSurface::setDirectrix(::Ifc4x3_rc1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x3_rc1::IfcDistanceExpression >::ptr Ifc4x3_rc1::IfcSectionedSurface::CrossSectionPositions() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc1::IfcDistanceExpression >(); } void Ifc4x3_rc1::IfcSectionedSurface::setCrossSectionPositions(aggregate_of< ::Ifc4x3_rc1::IfcDistanceExpression >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -20817,7 +21015,7 @@ boost::optional< std::string > Ifc4x3_rc1::IfcShapeAspect::Description() const { void Ifc4x3_rc1::IfcShapeAspect::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } boost::logic::tribool Ifc4x3_rc1::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = *data_->getArgument(3); return v; } void Ifc4x3_rc1::IfcShapeAspect::setProductDefinitional(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc1::IfcProductRepresentationSelect* Ifc4x3_rc1::IfcShapeAspect::PartOfProductDefinitionShape() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcProductRepresentationSelect>(); } +::Ifc4x3_rc1::IfcProductRepresentationSelect* Ifc4x3_rc1::IfcShapeAspect::PartOfProductDefinitionShape() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcProductRepresentationSelect>(true); } void Ifc4x3_rc1::IfcShapeAspect::setPartOfProductDefinitionShape(::Ifc4x3_rc1::IfcProductRepresentationSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4x3_rc1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc1::IfcShapeAspect::HasExternalReferences() const { return data_->getInverse(IFC4X3_RC1_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -20909,11 +21107,11 @@ boost::optional< std::string > Ifc4x3_rc1::IfcSimplePropertyTemplate::PrimaryMea void Ifc4x3_rc1::IfcSimplePropertyTemplate::setPrimaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4x3_rc1::IfcSimplePropertyTemplate::setSecondaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } -::Ifc4x3_rc1::IfcPropertyEnumeration* Ifc4x3_rc1::IfcSimplePropertyTemplate::Enumerators() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc1::IfcPropertyEnumeration>(); } +::Ifc4x3_rc1::IfcPropertyEnumeration* Ifc4x3_rc1::IfcSimplePropertyTemplate::Enumerators() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc1::IfcPropertyEnumeration>(true); } void Ifc4x3_rc1::IfcSimplePropertyTemplate::setEnumerators(::Ifc4x3_rc1::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcSimplePropertyTemplate::PrimaryUnit() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcUnit>(); } +::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcSimplePropertyTemplate::PrimaryUnit() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcUnit>(true); } void Ifc4x3_rc1::IfcSimplePropertyTemplate::setPrimaryUnit(::Ifc4x3_rc1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcSimplePropertyTemplate::SecondaryUnit() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc1::IfcUnit>(); } +::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcSimplePropertyTemplate::SecondaryUnit() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc1::IfcUnit>(true); } void Ifc4x3_rc1::IfcSimplePropertyTemplate::setSecondaryUnit(::Ifc4x3_rc1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcSimplePropertyTemplate::Expression() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4x3_rc1::IfcSimplePropertyTemplate::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } @@ -20935,7 +21133,7 @@ boost::optional< double > Ifc4x3_rc1::IfcSite::RefElevation() const { if(!data_- void Ifc4x3_rc1::IfcSite::setRefElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcSite::LandTitleNumber() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } void Ifc4x3_rc1::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } -::Ifc4x3_rc1::IfcPostalAddress* Ifc4x3_rc1::IfcSite::SiteAddress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x3_rc1::IfcPostalAddress>(); } +::Ifc4x3_rc1::IfcPostalAddress* Ifc4x3_rc1::IfcSite::SiteAddress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x3_rc1::IfcPostalAddress>(true); } void Ifc4x3_rc1::IfcSite::setSiteAddress(::Ifc4x3_rc1::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } @@ -21238,7 +21436,7 @@ Ifc4x3_rc1::IfcStructuralAction::IfcStructuralAction(IfcEntityInstanceData* e) : Ifc4x3_rc1::IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralActivity((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcStructuralAction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc4x3_rc1::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);} if (v10_DestabilizingLoad) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_DestabilizingLoad));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcStructuralActivity -::Ifc4x3_rc1::IfcStructuralLoad* Ifc4x3_rc1::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc1::IfcStructuralLoad>(); } +::Ifc4x3_rc1::IfcStructuralLoad* Ifc4x3_rc1::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc1::IfcStructuralLoad>(true); } void Ifc4x3_rc1::IfcStructuralActivity::setAppliedLoad(::Ifc4x3_rc1::IfcStructuralLoad* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value Ifc4x3_rc1::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::FromString(*data_->getArgument(8)); } void Ifc4x3_rc1::IfcStructuralActivity::setGlobalOrLocal(::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcGlobalOrLocalEnum::ToString(v)));data_->setArgument(8,attr);} } @@ -21253,13 +21451,13 @@ Ifc4x3_rc1::IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId // Function implementations for IfcStructuralAnalysisModel ::Ifc4x3_rc1::IfcAnalysisModelTypeEnum::Value Ifc4x3_rc1::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x3_rc1::IfcAnalysisModelTypeEnum::FromString(*data_->getArgument(5)); } void Ifc4x3_rc1::IfcStructuralAnalysisModel::setPredefinedType(::Ifc4x3_rc1::IfcAnalysisModelTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcAnalysisModelTypeEnum::ToString(v)));data_->setArgument(5,attr);} } -::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(); } +::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(true); } void Ifc4x3_rc1::IfcStructuralAnalysisModel::setOrientationOf2DPlane(::Ifc4x3_rc1::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcStructuralLoadGroup >::ptr > Ifc4x3_rc1::IfcStructuralAnalysisModel::LoadedBy() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc1::IfcStructuralLoadGroup >(); } void Ifc4x3_rc1::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcStructuralLoadGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcStructuralResultGroup >::ptr > Ifc4x3_rc1::IfcStructuralAnalysisModel::HasResults() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x3_rc1::IfcStructuralResultGroup >(); } void Ifc4x3_rc1::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcStructuralResultGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } -::Ifc4x3_rc1::IfcObjectPlacement* Ifc4x3_rc1::IfcStructuralAnalysisModel::SharedPlacement() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc1::IfcObjectPlacement>(); } +::Ifc4x3_rc1::IfcObjectPlacement* Ifc4x3_rc1::IfcStructuralAnalysisModel::SharedPlacement() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc1::IfcObjectPlacement>(true); } void Ifc4x3_rc1::IfcStructuralAnalysisModel::setSharedPlacement(::Ifc4x3_rc1::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -21269,7 +21467,7 @@ Ifc4x3_rc1::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(IfcEntityInst Ifc4x3_rc1::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc1::IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcStructuralResultGroup >::ptr > v9_HasResults, ::Ifc4x3_rc1::IfcObjectPlacement* v10_SharedPlacement) : IfcSystem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcStructuralAnalysisModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_PredefinedType,::Ifc4x3_rc1::IfcAnalysisModelTypeEnum::ToString(v6_PredefinedType))));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_OrientationOf2DPlane));data_->setArgument(6,attr);} if (v8_LoadedBy) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LoadedBy)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_HasResults) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_HasResults)->generalize());data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_SharedPlacement));data_->setArgument(9,attr);} } // Function implementations for IfcStructuralConnection -::Ifc4x3_rc1::IfcBoundaryCondition* Ifc4x3_rc1::IfcStructuralConnection::AppliedCondition() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc1::IfcBoundaryCondition>(); } +::Ifc4x3_rc1::IfcBoundaryCondition* Ifc4x3_rc1::IfcStructuralConnection::AppliedCondition() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc1::IfcBoundaryCondition>(true); } void Ifc4x3_rc1::IfcStructuralConnection::setAppliedCondition(::Ifc4x3_rc1::IfcBoundaryCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x3_rc1::IfcRelConnectsStructuralMember::list::ptr Ifc4x3_rc1::IfcStructuralConnection::ConnectsStructuralMembers() const { return data_->getInverse(IFC4X3_RC1_IfcRelConnectsStructuralMember_type, 5)->as(); } @@ -21302,7 +21500,7 @@ Ifc4x3_rc1::IfcStructuralCurveAction::IfcStructuralCurveAction(IfcEntityInstance Ifc4x3_rc1::IfcStructuralCurveAction::IfcStructuralCurveAction(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcStructuralCurveAction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc4x3_rc1::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);} if (v10_DestabilizingLoad) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_DestabilizingLoad));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_ProjectedOrTrue) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_ProjectedOrTrue,::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::ToString(*v11_ProjectedOrTrue))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcStructuralCurveConnection -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcStructuralCurveConnection::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcDirection>(); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcStructuralCurveConnection::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcStructuralCurveConnection::setAxis(::Ifc4x3_rc1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -21314,7 +21512,7 @@ Ifc4x3_rc1::IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::stri // Function implementations for IfcStructuralCurveMember ::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_rc1::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc1::IfcStructuralCurveMember::setPredefinedType(::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::ToString(v)));data_->setArgument(7,attr);} } -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcDirection>(); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcStructuralCurveMember::setAxis(::Ifc4x3_rc1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -21560,7 +21758,7 @@ Ifc4x3_rc1::IfcStructuralPointAction::IfcStructuralPointAction(IfcEntityInstance Ifc4x3_rc1::IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralAction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcStructuralPointAction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc4x3_rc1::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);} if (v10_DestabilizingLoad) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_DestabilizingLoad));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcStructuralPointConnection -::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(); } +::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(true); } void Ifc4x3_rc1::IfcStructuralPointConnection::setConditionCoordinateSystem(::Ifc4x3_rc1::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -21588,7 +21786,7 @@ Ifc4x3_rc1::IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId // Function implementations for IfcStructuralResultGroup ::Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_rc1::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::FromString(*data_->getArgument(5)); } void Ifc4x3_rc1::IfcStructuralResultGroup::setTheoryType(::Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::ToString(v)));data_->setArgument(5,attr);} } -::Ifc4x3_rc1::IfcStructuralLoadGroup* Ifc4x3_rc1::IfcStructuralResultGroup::ResultForLoadGroup() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcStructuralLoadGroup>(); } +::Ifc4x3_rc1::IfcStructuralLoadGroup* Ifc4x3_rc1::IfcStructuralResultGroup::ResultForLoadGroup() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcStructuralLoadGroup>(true); } void Ifc4x3_rc1::IfcStructuralResultGroup::setResultForLoadGroup(::Ifc4x3_rc1::IfcStructuralLoadGroup* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } bool Ifc4x3_rc1::IfcStructuralResultGroup::IsLinear() const { bool v = *data_->getArgument(7); return v; } void Ifc4x3_rc1::IfcStructuralResultGroup::setIsLinear(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -21659,7 +21857,7 @@ Ifc4x3_rc1::IfcStyleModel::IfcStyleModel(IfcEntityInstanceData* e) : IfcRepresen Ifc4x3_rc1::IfcStyleModel::IfcStyleModel(::Ifc4x3_rc1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc1::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcStyleModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcStyledItem -::Ifc4x3_rc1::IfcRepresentationItem* Ifc4x3_rc1::IfcStyledItem::Item() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcRepresentationItem>(); } +::Ifc4x3_rc1::IfcRepresentationItem* Ifc4x3_rc1::IfcStyledItem::Item() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcRepresentationItem>(true); } void Ifc4x3_rc1::IfcStyledItem::setItem(::Ifc4x3_rc1::IfcRepresentationItem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of_instance::ptr Ifc4x3_rc1::IfcStyledItem::Styles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcStyledItem::setStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -21701,7 +21899,7 @@ Ifc4x3_rc1::IfcSubContractResourceType::IfcSubContractResourceType(IfcEntityInst Ifc4x3_rc1::IfcSubContractResourceType::IfcSubContractResourceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcSubContractResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcSubedge -::Ifc4x3_rc1::IfcEdge* Ifc4x3_rc1::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcEdge>(); } +::Ifc4x3_rc1::IfcEdge* Ifc4x3_rc1::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcEdge>(true); } void Ifc4x3_rc1::IfcSubedge::setParentEdge(::Ifc4x3_rc1::IfcEdge* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -21719,7 +21917,7 @@ Ifc4x3_rc1::IfcSurface::IfcSurface(IfcEntityInstanceData* e) : IfcGeometricRepre Ifc4x3_rc1::IfcSurface::IfcSurface() : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcSurface_type); } // Function implementations for IfcSurfaceCurve -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCurve>(); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcSurfaceCurve::setCurve3D(::Ifc4x3_rc1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x3_rc1::IfcPcurve >::ptr Ifc4x3_rc1::IfcSurfaceCurve::AssociatedGeometry() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc1::IfcPcurve >(); } void Ifc4x3_rc1::IfcSurfaceCurve::setAssociatedGeometry(aggregate_of< ::Ifc4x3_rc1::IfcPcurve >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -21733,7 +21931,7 @@ Ifc4x3_rc1::IfcSurfaceCurve::IfcSurfaceCurve(IfcEntityInstanceData* e) : IfcCurv Ifc4x3_rc1::IfcSurfaceCurve::IfcSurfaceCurve(::Ifc4x3_rc1::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_rc1::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcSurfaceCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Curve3D));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_AssociatedGeometry)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_MasterRepresentation,::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::ToString(v3_MasterRepresentation))));data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceCurveSweptAreaSolid -::Ifc4x3_rc1::IfcSurface* Ifc4x3_rc1::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcSurface>(); } +::Ifc4x3_rc1::IfcSurface* Ifc4x3_rc1::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcSurface>(true); } void Ifc4x3_rc1::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(::Ifc4x3_rc1::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -21753,7 +21951,7 @@ Ifc4x3_rc1::IfcSurfaceFeature::IfcSurfaceFeature(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc1::IfcSurfaceFeature::IfcSurfaceFeature(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcSurfaceFeature_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcSurfaceOfLinearExtrusion -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcDirection>(); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcSurfaceOfLinearExtrusion::setExtrudedDirection(::Ifc4x3_rc1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc4x3_rc1::IfcSurfaceOfLinearExtrusion::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc1::IfcSurfaceOfLinearExtrusion::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -21765,7 +21963,7 @@ Ifc4x3_rc1::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcEntityIn Ifc4x3_rc1::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(::Ifc4x3_rc1::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_rc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc1::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcSurfaceOfLinearExtrusion_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ExtrudedDirection));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);} } // Function implementations for IfcSurfaceOfRevolution -::Ifc4x3_rc1::IfcAxis1Placement* Ifc4x3_rc1::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcAxis1Placement>(); } +::Ifc4x3_rc1::IfcAxis1Placement* Ifc4x3_rc1::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcAxis1Placement>(true); } void Ifc4x3_rc1::IfcSurfaceOfRevolution::setAxisPosition(::Ifc4x3_rc1::IfcAxis1Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -21801,13 +21999,13 @@ Ifc4x3_rc1::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData* e) : IfcPres Ifc4x3_rc1::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcSurfaceSide::Value v2_Side, aggregate_of_instance::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x3_rc1::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceStyleLighting -::Ifc4x3_rc1::IfcColourRgb* Ifc4x3_rc1::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcColourRgb>(); } +::Ifc4x3_rc1::IfcColourRgb* Ifc4x3_rc1::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcColourRgb>(true); } void Ifc4x3_rc1::IfcSurfaceStyleLighting::setDiffuseTransmissionColour(::Ifc4x3_rc1::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc1::IfcColourRgb* Ifc4x3_rc1::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcColourRgb>(); } +::Ifc4x3_rc1::IfcColourRgb* Ifc4x3_rc1::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcColourRgb>(true); } void Ifc4x3_rc1::IfcSurfaceStyleLighting::setDiffuseReflectionColour(::Ifc4x3_rc1::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc1::IfcColourRgb* Ifc4x3_rc1::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcColourRgb>(); } +::Ifc4x3_rc1::IfcColourRgb* Ifc4x3_rc1::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcColourRgb>(true); } void Ifc4x3_rc1::IfcSurfaceStyleLighting::setTransmissionColour(::Ifc4x3_rc1::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc1::IfcColourRgb* Ifc4x3_rc1::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcColourRgb>(); } +::Ifc4x3_rc1::IfcColourRgb* Ifc4x3_rc1::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcColourRgb>(true); } void Ifc4x3_rc1::IfcSurfaceStyleLighting::setReflectanceColour(::Ifc4x3_rc1::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -21829,17 +22027,17 @@ Ifc4x3_rc1::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(IfcEntityInstan Ifc4x3_rc1::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcSurfaceStyleRefraction_type); if (v1_RefractionIndex) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RefractionIndex));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_DispersionFactor) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_DispersionFactor));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcSurfaceStyleRendering -::Ifc4x3_rc1::IfcColourOrFactor* Ifc4x3_rc1::IfcSurfaceStyleRendering::DiffuseColour() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcColourOrFactor>(); } +::Ifc4x3_rc1::IfcColourOrFactor* Ifc4x3_rc1::IfcSurfaceStyleRendering::DiffuseColour() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcColourOrFactor>(true); } void Ifc4x3_rc1::IfcSurfaceStyleRendering::setDiffuseColour(::Ifc4x3_rc1::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc1::IfcColourOrFactor* Ifc4x3_rc1::IfcSurfaceStyleRendering::TransmissionColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcColourOrFactor>(); } +::Ifc4x3_rc1::IfcColourOrFactor* Ifc4x3_rc1::IfcSurfaceStyleRendering::TransmissionColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcColourOrFactor>(true); } void Ifc4x3_rc1::IfcSurfaceStyleRendering::setTransmissionColour(::Ifc4x3_rc1::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc1::IfcColourOrFactor* Ifc4x3_rc1::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcColourOrFactor>(); } +::Ifc4x3_rc1::IfcColourOrFactor* Ifc4x3_rc1::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcColourOrFactor>(true); } void Ifc4x3_rc1::IfcSurfaceStyleRendering::setDiffuseTransmissionColour(::Ifc4x3_rc1::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc1::IfcColourOrFactor* Ifc4x3_rc1::IfcSurfaceStyleRendering::ReflectionColour() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcColourOrFactor>(); } +::Ifc4x3_rc1::IfcColourOrFactor* Ifc4x3_rc1::IfcSurfaceStyleRendering::ReflectionColour() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcColourOrFactor>(true); } void Ifc4x3_rc1::IfcSurfaceStyleRendering::setReflectionColour(::Ifc4x3_rc1::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc1::IfcColourOrFactor* Ifc4x3_rc1::IfcSurfaceStyleRendering::SpecularColour() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcColourOrFactor>(); } +::Ifc4x3_rc1::IfcColourOrFactor* Ifc4x3_rc1::IfcSurfaceStyleRendering::SpecularColour() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcColourOrFactor>(true); } void Ifc4x3_rc1::IfcSurfaceStyleRendering::setSpecularColour(::Ifc4x3_rc1::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4x3_rc1::IfcSpecularHighlightSelect* Ifc4x3_rc1::IfcSurfaceStyleRendering::SpecularHighlight() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc1::IfcSpecularHighlightSelect>(); } +::Ifc4x3_rc1::IfcSpecularHighlightSelect* Ifc4x3_rc1::IfcSurfaceStyleRendering::SpecularHighlight() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc1::IfcSpecularHighlightSelect>(true); } void Ifc4x3_rc1::IfcSurfaceStyleRendering::setSpecularHighlight(::Ifc4x3_rc1::IfcSpecularHighlightSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x3_rc1::IfcReflectanceMethodEnum::Value Ifc4x3_rc1::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4x3_rc1::IfcReflectanceMethodEnum::FromString(*data_->getArgument(8)); } void Ifc4x3_rc1::IfcSurfaceStyleRendering::setReflectanceMethod(::Ifc4x3_rc1::IfcReflectanceMethodEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcReflectanceMethodEnum::ToString(v)));data_->setArgument(8,attr);} } @@ -21851,7 +22049,7 @@ Ifc4x3_rc1::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcEntityInstance Ifc4x3_rc1::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc4x3_rc1::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, ::Ifc4x3_rc1::IfcColourOrFactor* v3_DiffuseColour, ::Ifc4x3_rc1::IfcColourOrFactor* v4_TransmissionColour, ::Ifc4x3_rc1::IfcColourOrFactor* v5_DiffuseTransmissionColour, ::Ifc4x3_rc1::IfcColourOrFactor* v6_ReflectionColour, ::Ifc4x3_rc1::IfcColourOrFactor* v7_SpecularColour, ::Ifc4x3_rc1::IfcSpecularHighlightSelect* v8_SpecularHighlight, ::Ifc4x3_rc1::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) : IfcSurfaceStyleShading((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcSurfaceStyleRendering_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SurfaceColour));data_->setArgument(0,attr);} if (v2_Transparency) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Transparency));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DiffuseColour));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TransmissionColour));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_DiffuseTransmissionColour));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ReflectionColour));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_SpecularColour));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_SpecularHighlight));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_ReflectanceMethod,::Ifc4x3_rc1::IfcReflectanceMethodEnum::ToString(v9_ReflectanceMethod))));data_->setArgument(8,attr);} } // Function implementations for IfcSurfaceStyleShading -::Ifc4x3_rc1::IfcColourRgb* Ifc4x3_rc1::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcColourRgb>(); } +::Ifc4x3_rc1::IfcColourRgb* Ifc4x3_rc1::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcColourRgb>(true); } void Ifc4x3_rc1::IfcSurfaceStyleShading::setSurfaceColour(::Ifc4x3_rc1::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4x3_rc1::IfcSurfaceStyleShading::Transparency() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcSurfaceStyleShading::setTransparency(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } @@ -21879,7 +22077,7 @@ bool Ifc4x3_rc1::IfcSurfaceTexture::RepeatT() const { bool v = *data_->getArgum void Ifc4x3_rc1::IfcSurfaceTexture::setRepeatT(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcSurfaceTexture::Mode() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc1::IfcSurfaceTexture::setMode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x3_rc1::IfcCartesianTransformationOperator2D* Ifc4x3_rc1::IfcSurfaceTexture::TextureTransform() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcCartesianTransformationOperator2D>(); } +::Ifc4x3_rc1::IfcCartesianTransformationOperator2D* Ifc4x3_rc1::IfcSurfaceTexture::TextureTransform() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcCartesianTransformationOperator2D>(true); } void Ifc4x3_rc1::IfcSurfaceTexture::setTextureTransform(::Ifc4x3_rc1::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcSurfaceTexture::Parameter() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } void Ifc4x3_rc1::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -21893,9 +22091,9 @@ Ifc4x3_rc1::IfcSurfaceTexture::IfcSurfaceTexture(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc1::IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcSurfaceTexture_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_RepeatS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RepeatT));data_->setArgument(1,attr);} if (v3_Mode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Mode));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TextureTransform));data_->setArgument(3,attr);} if (v5_Parameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Parameter));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcSweptAreaSolid -::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcProfileDef>(); } +::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcProfileDef>(true); } void Ifc4x3_rc1::IfcSweptAreaSolid::setSweptArea(::Ifc4x3_rc1::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcSweptAreaSolid::Position() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(); } +::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcSweptAreaSolid::Position() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(true); } void Ifc4x3_rc1::IfcSweptAreaSolid::setPosition(::Ifc4x3_rc1::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -21905,7 +22103,7 @@ Ifc4x3_rc1::IfcSweptAreaSolid::IfcSweptAreaSolid(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc1::IfcSweptAreaSolid::IfcSweptAreaSolid(::Ifc4x3_rc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D* v2_Position) : IfcSolidModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcSweptAreaSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);} } // Function implementations for IfcSweptDiskSolid -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCurve>(); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcSweptDiskSolid::setDirectrix(::Ifc4x3_rc1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x3_rc1::IfcSweptDiskSolid::Radius() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcSweptDiskSolid::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -21933,9 +22131,9 @@ Ifc4x3_rc1::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(IfcEntityInst Ifc4x3_rc1::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(::Ifc4x3_rc1::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, boost::optional< double > v6_FilletRadius) : IfcSweptDiskSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcSweptDiskSolidPolygonal_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Directrix));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Radius));data_->setArgument(1,attr);} if (v3_InnerRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_InnerRadius));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_StartParam) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_StartParam));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_EndParam) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_EndParam));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_FilletRadius));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } } // Function implementations for IfcSweptSurface -::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcProfileDef>(); } +::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcProfileDef>(true); } void Ifc4x3_rc1::IfcSweptSurface::setSweptCurve(::Ifc4x3_rc1::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcSweptSurface::Position() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(); } +::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcSweptSurface::Position() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(true); } void Ifc4x3_rc1::IfcSweptSurface::setPosition(::Ifc4x3_rc1::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -22041,9 +22239,9 @@ boost::optional< std::string > Ifc4x3_rc1::IfcTableColumn::Name() const { if(!da void Ifc4x3_rc1::IfcTableColumn::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTableColumn::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc1::IfcTableColumn::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcTableColumn::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcUnit>(); } +::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcTableColumn::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcUnit>(true); } void Ifc4x3_rc1::IfcTableColumn::setUnit(::Ifc4x3_rc1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc1::IfcReference* Ifc4x3_rc1::IfcTableColumn::ReferencePath() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcReference>(); } +::Ifc4x3_rc1::IfcReference* Ifc4x3_rc1::IfcTableColumn::ReferencePath() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcReference>(true); } void Ifc4x3_rc1::IfcTableColumn::setReferencePath(::Ifc4x3_rc1::IfcReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -22093,7 +22291,7 @@ bool Ifc4x3_rc1::IfcTask::IsMilestone() const { bool v = *data_->getArgument(9) void Ifc4x3_rc1::IfcTask::setIsMilestone(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< int > Ifc4x3_rc1::IfcTask::Priority() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } int v = *data_->getArgument(10); return v; } void Ifc4x3_rc1::IfcTask::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } -::Ifc4x3_rc1::IfcTaskTime* Ifc4x3_rc1::IfcTask::TaskTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc1::IfcTaskTime>(); } +::Ifc4x3_rc1::IfcTaskTime* Ifc4x3_rc1::IfcTask::TaskTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc1::IfcTaskTime>(true); } void Ifc4x3_rc1::IfcTask::setTaskTime(::Ifc4x3_rc1::IfcTaskTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< ::Ifc4x3_rc1::IfcTaskTypeEnum::Value > Ifc4x3_rc1::IfcTask::PredefinedType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcTaskTypeEnum::FromString(*data_->getArgument(12)); } void Ifc4x3_rc1::IfcTask::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcTaskTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc1::IfcTaskTypeEnum::ToString(*v)));data_->setArgument(12,attr);} } @@ -22147,7 +22345,7 @@ Ifc4x3_rc1::IfcTaskTime::IfcTaskTime(IfcEntityInstanceData* e) : IfcSchedulingTi Ifc4x3_rc1::IfcTaskTime::IfcTaskTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x3_rc1::IfcTaskDurationEnum::Value > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion) : IfcSchedulingTime((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcTaskTime_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_DataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v2_DataOrigin,::Ifc4x3_rc1::IfcDataOriginEnum::ToString(*v2_DataOrigin))));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UserDefinedDataOrigin));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DurationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v4_DurationType,::Ifc4x3_rc1::IfcTaskDurationEnum::ToString(*v4_DurationType))));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ScheduleDuration) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ScheduleDuration));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ScheduleStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ScheduleStart));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ScheduleFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ScheduleFinish));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_EarlyStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_EarlyStart));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EarlyFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EarlyFinish));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_LateStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_LateStart));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_LateFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_LateFinish));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_FreeFloat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_FreeFloat));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_TotalFloat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_TotalFloat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_IsCritical) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_IsCritical));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_StatusTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_StatusTime));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_ActualDuration) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_ActualDuration));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_ActualStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_ActualStart));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_ActualFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_ActualFinish));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_RemainingTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_RemainingTime));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_Completion) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_Completion));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcTaskTimeRecurring -::Ifc4x3_rc1::IfcRecurrencePattern* Ifc4x3_rc1::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(20)))->as<::Ifc4x3_rc1::IfcRecurrencePattern>(); } +::Ifc4x3_rc1::IfcRecurrencePattern* Ifc4x3_rc1::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(20)))->as<::Ifc4x3_rc1::IfcRecurrencePattern>(true); } void Ifc4x3_rc1::IfcTaskTimeRecurring::setRecurrence(::Ifc4x3_rc1::IfcRecurrencePattern* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(20,attr);} } @@ -22269,7 +22467,7 @@ Ifc4x3_rc1::IfcTendonType::IfcTendonType(IfcEntityInstanceData* e) : IfcReinforc Ifc4x3_rc1::IfcTendonType::IfcTendonType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTendonTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheathDiameter) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcTendonType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc1::IfcTendonTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_SheathDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_SheathDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } } // Function implementations for IfcTessellatedFaceSet -::Ifc4x3_rc1::IfcCartesianPointList3D* Ifc4x3_rc1::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCartesianPointList3D>(); } +::Ifc4x3_rc1::IfcCartesianPointList3D* Ifc4x3_rc1::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCartesianPointList3D>(true); } void Ifc4x3_rc1::IfcTessellatedFaceSet::setCoordinates(::Ifc4x3_rc1::IfcCartesianPointList3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4x3_rc1::IfcIndexedColourMap::list::ptr Ifc4x3_rc1::IfcTessellatedFaceSet::HasColours() const { return data_->getInverse(IFC4X3_RC1_IfcIndexedColourMap_type, 0)->as(); } @@ -22291,7 +22489,7 @@ Ifc4x3_rc1::IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentatio // Function implementations for IfcTextLiteral std::string Ifc4x3_rc1::IfcTextLiteral::Literal() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc1::IfcTextLiteral::setLiteral(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc1::IfcAxis2Placement* Ifc4x3_rc1::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcAxis2Placement>(); } +::Ifc4x3_rc1::IfcAxis2Placement* Ifc4x3_rc1::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcAxis2Placement>(true); } void Ifc4x3_rc1::IfcTextLiteral::setPlacement(::Ifc4x3_rc1::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4x3_rc1::IfcTextPath::Value Ifc4x3_rc1::IfcTextLiteral::Path() const { return ::Ifc4x3_rc1::IfcTextPath::FromString(*data_->getArgument(2)); } void Ifc4x3_rc1::IfcTextLiteral::setPath(::Ifc4x3_rc1::IfcTextPath::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcTextPath::ToString(v)));data_->setArgument(2,attr);} } @@ -22303,7 +22501,7 @@ Ifc4x3_rc1::IfcTextLiteral::IfcTextLiteral(IfcEntityInstanceData* e) : IfcGeomet Ifc4x3_rc1::IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, ::Ifc4x3_rc1::IfcAxis2Placement* v2_Placement, ::Ifc4x3_rc1::IfcTextPath::Value v3_Path) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcTextLiteral_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Literal));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Placement));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_Path,::Ifc4x3_rc1::IfcTextPath::ToString(v3_Path))));data_->setArgument(2,attr);} } // Function implementations for IfcTextLiteralWithExtent -::Ifc4x3_rc1::IfcPlanarExtent* Ifc4x3_rc1::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcPlanarExtent>(); } +::Ifc4x3_rc1::IfcPlanarExtent* Ifc4x3_rc1::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcPlanarExtent>(true); } void Ifc4x3_rc1::IfcTextLiteralWithExtent::setExtent(::Ifc4x3_rc1::IfcPlanarExtent* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } std::string Ifc4x3_rc1::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc1::IfcTextLiteralWithExtent::setBoxAlignment(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -22315,11 +22513,11 @@ Ifc4x3_rc1::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcEntityInstance Ifc4x3_rc1::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(std::string v1_Literal, ::Ifc4x3_rc1::IfcAxis2Placement* v2_Placement, ::Ifc4x3_rc1::IfcTextPath::Value v3_Path, ::Ifc4x3_rc1::IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment) : IfcTextLiteral((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcTextLiteralWithExtent_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Literal));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Placement));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_Path,::Ifc4x3_rc1::IfcTextPath::ToString(v3_Path))));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Extent));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_BoxAlignment));data_->setArgument(4,attr);} } // Function implementations for IfcTextStyle -::Ifc4x3_rc1::IfcTextStyleForDefinedFont* Ifc4x3_rc1::IfcTextStyle::TextCharacterAppearance() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcTextStyleForDefinedFont>(); } +::Ifc4x3_rc1::IfcTextStyleForDefinedFont* Ifc4x3_rc1::IfcTextStyle::TextCharacterAppearance() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcTextStyleForDefinedFont>(true); } void Ifc4x3_rc1::IfcTextStyle::setTextCharacterAppearance(::Ifc4x3_rc1::IfcTextStyleForDefinedFont* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc1::IfcTextStyleTextModel* Ifc4x3_rc1::IfcTextStyle::TextStyle() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcTextStyleTextModel>(); } +::Ifc4x3_rc1::IfcTextStyleTextModel* Ifc4x3_rc1::IfcTextStyle::TextStyle() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcTextStyleTextModel>(true); } void Ifc4x3_rc1::IfcTextStyle::setTextStyle(::Ifc4x3_rc1::IfcTextStyleTextModel* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc1::IfcTextFontSelect* Ifc4x3_rc1::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcTextFontSelect>(); } +::Ifc4x3_rc1::IfcTextFontSelect* Ifc4x3_rc1::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcTextFontSelect>(true); } void Ifc4x3_rc1::IfcTextStyle::setTextFontStyle(::Ifc4x3_rc1::IfcTextFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< bool > Ifc4x3_rc1::IfcTextStyle::ModelOrDraughting() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } bool v = *data_->getArgument(4); return v; } void Ifc4x3_rc1::IfcTextStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -22339,7 +22537,7 @@ boost::optional< std::string > Ifc4x3_rc1::IfcTextStyleFontModel::FontVariant() void Ifc4x3_rc1::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTextStyleFontModel::FontWeight() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc1::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc4x3_rc1::IfcSizeSelect* Ifc4x3_rc1::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcSizeSelect>(); } +::Ifc4x3_rc1::IfcSizeSelect* Ifc4x3_rc1::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc1::IfcSizeSelect>(true); } void Ifc4x3_rc1::IfcTextStyleFontModel::setFontSize(::Ifc4x3_rc1::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -22349,9 +22547,9 @@ Ifc4x3_rc1::IfcTextStyleFontModel::IfcTextStyleFontModel(IfcEntityInstanceData* Ifc4x3_rc1::IfcTextStyleFontModel::IfcTextStyleFontModel(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, boost::optional< std::string > v3_FontStyle, boost::optional< std::string > v4_FontVariant, boost::optional< std::string > v5_FontWeight, ::Ifc4x3_rc1::IfcSizeSelect* v6_FontSize) : IfcPreDefinedTextFont((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcTextStyleFontModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FontFamily));data_->setArgument(1,attr);} if (v3_FontStyle) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_FontStyle));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_FontVariant) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_FontVariant));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_FontWeight) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_FontWeight));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_FontSize));data_->setArgument(5,attr);} } // Function implementations for IfcTextStyleForDefinedFont -::Ifc4x3_rc1::IfcColour* Ifc4x3_rc1::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcColour>(); } +::Ifc4x3_rc1::IfcColour* Ifc4x3_rc1::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcColour>(true); } void Ifc4x3_rc1::IfcTextStyleForDefinedFont::setColour(::Ifc4x3_rc1::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc1::IfcColour* Ifc4x3_rc1::IfcTextStyleForDefinedFont::BackgroundColour() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcColour>(); } +::Ifc4x3_rc1::IfcColour* Ifc4x3_rc1::IfcTextStyleForDefinedFont::BackgroundColour() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc1::IfcColour>(true); } void Ifc4x3_rc1::IfcTextStyleForDefinedFont::setBackgroundColour(::Ifc4x3_rc1::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -22361,19 +22559,19 @@ Ifc4x3_rc1::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcEntityInst Ifc4x3_rc1::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4x3_rc1::IfcColour* v1_Colour, ::Ifc4x3_rc1::IfcColour* v2_BackgroundColour) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcTextStyleForDefinedFont_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Colour));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_BackgroundColour));data_->setArgument(1,attr);} } // Function implementations for IfcTextStyleTextModel -::Ifc4x3_rc1::IfcSizeSelect* Ifc4x3_rc1::IfcTextStyleTextModel::TextIndent() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcSizeSelect>(); } +::Ifc4x3_rc1::IfcSizeSelect* Ifc4x3_rc1::IfcTextStyleTextModel::TextIndent() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcSizeSelect>(true); } void Ifc4x3_rc1::IfcTextStyleTextModel::setTextIndent(::Ifc4x3_rc1::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTextStyleTextModel::TextAlign() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTextStyleTextModel::TextDecoration() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc1::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x3_rc1::IfcSizeSelect* Ifc4x3_rc1::IfcTextStyleTextModel::LetterSpacing() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcSizeSelect>(); } +::Ifc4x3_rc1::IfcSizeSelect* Ifc4x3_rc1::IfcTextStyleTextModel::LetterSpacing() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcSizeSelect>(true); } void Ifc4x3_rc1::IfcTextStyleTextModel::setLetterSpacing(::Ifc4x3_rc1::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc1::IfcSizeSelect* Ifc4x3_rc1::IfcTextStyleTextModel::WordSpacing() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcSizeSelect>(); } +::Ifc4x3_rc1::IfcSizeSelect* Ifc4x3_rc1::IfcTextStyleTextModel::WordSpacing() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc1::IfcSizeSelect>(true); } void Ifc4x3_rc1::IfcTextStyleTextModel::setWordSpacing(::Ifc4x3_rc1::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTextStyleTextModel::TextTransform() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x3_rc1::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4x3_rc1::IfcSizeSelect* Ifc4x3_rc1::IfcTextStyleTextModel::LineHeight() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcSizeSelect>(); } +::Ifc4x3_rc1::IfcSizeSelect* Ifc4x3_rc1::IfcTextStyleTextModel::LineHeight() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc1::IfcSizeSelect>(true); } void Ifc4x3_rc1::IfcTextStyleTextModel::setLineHeight(::Ifc4x3_rc1::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -22407,7 +22605,7 @@ Ifc4x3_rc1::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(aggrega // Function implementations for IfcTextureMap aggregate_of< ::Ifc4x3_rc1::IfcTextureVertex >::ptr Ifc4x3_rc1::IfcTextureMap::Vertices() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc1::IfcTextureVertex >(); } void Ifc4x3_rc1::IfcTextureMap::setVertices(aggregate_of< ::Ifc4x3_rc1::IfcTextureVertex >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } -::Ifc4x3_rc1::IfcFace* Ifc4x3_rc1::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcFace>(); } +::Ifc4x3_rc1::IfcFace* Ifc4x3_rc1::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc1::IfcFace>(true); } void Ifc4x3_rc1::IfcTextureMap::setMappedTo(::Ifc4x3_rc1::IfcFace* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -22463,7 +22661,7 @@ void Ifc4x3_rc1::IfcTimeSeries::setTimeSeriesDataType(::Ifc4x3_rc1::IfcTimeSerie void Ifc4x3_rc1::IfcTimeSeries::setDataOrigin(::Ifc4x3_rc1::IfcDataOriginEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc1::IfcDataOriginEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcTimeSeries::UserDefinedDataOrigin() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4x3_rc1::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } -::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcTimeSeries::Unit() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc1::IfcUnit>(); } +::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcTimeSeries::Unit() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc1::IfcUnit>(true); } void Ifc4x3_rc1::IfcTimeSeries::setUnit(::Ifc4x3_rc1::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x3_rc1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc1::IfcTimeSeries::HasExternalReference() const { return data_->getInverse(IFC4X3_RC1_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -22570,7 +22768,7 @@ Ifc4x3_rc1::IfcTransitionCurveSegment2D::IfcTransitionCurveSegment2D(IfcEntityIn Ifc4x3_rc1::IfcTransitionCurveSegment2D::IfcTransitionCurveSegment2D(::Ifc4x3_rc1::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, boost::optional< double > v4_StartRadius, boost::optional< double > v5_EndRadius, bool v6_IsStartRadiusCCW, bool v7_IsEndRadiusCCW, ::Ifc4x3_rc1::IfcTransitionCurveType::Value v8_TransitionCurveType) : IfcCurveSegment2D((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcTransitionCurveSegment2D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_StartPoint));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_StartDirection));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SegmentLength));data_->setArgument(2,attr);} if (v4_StartRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_StartRadius));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_EndRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_EndRadius));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_IsStartRadiusCCW));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_IsEndRadiusCCW));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_TransitionCurveType,::Ifc4x3_rc1::IfcTransitionCurveType::ToString(v8_TransitionCurveType))));data_->setArgument(7,attr);} } // Function implementations for IfcTransportElement -::Ifc4x3_rc1::IfcTransportElementTypeSelect* Ifc4x3_rc1::IfcTransportElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcTransportElementTypeSelect>(); } +::Ifc4x3_rc1::IfcTransportElementTypeSelect* Ifc4x3_rc1::IfcTransportElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcTransportElementTypeSelect>(true); } void Ifc4x3_rc1::IfcTransportElement::setPredefinedType(::Ifc4x3_rc1::IfcTransportElementTypeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -22580,7 +22778,7 @@ Ifc4x3_rc1::IfcTransportElement::IfcTransportElement(IfcEntityInstanceData* e) : Ifc4x3_rc1::IfcTransportElement::IfcTransportElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc1::IfcTransportElementTypeSelect* v9_PredefinedType) : IfcElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcTransportElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_PredefinedType));data_->setArgument(8,attr);} } // Function implementations for IfcTransportElementType -::Ifc4x3_rc1::IfcTransportElementTypeSelect* Ifc4x3_rc1::IfcTransportElementType::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc1::IfcTransportElementTypeSelect>(); } +::Ifc4x3_rc1::IfcTransportElementTypeSelect* Ifc4x3_rc1::IfcTransportElementType::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc1::IfcTransportElementTypeSelect>(true); } void Ifc4x3_rc1::IfcTransportElementType::setPredefinedType(::Ifc4x3_rc1::IfcTransportElementTypeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -22632,7 +22830,7 @@ Ifc4x3_rc1::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(Ifc Ifc4x3_rc1::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::Ifc4x3_rc1::IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) : IfcTriangulatedFaceSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcTriangulatedIrregularNetwork_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Coordinates));data_->setArgument(0,attr);} if (v2_Normals) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Normals));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Closed) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Closed));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_CoordIndex));data_->setArgument(3,attr);} if (v5_PnIndex) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_PnIndex));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Flags));data_->setArgument(5,attr);} } // Function implementations for IfcTrimmedCurve -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCurve>(); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcTrimmedCurve::setBasisCurve(::Ifc4x3_rc1::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of_instance::ptr Ifc4x3_rc1::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcTrimmedCurve::setTrim1(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -22818,7 +23016,7 @@ Ifc4x3_rc1::IfcValveType::IfcValveType(IfcEntityInstanceData* e) : IfcFlowContro Ifc4x3_rc1::IfcValveType::IfcValveType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcValveTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcValveType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc1::IfcValveTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcVector -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcDirection>(); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcVector::setOrientation(::Ifc4x3_rc1::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x3_rc1::IfcVector::Magnitude() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc1::IfcVector::setMagnitude(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -22838,7 +23036,7 @@ Ifc4x3_rc1::IfcVertex::IfcVertex(IfcEntityInstanceData* e) : IfcTopologicalRepre Ifc4x3_rc1::IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcVertex_type); } // Function implementations for IfcVertexLoop -::Ifc4x3_rc1::IfcVertex* Ifc4x3_rc1::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcVertex>(); } +::Ifc4x3_rc1::IfcVertex* Ifc4x3_rc1::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcVertex>(true); } void Ifc4x3_rc1::IfcVertexLoop::setLoopVertex(::Ifc4x3_rc1::IfcVertex* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -22848,7 +23046,7 @@ Ifc4x3_rc1::IfcVertexLoop::IfcVertexLoop(IfcEntityInstanceData* e) : IfcLoop((If Ifc4x3_rc1::IfcVertexLoop::IfcVertexLoop(::Ifc4x3_rc1::IfcVertex* v1_LoopVertex) : IfcLoop((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcVertexLoop_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_LoopVertex));data_->setArgument(0,attr);} } // Function implementations for IfcVertexPoint -::Ifc4x3_rc1::IfcPoint* Ifc4x3_rc1::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcPoint>(); } +::Ifc4x3_rc1::IfcPoint* Ifc4x3_rc1::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc1::IfcPoint>(true); } void Ifc4x3_rc1::IfcVertexPoint::setVertexGeometry(::Ifc4x3_rc1::IfcPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -23034,7 +23232,7 @@ boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::FirstMullionOff void Ifc4x3_rc1::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::SecondMullionOffset() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } void Ifc4x3_rc1::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } -::Ifc4x3_rc1::IfcShapeAspect* Ifc4x3_rc1::IfcWindowLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc4x3_rc1::IfcShapeAspect>(); } +::Ifc4x3_rc1::IfcShapeAspect* Ifc4x3_rc1::IfcWindowLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc4x3_rc1::IfcShapeAspect>(true); } void Ifc4x3_rc1::IfcWindowLiningProperties::setShapeAspectStyle(::Ifc4x3_rc1::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::LiningOffset() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } void Ifc4x3_rc1::IfcWindowLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } @@ -23058,7 +23256,7 @@ boost::optional< double > Ifc4x3_rc1::IfcWindowPanelProperties::FrameDepth() con void Ifc4x3_rc1::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc1::IfcWindowPanelProperties::FrameThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4x3_rc1::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } -::Ifc4x3_rc1::IfcShapeAspect* Ifc4x3_rc1::IfcWindowPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcShapeAspect>(); } +::Ifc4x3_rc1::IfcShapeAspect* Ifc4x3_rc1::IfcWindowPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc1::IfcShapeAspect>(true); } void Ifc4x3_rc1::IfcWindowPanelProperties::setShapeAspectStyle(::Ifc4x3_rc1::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -23164,7 +23362,7 @@ Ifc4x3_rc1::IfcWorkSchedule::IfcWorkSchedule(IfcEntityInstanceData* e) : IfcWork Ifc4x3_rc1::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< ::Ifc4x3_rc1::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) : IfcWorkControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC1_IfcWorkSchedule_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_CreationDate));data_->setArgument(6,attr);} if (v8_Creators) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Creators)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_Purpose));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_Duration) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Duration));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_TotalFloat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_TotalFloat));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_StartTime));data_->setArgument(11,attr);} if (v13_FinishTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_FinishTime));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_PredefinedType,::Ifc4x3_rc1::IfcWorkScheduleTypeEnum::ToString(*v14_PredefinedType))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } } // Function implementations for IfcWorkTime -::Ifc4x3_rc1::IfcRecurrencePattern* Ifc4x3_rc1::IfcWorkTime::RecurrencePattern() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcRecurrencePattern>(); } +::Ifc4x3_rc1::IfcRecurrencePattern* Ifc4x3_rc1::IfcWorkTime::RecurrencePattern() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc1::IfcRecurrencePattern>(true); } void Ifc4x3_rc1::IfcWorkTime::setRecurrencePattern(::Ifc4x3_rc1::IfcRecurrencePattern* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc1::IfcWorkTime::Start() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc1::IfcWorkTime::setStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } diff --git a/src/ifcparse/Ifc4x3_rc1.h b/src/ifcparse/Ifc4x3_rc1.h index 69df4d4b15..15dc641edf 100644 --- a/src/ifcparse/Ifc4x3_rc1.h +++ b/src/ifcparse/Ifc4x3_rc1.h @@ -60,7 +60,10 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c /// IfcOrganization An organization. /// IfcPerson A person. /// IfcPersonAndOrganization A person related to an organization. -class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. /// /// Select from: @@ -75,17 +78,26 @@ class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface {} /// Selecting IfcMeasureWithUnit allows the specification of both the actual figure for the value together with the currency in which the value is represented. /// Selecting IfcMonetaryMeasure allows the specification only of the value, the currency being as set by the global context /// Selecting IfcRatioMeasure assumes that the amount is a percentage or other REAL number. Note that if the amount is normally specified as -20%, then this figure will need to be converted to a multiplier of 0.8 -class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. /// /// NOTE: Corresponding STEP type: axis2_placement, please refer to ISO/IS 10303-42:1994, p. 19 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 1.5 -class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// /// HISTORY New type in IFC Release 2x4 -class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This select type identifies /// all those types of entities which may participate in a Boolean operation to /// form a CSG solid. @@ -102,7 +114,10 @@ class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseI /// (IfcSolidModel) are defined for being valid Boolean operands. /// /// HISTORY: New Type in IFC Release 1.5.1 -class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. /// /// HISTORY: New Select Type in IFC2x @@ -111,7 +126,10 @@ class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface /// /// IfcClassification (for classification information) /// IfcClassificationReference (for reference into a classification source) -class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. /// /// NOTE  Generally, it is expected that selection will be by IfcClassificationReference to identify an individual classification notation that classifies an element in the building information model. For example an element, such as IfcTank, might be further classified by assigning an IfcClassificationReference with Identification = "L6814" and a ClassificationSource identifying the appropriate version of Uniclass. IfcClassification should only be selected in @@ -125,36 +143,57 @@ class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::I /// /// IfcClassification (for referencing a classification system) /// IfcClassificationReference (for referencing a classification item (or facet) inside a classification system) -class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. /// /// NOTE  Corresponding STEP name: colour. It has been made into a SELECT type in IFC to avoid multiple inheritance for pre defined colour. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// /// HISTORY  New select type in IFC2x4. -class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. /// Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive. /// /// NOTE Corresponding ISO 10303-42 type: csg_select, please refer to ISO/IS 10303-42:1994, p.168 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5.1. -class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. /// /// NOTE Corresponding ISO 10303 name: curve_font_or_scaled_curve_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve /// and subtypes) within a geometric model, or a curve with associated geometry and coordinates (IfcEdgeCurve) within a topological model. /// SELECT @@ -163,13 +202,19 @@ class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface /// IfcEdgeCurve /// /// HISTORY  New select type in IFC2x Edition 3. -class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. /// /// NOTE Corresponding ISO 10303 name: curve_style_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT /// @@ -177,7 +222,10 @@ class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInt /// IfcPropertyDefinition /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// /// SELECT @@ -252,7 +300,10 @@ class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterfa /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. -class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. /// /// HISTORY: New Select Type in IFC 2x @@ -261,22 +312,34 @@ class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInte /// /// IfcDocumentInformation (for "metadata" of an external document) /// IfcDocumentReference (for reference within a document) -class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcFacilityPartTypeSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcFacilityPartTypeSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. /// /// NOTE Corresponding ISO 10303 name: fill_style_select. Please refer to ISO/IS 10303-46:1994 for /// the final definition of the formal standard. /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. /// /// NOTE: Corresponding ISO 10303 type: geometric_set_select. Please refer to ISO/IS 10303-42:1994, p. 169 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 2x. -class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. /// /// SELECT @@ -285,15 +348,27 @@ class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInter /// IfcVirtualGridIntersection /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcImpactProtectionDeviceTypeSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcImpactProtectionDeviceTypeSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcInterferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcInterferenceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. /// /// It is the collection of all those items, that are assigned to a single layer. These items are representation items or complete representations (IfcRepresentationItem, IfcRepresentation). If an IfcRepresentation is referenced, all IfcRepresentationItem within its set of Items are assigned to the same layer. @@ -301,7 +376,10 @@ class IFC_PARSE_API IfcInterferenceSelect : public virtual IfcUtil::IfcBaseInter /// NOTE: Corresponding ISO 10303 name: layered_item. It was called layered_things in the ISO/CD version and had been renamed to layered_item in the ISO/IS final version. Please refer to ISO/IS 10303-46:1994, p. 13 for the final definition of the formal standard. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. /// /// HISTORY: New Select Type in IFC2x @@ -312,7 +390,10 @@ class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface {} /// IfcLibraryReference (for reference into a library of information by location) /// /// Generally, it is expected that selection will be IfcLibraryReference and only rarely IfcLibraryInformation. IfcLibraryInformation should only be selected in circumstances where there could be a need to indicate the libraries that will be used without making individual references. This may occur for higher level objects such as a project or building. -class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. /// /// The light distribution provides the luminous intensity distribution according to some standardized light distribution curves. @@ -335,9 +416,15 @@ class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface /// directions covers all cases. /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcLinearAxisSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcLinearAxisSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcMaterialSelect provides selection of either a material /// definition or a material usage definition that can be assigned to /// an element, a resource or another entity within IFC. @@ -364,7 +451,10 @@ class IFC_PARSE_API IfcLinearAxisSelect : public virtual IfcUtil::IfcBaseInterfa /// /// IFC2x4 CHANGE The select now includes two new abstract entities IfcMaterialDefinition /// and IfcMaterialUsageDefinition with upward compatibility. The use of IfcMaterialList is deprecated from IFC2x4 onwards. -class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). /// /// NOTE IfcMeasureValue is a select data type for most basic measure types coming from ISO 10303-41. Select item IfcNonNegativeLengthMeasure is in addition to ISO 10303-41. @@ -374,7 +464,10 @@ class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface /// HISTORY New type in IFC Release 1.5.1. /// /// IFC 2x4 change: added IfcNonNegativeLengthMeasure -class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. /// /// HISTORY: New type in IFC Release 2.0 @@ -387,23 +480,38 @@ class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { /// IfcTable /// IfcText /// IfcTimeSeries -class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// /// HISTORY  New select type in IFC Release 2.0. -class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. /// SELECT /// @@ -411,7 +519,10 @@ class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseIn /// IfcVertexPoint /// /// HISTORY  New select type in IFC2x Edition 3. -class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The presentation style select is a selection of one of many kinds of styles, a different one for each kind of geometric representation item to be styled. /// /// NOTE Corresponding ISO 10303 name: presentation_style_Select. Please refer to ISO/IS @@ -420,7 +531,10 @@ class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInter /// HISTORY New type in IFC2x2. /// /// IFC2x4 CHANGE The select type has been deprecated. -class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcProcessSelectprovides the option to either /// select a process or activity occurrence, IfcProcess, /// or a process or activity type, IfcTypeProcess. @@ -431,9 +545,15 @@ class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBase /// IfcTypeProcess /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcProductSelectprovides the option to either select a /// product occurrence, IfcProduct, or a product type, /// IfcTypeProduct. @@ -443,13 +563,22 @@ class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::Ifc /// IfcTypeProduct /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// /// HISTORY  New Select type in IFC2x4. -class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, /// IfcTypeResource. @@ -459,13 +588,22 @@ class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInt /// IfcTypeResource /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < ¥. /// /// A shell of dimensionality 0 is represented by a graph consisting of a single vertex. The vertex shall not have any associated edges. @@ -477,7 +615,10 @@ class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInter /// NOTE  Corresponding ISO 10303 type: shell. Please refer to ISO/IS 10303-42:1994, p. 127 for the final definition of the formal standard. Only the select items closed_shell (IfcClosedShell) and open_shell (IfcOpenShell) have been incorporated in the current IFC release. /// /// HISTORY  New type in IFC2x. -class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcSimpleValue is a select type for selecting between simple value types. /// /// SELECT @@ -497,7 +638,10 @@ class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface {}; /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. -class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. /// /// Definition from ISO: The size (or width) measure value is given in the global drawing length units. @@ -510,7 +654,10 @@ class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface {} /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. -class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. /// SELECT /// @@ -518,7 +665,10 @@ class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcClosedShell /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: The /// IfcSpaceBoundarySelectselects either an internal space /// for internal or external space boundaries, or an external spatial @@ -531,9 +681,15 @@ class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface { /// /// HISTORY New select type /// in IFC2x4. -class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcSpatialReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSpatialReferenceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. /// /// NOTE: The two select types relate to the different ways to specifiy the sharpness (or shininess) of the specular part of the reflectance equation. It relates to the attributes: @@ -544,7 +700,10 @@ class IFC_PARSE_API IfcSpatialReferenceSelect : public virtual IfcUtil::IfcBaseI /// For each surface side style only one of the two methods is needed for calculating the specular part of the equation. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of /// IfcStructuralItem or IfcBuildingElement. The @@ -554,7 +713,10 @@ class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBase /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The style assignment select is a selection of two wasy of assigning presentation styles to an IfcStyledItem. /// /// by directly assigning presentation styles as subtypes of IfcPresentationStyle @@ -565,7 +727,10 @@ class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUt /// NOTE The select type has been introduced to provide an upward compatible improvement for assigning styles to a styled items. /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcStyleAssignmentSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcStyleAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface /// and subtypes) within a geometric model, or a face with associated surface geometry and coordinates (IfcFaceSurface) within a topological model. /// SELECT @@ -575,7 +740,10 @@ class IFC_PARSE_API IfcStyleAssignmentSelect : public virtual IfcUtil::IfcBaseIn /// IfcFaceBasedSurfaceModel (a connected face set, representing a faceted surface as an approximation of a non planar, non rectangular bounded surface) /// /// HISTORY  New select type in IFC2x3. -class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. /// /// The select type only includes the IfcSurfaceStyleRendering (which is the equivalent to surface_style_rendering) from the select type surface_style_element_select. In addition it has the IfcSurfaceStyleLighting, which holds the exact physically based lighting properties for lighting based calculation algorithms (as the opposite to the rendering based calculation), the IfcSurfaceStyleRefraction (for more advanced refraction indices) and IfcSurfaceStyleWithTextures (to allow for image textures applied to surfaces). In addition an IfcExternallyDefinedSurfaceStyle can be selected that points into an external material library. @@ -585,7 +753,10 @@ class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInt /// NOTE: Corresponding ISO 10303 type: surface_style_element_select. Please refer to ISO/IS 10303-46:1994, p. 85 for the final definition of the formal standard. /// /// HISTORY: New Select type in IFC2x2. -class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. /// /// NOTE  IfcTextFontSelect is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation. Corresponding ISO 10303 name: font_select. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard. @@ -593,22 +764,37 @@ class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBa /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. -class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 -class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcTransportElementTypeSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTransportElementTypeSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. /// /// NOTE Corresponding ISO 10303 type: trimming_select, please refer to ISO/IS 10303-42:1994, p. 20 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.0 -class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. /// /// NOTE: Select item IfcMonetaryUnit is an addition to ISO 10303-41. @@ -622,7 +808,10 @@ class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface /// IfcMonetaryUnit: A unit for defining currencies. /// /// HISTORY: New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. /// @@ -633,7 +822,10 @@ class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface {}; /// IfcDerivedMeasureValue A select type for derived measure types. /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. /// @@ -642,11 +834,17 @@ class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface {}; /// definition of the formal standard. /// HISTORY New Type in IFC Release /// 1.5 -class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; class IFC_PARSE_API IfcActionRequestTypeEnum : public IfcUtil::IfcBaseType { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. /// HISTORY: New Enumeration in IFC2x4. diff --git a/src/ifcparse/Ifc4x3_rc2.cpp b/src/ifcparse/Ifc4x3_rc2.cpp index d6d7544d8d..344e3010e3 100644 --- a/src/ifcparse/Ifc4x3_rc2.cpp +++ b/src/ifcparse/Ifc4x3_rc2.cpp @@ -1297,6 +1297,73 @@ extern enumeration_type* IFC4X3_RC2_IfcWindowTypePartitioningEnum_type; extern enumeration_type* IFC4X3_RC2_IfcWorkCalendarTypeEnum_type; extern enumeration_type* IFC4X3_RC2_IfcWorkPlanTypeEnum_type; extern enumeration_type* IFC4X3_RC2_IfcWorkScheduleTypeEnum_type; +extern select_type* IFC4X3_RC2_IfcActorSelect_type; +extern select_type* IFC4X3_RC2_IfcAppliedValueSelect_type; +extern select_type* IFC4X3_RC2_IfcAxis2Placement_type; +extern select_type* IFC4X3_RC2_IfcBendingParameterSelect_type; +extern select_type* IFC4X3_RC2_IfcBooleanOperand_type; +extern select_type* IFC4X3_RC2_IfcClassificationReferenceSelect_type; +extern select_type* IFC4X3_RC2_IfcClassificationSelect_type; +extern select_type* IFC4X3_RC2_IfcColour_type; +extern select_type* IFC4X3_RC2_IfcColourOrFactor_type; +extern select_type* IFC4X3_RC2_IfcCoordinateReferenceSystemSelect_type; +extern select_type* IFC4X3_RC2_IfcCsgSelect_type; +extern select_type* IFC4X3_RC2_IfcCurveFontOrScaledCurveFontSelect_type; +extern select_type* IFC4X3_RC2_IfcCurveMeasureSelect_type; +extern select_type* IFC4X3_RC2_IfcCurveOnSurface_type; +extern select_type* IFC4X3_RC2_IfcCurveOrEdgeCurve_type; +extern select_type* IFC4X3_RC2_IfcCurveStyleFontSelect_type; +extern select_type* IFC4X3_RC2_IfcDefinitionSelect_type; +extern select_type* IFC4X3_RC2_IfcDerivedMeasureValue_type; +extern select_type* IFC4X3_RC2_IfcDocumentSelect_type; +extern select_type* IFC4X3_RC2_IfcFacilityPartTypeSelect_type; +extern select_type* IFC4X3_RC2_IfcFillStyleSelect_type; +extern select_type* IFC4X3_RC2_IfcGeometricSetSelect_type; +extern select_type* IFC4X3_RC2_IfcGridPlacementDirectionSelect_type; +extern select_type* IFC4X3_RC2_IfcHatchLineDistanceSelect_type; +extern select_type* IFC4X3_RC2_IfcImpactProtectionDeviceTypeSelect_type; +extern select_type* IFC4X3_RC2_IfcInterferenceSelect_type; +extern select_type* IFC4X3_RC2_IfcLayeredItem_type; +extern select_type* IFC4X3_RC2_IfcLibrarySelect_type; +extern select_type* IFC4X3_RC2_IfcLightDistributionDataSourceSelect_type; +extern select_type* IFC4X3_RC2_IfcLinearAxisSelect_type; +extern select_type* IFC4X3_RC2_IfcMaterialSelect_type; +extern select_type* IFC4X3_RC2_IfcMeasureValue_type; +extern select_type* IFC4X3_RC2_IfcMetricValueSelect_type; +extern select_type* IFC4X3_RC2_IfcModulusOfRotationalSubgradeReactionSelect_type; +extern select_type* IFC4X3_RC2_IfcModulusOfSubgradeReactionSelect_type; +extern select_type* IFC4X3_RC2_IfcModulusOfTranslationalSubgradeReactionSelect_type; +extern select_type* IFC4X3_RC2_IfcObjectReferenceSelect_type; +extern select_type* IFC4X3_RC2_IfcPointOrVertexPoint_type; +extern select_type* IFC4X3_RC2_IfcPresentationStyleSelect_type; +extern select_type* IFC4X3_RC2_IfcProcessSelect_type; +extern select_type* IFC4X3_RC2_IfcProductRepresentationSelect_type; +extern select_type* IFC4X3_RC2_IfcProductSelect_type; +extern select_type* IFC4X3_RC2_IfcPropertySetDefinitionSelect_type; +extern select_type* IFC4X3_RC2_IfcResourceObjectSelect_type; +extern select_type* IFC4X3_RC2_IfcResourceSelect_type; +extern select_type* IFC4X3_RC2_IfcRotationalStiffnessSelect_type; +extern select_type* IFC4X3_RC2_IfcSegmentIndexSelect_type; +extern select_type* IFC4X3_RC2_IfcShell_type; +extern select_type* IFC4X3_RC2_IfcSimpleValue_type; +extern select_type* IFC4X3_RC2_IfcSizeSelect_type; +extern select_type* IFC4X3_RC2_IfcSolidOrShell_type; +extern select_type* IFC4X3_RC2_IfcSpaceBoundarySelect_type; +extern select_type* IFC4X3_RC2_IfcSpatialReferenceSelect_type; +extern select_type* IFC4X3_RC2_IfcSpecularHighlightSelect_type; +extern select_type* IFC4X3_RC2_IfcStructuralActivityAssignmentSelect_type; +extern select_type* IFC4X3_RC2_IfcStyleAssignmentSelect_type; +extern select_type* IFC4X3_RC2_IfcSurfaceOrFaceSurface_type; +extern select_type* IFC4X3_RC2_IfcSurfaceStyleElementSelect_type; +extern select_type* IFC4X3_RC2_IfcTextFontSelect_type; +extern select_type* IFC4X3_RC2_IfcTimeOrRatioSelect_type; +extern select_type* IFC4X3_RC2_IfcTranslationalStiffnessSelect_type; +extern select_type* IFC4X3_RC2_IfcTransportElementTypeSelect_type; +extern select_type* IFC4X3_RC2_IfcTrimmingSelect_type; +extern select_type* IFC4X3_RC2_IfcUnit_type; +extern select_type* IFC4X3_RC2_IfcValue_type; +extern select_type* IFC4X3_RC2_IfcVectorOrDirection_type; +extern select_type* IFC4X3_RC2_IfcWarpingStiffnessSelect_type; const IfcParse::enumeration_type& Ifc4x3_rc2::IfcActionRequestTypeEnum::declaration() const { return *IFC4X3_RC2_IfcActionRequestTypeEnum_type; } @@ -11984,6 +12051,140 @@ Ifc4x3_rc2::IfcWorkScheduleTypeEnum::operator Ifc4x3_rc2::IfcWorkScheduleTypeEnu return FromString((std::string) *data_->getArgument(0)); } +const IfcParse::select_type& Ifc4x3_rc2::IfcActorSelect::Class() { return *IFC4X3_RC2_IfcActorSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcAppliedValueSelect::Class() { return *IFC4X3_RC2_IfcAppliedValueSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcAxis2Placement::Class() { return *IFC4X3_RC2_IfcAxis2Placement_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcBendingParameterSelect::Class() { return *IFC4X3_RC2_IfcBendingParameterSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcBooleanOperand::Class() { return *IFC4X3_RC2_IfcBooleanOperand_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcClassificationReferenceSelect::Class() { return *IFC4X3_RC2_IfcClassificationReferenceSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcClassificationSelect::Class() { return *IFC4X3_RC2_IfcClassificationSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcColour::Class() { return *IFC4X3_RC2_IfcColour_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcColourOrFactor::Class() { return *IFC4X3_RC2_IfcColourOrFactor_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcCoordinateReferenceSystemSelect::Class() { return *IFC4X3_RC2_IfcCoordinateReferenceSystemSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcCsgSelect::Class() { return *IFC4X3_RC2_IfcCsgSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcCurveFontOrScaledCurveFontSelect::Class() { return *IFC4X3_RC2_IfcCurveFontOrScaledCurveFontSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcCurveMeasureSelect::Class() { return *IFC4X3_RC2_IfcCurveMeasureSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcCurveOnSurface::Class() { return *IFC4X3_RC2_IfcCurveOnSurface_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcCurveOrEdgeCurve::Class() { return *IFC4X3_RC2_IfcCurveOrEdgeCurve_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcCurveStyleFontSelect::Class() { return *IFC4X3_RC2_IfcCurveStyleFontSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcDefinitionSelect::Class() { return *IFC4X3_RC2_IfcDefinitionSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcDerivedMeasureValue::Class() { return *IFC4X3_RC2_IfcDerivedMeasureValue_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcDocumentSelect::Class() { return *IFC4X3_RC2_IfcDocumentSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcFacilityPartTypeSelect::Class() { return *IFC4X3_RC2_IfcFacilityPartTypeSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcFillStyleSelect::Class() { return *IFC4X3_RC2_IfcFillStyleSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcGeometricSetSelect::Class() { return *IFC4X3_RC2_IfcGeometricSetSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcGridPlacementDirectionSelect::Class() { return *IFC4X3_RC2_IfcGridPlacementDirectionSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcHatchLineDistanceSelect::Class() { return *IFC4X3_RC2_IfcHatchLineDistanceSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect::Class() { return *IFC4X3_RC2_IfcImpactProtectionDeviceTypeSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcInterferenceSelect::Class() { return *IFC4X3_RC2_IfcInterferenceSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcLayeredItem::Class() { return *IFC4X3_RC2_IfcLayeredItem_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcLibrarySelect::Class() { return *IFC4X3_RC2_IfcLibrarySelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcLightDistributionDataSourceSelect::Class() { return *IFC4X3_RC2_IfcLightDistributionDataSourceSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcLinearAxisSelect::Class() { return *IFC4X3_RC2_IfcLinearAxisSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcMaterialSelect::Class() { return *IFC4X3_RC2_IfcMaterialSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcMeasureValue::Class() { return *IFC4X3_RC2_IfcMeasureValue_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcMetricValueSelect::Class() { return *IFC4X3_RC2_IfcMetricValueSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect::Class() { return *IFC4X3_RC2_IfcModulusOfRotationalSubgradeReactionSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect::Class() { return *IFC4X3_RC2_IfcModulusOfSubgradeReactionSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect::Class() { return *IFC4X3_RC2_IfcModulusOfTranslationalSubgradeReactionSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcObjectReferenceSelect::Class() { return *IFC4X3_RC2_IfcObjectReferenceSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcPointOrVertexPoint::Class() { return *IFC4X3_RC2_IfcPointOrVertexPoint_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcPresentationStyleSelect::Class() { return *IFC4X3_RC2_IfcPresentationStyleSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcProcessSelect::Class() { return *IFC4X3_RC2_IfcProcessSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcProductRepresentationSelect::Class() { return *IFC4X3_RC2_IfcProductRepresentationSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcProductSelect::Class() { return *IFC4X3_RC2_IfcProductSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcPropertySetDefinitionSelect::Class() { return *IFC4X3_RC2_IfcPropertySetDefinitionSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcResourceObjectSelect::Class() { return *IFC4X3_RC2_IfcResourceObjectSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcResourceSelect::Class() { return *IFC4X3_RC2_IfcResourceSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcRotationalStiffnessSelect::Class() { return *IFC4X3_RC2_IfcRotationalStiffnessSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcSegmentIndexSelect::Class() { return *IFC4X3_RC2_IfcSegmentIndexSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcShell::Class() { return *IFC4X3_RC2_IfcShell_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcSimpleValue::Class() { return *IFC4X3_RC2_IfcSimpleValue_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcSizeSelect::Class() { return *IFC4X3_RC2_IfcSizeSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcSolidOrShell::Class() { return *IFC4X3_RC2_IfcSolidOrShell_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcSpaceBoundarySelect::Class() { return *IFC4X3_RC2_IfcSpaceBoundarySelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcSpatialReferenceSelect::Class() { return *IFC4X3_RC2_IfcSpatialReferenceSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcSpecularHighlightSelect::Class() { return *IFC4X3_RC2_IfcSpecularHighlightSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcStructuralActivityAssignmentSelect::Class() { return *IFC4X3_RC2_IfcStructuralActivityAssignmentSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcStyleAssignmentSelect::Class() { return *IFC4X3_RC2_IfcStyleAssignmentSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcSurfaceOrFaceSurface::Class() { return *IFC4X3_RC2_IfcSurfaceOrFaceSurface_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcSurfaceStyleElementSelect::Class() { return *IFC4X3_RC2_IfcSurfaceStyleElementSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcTextFontSelect::Class() { return *IFC4X3_RC2_IfcTextFontSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcTimeOrRatioSelect::Class() { return *IFC4X3_RC2_IfcTimeOrRatioSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcTranslationalStiffnessSelect::Class() { return *IFC4X3_RC2_IfcTranslationalStiffnessSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcTransportElementTypeSelect::Class() { return *IFC4X3_RC2_IfcTransportElementTypeSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcTrimmingSelect::Class() { return *IFC4X3_RC2_IfcTrimmingSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcUnit::Class() { return *IFC4X3_RC2_IfcUnit_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcValue::Class() { return *IFC4X3_RC2_IfcValue_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcVectorOrDirection::Class() { return *IFC4X3_RC2_IfcVectorOrDirection_type; } + +const IfcParse::select_type& Ifc4x3_rc2::IfcWarpingStiffnessSelect::Class() { return *IFC4X3_RC2_IfcWarpingStiffnessSelect_type; } + // Function implementations for IfcAbsorbedDoseMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcAbsorbedDoseMeasure::Class() { return *IFC4X3_RC2_IfcAbsorbedDoseMeasure_type; } @@ -12911,7 +13112,7 @@ Ifc4x3_rc2::IfcActionRequest::IfcActionRequest(IfcEntityInstanceData* e) : IfcCo Ifc4x3_rc2::IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3_rc2::IfcActionRequestTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcActionRequest_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v7_PredefinedType,::Ifc4x3_rc2::IfcActionRequestTypeEnum::ToString(*v7_PredefinedType))));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Status));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_LongDescription));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcActor -::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcActorSelect>(); } +::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } void Ifc4x3_rc2::IfcActor::setTheActor(::Ifc4x3_rc2::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4x3_rc2::IfcRelAssignsToActor::list::ptr Ifc4x3_rc2::IfcActor::IsActingUpon() const { return data_->getInverse(IFC4X3_RC2_IfcRelAssignsToActor_type, 6)->as(); } @@ -13157,9 +13358,9 @@ Ifc4x3_rc2::IfcAlignmentCantSegment::IfcAlignmentCantSegment(IfcEntityInstanceDa Ifc4x3_rc2::IfcAlignmentCantSegment::IfcAlignmentCantSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, boost::optional< double > v6_EndCantLeft, double v7_StartCantRight, boost::optional< double > v8_EndCantRight, boost::optional< double > v9_SmoothingLength, ::Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::Value v10_PredefinedType) : IfcAlignmentParameterSegment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcAlignmentCantSegment_type); if (v1_StartTag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_StartTag));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_EndTag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_EndTag));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_StartDistAlong));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_HorizontalLength));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_StartCantLeft));data_->setArgument(4,attr);} if (v6_EndCantLeft) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_EndCantLeft));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_StartCantRight));data_->setArgument(6,attr);} if (v8_EndCantRight) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_EndCantRight));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_SmoothingLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_SmoothingLength));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcAlignmentCurve -::Ifc4x3_rc2::IfcAlignmentHorizontal* Ifc4x3_rc2::IfcAlignmentCurve::Horizontal() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcAlignmentHorizontal>(); } +::Ifc4x3_rc2::IfcAlignmentHorizontal* Ifc4x3_rc2::IfcAlignmentCurve::Horizontal() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcAlignmentHorizontal>(true); } void Ifc4x3_rc2::IfcAlignmentCurve::setHorizontal(::Ifc4x3_rc2::IfcAlignmentHorizontal* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc2::IfcAlignmentVertical* Ifc4x3_rc2::IfcAlignmentCurve::Vertical() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcAlignmentVertical>(); } +::Ifc4x3_rc2::IfcAlignmentVertical* Ifc4x3_rc2::IfcAlignmentCurve::Vertical() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcAlignmentVertical>(true); } void Ifc4x3_rc2::IfcAlignmentCurve::setVertical(::Ifc4x3_rc2::IfcAlignmentVertical* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcAlignmentCurve::Tag() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc2::IfcAlignmentCurve::setTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } @@ -13183,7 +13384,7 @@ Ifc4x3_rc2::IfcAlignmentHorizontal::IfcAlignmentHorizontal(IfcEntityInstanceData Ifc4x3_rc2::IfcAlignmentHorizontal::IfcAlignmentHorizontal(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< double > v8_StartDistAlong, aggregate_of< ::Ifc4x3_rc2::IfcAlignmentHorizontalSegment >::ptr v9_Segments) : IfcLinearElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcAlignmentHorizontal_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_StartDistAlong) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_StartDistAlong));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_Segments)->generalize());data_->setArgument(8,attr);} } // Function implementations for IfcAlignmentHorizontalSegment -::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcAlignmentHorizontalSegment::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(); } +::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcAlignmentHorizontalSegment::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(true); } void Ifc4x3_rc2::IfcAlignmentHorizontalSegment::setStartPoint(::Ifc4x3_rc2::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc4x3_rc2::IfcAlignmentHorizontalSegment::StartDirection() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc2::IfcAlignmentHorizontalSegment::setStartDirection(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -13217,7 +13418,7 @@ Ifc4x3_rc2::IfcAlignmentParameterSegment::IfcAlignmentParameterSegment(IfcEntity Ifc4x3_rc2::IfcAlignmentParameterSegment::IfcAlignmentParameterSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcAlignmentParameterSegment_type); if (v1_StartTag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_StartTag));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_EndTag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_EndTag));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcAlignmentSegment -::Ifc4x3_rc2::IfcAlignmentParameterSegment* Ifc4x3_rc2::IfcAlignmentSegment::GeometricParameters() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc2::IfcAlignmentParameterSegment>(); } +::Ifc4x3_rc2::IfcAlignmentParameterSegment* Ifc4x3_rc2::IfcAlignmentSegment::GeometricParameters() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc2::IfcAlignmentParameterSegment>(true); } void Ifc4x3_rc2::IfcAlignmentSegment::setGeometricParameters(::Ifc4x3_rc2::IfcAlignmentParameterSegment* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -13270,7 +13471,7 @@ Ifc4x3_rc2::IfcAnnotation::IfcAnnotation(IfcEntityInstanceData* e) : IfcProduct( Ifc4x3_rc2::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_rc2::IfcAnnotationTypeEnum::Value > v8_PredefinedType) : IfcProduct((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcAnnotation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_PredefinedType,::Ifc4x3_rc2::IfcAnnotationTypeEnum::ToString(*v8_PredefinedType))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcAnnotationFillArea -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCurve>(); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcAnnotationFillArea::setOuterBoundary(::Ifc4x3_rc2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcCurve >::ptr > Ifc4x3_rc2::IfcAnnotationFillArea::InnerBoundaries() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc2::IfcCurve >(); } void Ifc4x3_rc2::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcCurve >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(1,attr);} } @@ -13282,7 +13483,7 @@ Ifc4x3_rc2::IfcAnnotationFillArea::IfcAnnotationFillArea(IfcEntityInstanceData* Ifc4x3_rc2::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc4x3_rc2::IfcCurve* v1_OuterBoundary, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcCurve >::ptr > v2_InnerBoundaries) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcAnnotationFillArea_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_OuterBoundary));data_->setArgument(0,attr);} if (v2_InnerBoundaries) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_InnerBoundaries)->generalize());data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcApplication -::Ifc4x3_rc2::IfcOrganization* Ifc4x3_rc2::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcOrganization>(); } +::Ifc4x3_rc2::IfcOrganization* Ifc4x3_rc2::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcOrganization>(true); } void Ifc4x3_rc2::IfcApplication::setApplicationDeveloper(::Ifc4x3_rc2::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } std::string Ifc4x3_rc2::IfcApplication::Version() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcApplication::setVersion(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13302,9 +13503,9 @@ boost::optional< std::string > Ifc4x3_rc2::IfcAppliedValue::Name() const { if(!d void Ifc4x3_rc2::IfcAppliedValue::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcAppliedValue::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcAppliedValue::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4x3_rc2::IfcAppliedValueSelect* Ifc4x3_rc2::IfcAppliedValue::AppliedValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcAppliedValueSelect>(); } +::Ifc4x3_rc2::IfcAppliedValueSelect* Ifc4x3_rc2::IfcAppliedValue::AppliedValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcAppliedValueSelect>(true); } void Ifc4x3_rc2::IfcAppliedValue::setAppliedValue(::Ifc4x3_rc2::IfcAppliedValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc2::IfcMeasureWithUnit* Ifc4x3_rc2::IfcAppliedValue::UnitBasis() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcMeasureWithUnit>(); } +::Ifc4x3_rc2::IfcMeasureWithUnit* Ifc4x3_rc2::IfcAppliedValue::UnitBasis() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcMeasureWithUnit>(true); } void Ifc4x3_rc2::IfcAppliedValue::setUnitBasis(::Ifc4x3_rc2::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcAppliedValue::ApplicableDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc2::IfcAppliedValue::setApplicableDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -13341,9 +13542,9 @@ boost::optional< std::string > Ifc4x3_rc2::IfcApproval::Level() const { if(!data void Ifc4x3_rc2::IfcApproval::setLevel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcApproval::Qualifier() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4x3_rc2::IfcApproval::setQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } -::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcApproval::RequestingApproval() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc2::IfcActorSelect>(); } +::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcApproval::RequestingApproval() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } void Ifc4x3_rc2::IfcApproval::setRequestingApproval(::Ifc4x3_rc2::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcApproval::GivingApproval() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcActorSelect>(); } +::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcApproval::GivingApproval() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } void Ifc4x3_rc2::IfcApproval::setGivingApproval(::Ifc4x3_rc2::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } ::Ifc4x3_rc2::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc2::IfcApproval::HasExternalReferences() const { return data_->getInverse(IFC4X3_RC2_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -13358,7 +13559,7 @@ Ifc4x3_rc2::IfcApproval::IfcApproval(IfcEntityInstanceData* e) : IfcUtil::IfcBas Ifc4x3_rc2::IfcApproval::IfcApproval(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_TimeOfApproval, boost::optional< std::string > v5_Status, boost::optional< std::string > v6_Level, boost::optional< std::string > v7_Qualifier, ::Ifc4x3_rc2::IfcActorSelect* v8_RequestingApproval, ::Ifc4x3_rc2::IfcActorSelect* v9_GivingApproval) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcApproval_type); if (v1_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Name));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_TimeOfApproval) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_TimeOfApproval));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Status));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Level) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Level));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Qualifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Qualifier));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_RequestingApproval));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_GivingApproval));data_->setArgument(8,attr);} } // Function implementations for IfcApprovalRelationship -::Ifc4x3_rc2::IfcApproval* Ifc4x3_rc2::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcApproval>(); } +::Ifc4x3_rc2::IfcApproval* Ifc4x3_rc2::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcApproval>(true); } void Ifc4x3_rc2::IfcApprovalRelationship::setRelatingApproval(::Ifc4x3_rc2::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4x3_rc2::IfcApproval >::ptr Ifc4x3_rc2::IfcApprovalRelationship::RelatedApprovals() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc2::IfcApproval >(); } void Ifc4x3_rc2::IfcApprovalRelationship::setRelatedApprovals(aggregate_of< ::Ifc4x3_rc2::IfcApproval >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -13370,7 +13571,7 @@ Ifc4x3_rc2::IfcApprovalRelationship::IfcApprovalRelationship(IfcEntityInstanceDa Ifc4x3_rc2::IfcApprovalRelationship::IfcApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcApproval* v3_RelatingApproval, aggregate_of< ::Ifc4x3_rc2::IfcApproval >::ptr v4_RelatedApprovals) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingApproval));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedApprovals)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcArbitraryClosedProfileDef -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcCurve>(); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcArbitraryClosedProfileDef::setOuterCurve(::Ifc4x3_rc2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -13380,7 +13581,7 @@ Ifc4x3_rc2::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcEntity Ifc4x3_rc2::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcCurve* v3_OuterCurve) : IfcProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcArbitraryClosedProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4x3_rc2::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_OuterCurve));data_->setArgument(2,attr);} } // Function implementations for IfcArbitraryOpenProfileDef -::Ifc4x3_rc2::IfcBoundedCurve* Ifc4x3_rc2::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcBoundedCurve>(); } +::Ifc4x3_rc2::IfcBoundedCurve* Ifc4x3_rc2::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcBoundedCurve>(true); } void Ifc4x3_rc2::IfcArbitraryOpenProfileDef::setCurve(::Ifc4x3_rc2::IfcBoundedCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -13402,21 +13603,21 @@ Ifc4x3_rc2::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::I // Function implementations for IfcAsset boost::optional< std::string > Ifc4x3_rc2::IfcAsset::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x3_rc2::IfcAsset::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4x3_rc2::IfcCostValue* Ifc4x3_rc2::IfcAsset::OriginalValue() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcCostValue>(); } +::Ifc4x3_rc2::IfcCostValue* Ifc4x3_rc2::IfcAsset::OriginalValue() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcCostValue>(true); } void Ifc4x3_rc2::IfcAsset::setOriginalValue(::Ifc4x3_rc2::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4x3_rc2::IfcCostValue* Ifc4x3_rc2::IfcAsset::CurrentValue() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc2::IfcCostValue>(); } +::Ifc4x3_rc2::IfcCostValue* Ifc4x3_rc2::IfcAsset::CurrentValue() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc2::IfcCostValue>(true); } void Ifc4x3_rc2::IfcAsset::setCurrentValue(::Ifc4x3_rc2::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -::Ifc4x3_rc2::IfcCostValue* Ifc4x3_rc2::IfcAsset::TotalReplacementCost() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcCostValue>(); } +::Ifc4x3_rc2::IfcCostValue* Ifc4x3_rc2::IfcAsset::TotalReplacementCost() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcCostValue>(true); } void Ifc4x3_rc2::IfcAsset::setTotalReplacementCost(::Ifc4x3_rc2::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcAsset::Owner() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc2::IfcActorSelect>(); } +::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcAsset::Owner() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } void Ifc4x3_rc2::IfcAsset::setOwner(::Ifc4x3_rc2::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcAsset::User() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc2::IfcActorSelect>(); } +::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcAsset::User() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } void Ifc4x3_rc2::IfcAsset::setUser(::Ifc4x3_rc2::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -::Ifc4x3_rc2::IfcPerson* Ifc4x3_rc2::IfcAsset::ResponsiblePerson() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc2::IfcPerson>(); } +::Ifc4x3_rc2::IfcPerson* Ifc4x3_rc2::IfcAsset::ResponsiblePerson() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc2::IfcPerson>(true); } void Ifc4x3_rc2::IfcAsset::setResponsiblePerson(::Ifc4x3_rc2::IfcPerson* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcAsset::IncorporationDate() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } void Ifc4x3_rc2::IfcAsset::setIncorporationDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } -::Ifc4x3_rc2::IfcCostValue* Ifc4x3_rc2::IfcAsset::DepreciatedValue() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x3_rc2::IfcCostValue>(); } +::Ifc4x3_rc2::IfcCostValue* Ifc4x3_rc2::IfcAsset::DepreciatedValue() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x3_rc2::IfcCostValue>(true); } void Ifc4x3_rc2::IfcAsset::setDepreciatedValue(::Ifc4x3_rc2::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } @@ -13478,7 +13679,7 @@ Ifc4x3_rc2::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(IfcEntityIn Ifc4x3_rc2::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcAudioVisualApplianceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcAxis1Placement -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcAxis1Placement::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcDirection>(); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcAxis1Placement::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcAxis1Placement::setAxis(::Ifc4x3_rc2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13488,7 +13689,7 @@ Ifc4x3_rc2::IfcAxis1Placement::IfcAxis1Placement(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc2::IfcAxis1Placement::IfcAxis1Placement(::Ifc4x3_rc2::IfcPoint* v1_Location, ::Ifc4x3_rc2::IfcDirection* v2_Axis) : IfcPlacement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcAxis1Placement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Location));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Axis));data_->setArgument(1,attr);} } // Function implementations for IfcAxis2Placement2D -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcAxis2Placement2D::RefDirection() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcDirection>(); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcAxis2Placement2D::RefDirection() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcAxis2Placement2D::setRefDirection(::Ifc4x3_rc2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13498,9 +13699,9 @@ Ifc4x3_rc2::IfcAxis2Placement2D::IfcAxis2Placement2D(IfcEntityInstanceData* e) : Ifc4x3_rc2::IfcAxis2Placement2D::IfcAxis2Placement2D(::Ifc4x3_rc2::IfcPoint* v1_Location, ::Ifc4x3_rc2::IfcDirection* v2_RefDirection) : IfcPlacement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcAxis2Placement2D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Location));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RefDirection));data_->setArgument(1,attr);} } // Function implementations for IfcAxis2Placement3D -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcAxis2Placement3D::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcDirection>(); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcAxis2Placement3D::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcAxis2Placement3D::setAxis(::Ifc4x3_rc2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcAxis2Placement3D::RefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcDirection>(); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcAxis2Placement3D::RefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcAxis2Placement3D::setRefDirection(::Ifc4x3_rc2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -13510,9 +13711,9 @@ Ifc4x3_rc2::IfcAxis2Placement3D::IfcAxis2Placement3D(IfcEntityInstanceData* e) : Ifc4x3_rc2::IfcAxis2Placement3D::IfcAxis2Placement3D(::Ifc4x3_rc2::IfcPoint* v1_Location, ::Ifc4x3_rc2::IfcDirection* v2_Axis, ::Ifc4x3_rc2::IfcDirection* v3_RefDirection) : IfcPlacement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcAxis2Placement3D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Location));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Axis));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RefDirection));data_->setArgument(2,attr);} } // Function implementations for IfcAxis2PlacementLinear -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcAxis2PlacementLinear::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcDirection>(); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcAxis2PlacementLinear::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcAxis2PlacementLinear::setAxis(::Ifc4x3_rc2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcAxis2PlacementLinear::RefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcDirection>(); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcAxis2PlacementLinear::RefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcAxis2PlacementLinear::setRefDirection(::Ifc4x3_rc2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -13677,7 +13878,7 @@ Ifc4x3_rc2::IfcBlock::IfcBlock(IfcEntityInstanceData* e) : IfcCsgPrimitive3D((If Ifc4x3_rc2::IfcBlock::IfcBlock(::Ifc4x3_rc2::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) : IfcCsgPrimitive3D((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcBlock_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_XLength));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_YLength));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ZLength));data_->setArgument(3,attr);} } // Function implementations for IfcBlossCurve -::Ifc4x3_rc2::IfcAxis2Placement* Ifc4x3_rc2::IfcBlossCurve::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcAxis2Placement>(); } +::Ifc4x3_rc2::IfcAxis2Placement* Ifc4x3_rc2::IfcBlossCurve::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcAxis2Placement>(true); } void Ifc4x3_rc2::IfcBlossCurve::setPosition(::Ifc4x3_rc2::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x3_rc2::IfcBlossCurve::CurveLength() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcBlossCurve::setCurveLength(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13721,9 +13922,9 @@ Ifc4x3_rc2::IfcBooleanClippingResult::IfcBooleanClippingResult(::Ifc4x3_rc2::Ifc // Function implementations for IfcBooleanResult ::Ifc4x3_rc2::IfcBooleanOperator::Value Ifc4x3_rc2::IfcBooleanResult::Operator() const { return ::Ifc4x3_rc2::IfcBooleanOperator::FromString(*data_->getArgument(0)); } void Ifc4x3_rc2::IfcBooleanResult::setOperator(::Ifc4x3_rc2::IfcBooleanOperator::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcBooleanOperator::ToString(v)));data_->setArgument(0,attr);} } -::Ifc4x3_rc2::IfcBooleanOperand* Ifc4x3_rc2::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcBooleanOperand>(); } +::Ifc4x3_rc2::IfcBooleanOperand* Ifc4x3_rc2::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcBooleanOperand>(true); } void Ifc4x3_rc2::IfcBooleanResult::setFirstOperand(::Ifc4x3_rc2::IfcBooleanOperand* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc2::IfcBooleanOperand* Ifc4x3_rc2::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcBooleanOperand>(); } +::Ifc4x3_rc2::IfcBooleanOperand* Ifc4x3_rc2::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcBooleanOperand>(true); } void Ifc4x3_rc2::IfcBooleanResult::setSecondOperand(::Ifc4x3_rc2::IfcBooleanOperand* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -13759,17 +13960,17 @@ Ifc4x3_rc2::IfcBoundaryCurve::IfcBoundaryCurve(IfcEntityInstanceData* e) : IfcCo Ifc4x3_rc2::IfcBoundaryCurve::IfcBoundaryCurve(aggregate_of< ::Ifc4x3_rc2::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurveOnSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcBoundaryCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Segments)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SelfIntersect));data_->setArgument(1,attr);} } // Function implementations for IfcBoundaryEdgeCondition -::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3_rc2::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthX(::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3_rc2::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthY(::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3_rc2::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthZ(::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3_rc2::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3_rc2::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3_rc2::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -13779,11 +13980,11 @@ Ifc4x3_rc2::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(IfcEntityInstance Ifc4x3_rc2::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect* v2_TranslationalStiffnessByLengthX, ::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect* v3_TranslationalStiffnessByLengthY, ::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect* v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect* v5_RotationalStiffnessByLengthX, ::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect* v6_RotationalStiffnessByLengthY, ::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect* v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcBoundaryEdgeCondition_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TranslationalStiffnessByLengthX));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TranslationalStiffnessByLengthY));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TranslationalStiffnessByLengthZ));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RotationalStiffnessByLengthX));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RotationalStiffnessByLengthY));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RotationalStiffnessByLengthZ));data_->setArgument(6,attr);} } // Function implementations for IfcBoundaryFaceCondition -::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3_rc2::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaX(::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3_rc2::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaY(::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3_rc2::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -13793,17 +13994,17 @@ Ifc4x3_rc2::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(IfcEntityInstance Ifc4x3_rc2::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect* v2_TranslationalStiffnessByAreaX, ::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect* v3_TranslationalStiffnessByAreaY, ::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect* v4_TranslationalStiffnessByAreaZ) : IfcBoundaryCondition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcBoundaryFaceCondition_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TranslationalStiffnessByAreaX));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TranslationalStiffnessByAreaY));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TranslationalStiffnessByAreaZ));data_->setArgument(3,attr);} } // Function implementations for IfcBoundaryNodeCondition -::Ifc4x3_rc2::IfcTranslationalStiffnessSelect* Ifc4x3_rc2::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcTranslationalStiffnessSelect>(); } +::Ifc4x3_rc2::IfcTranslationalStiffnessSelect* Ifc4x3_rc2::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3_rc2::IfcBoundaryNodeCondition::setTranslationalStiffnessX(::Ifc4x3_rc2::IfcTranslationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc2::IfcTranslationalStiffnessSelect* Ifc4x3_rc2::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcTranslationalStiffnessSelect>(); } +::Ifc4x3_rc2::IfcTranslationalStiffnessSelect* Ifc4x3_rc2::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3_rc2::IfcBoundaryNodeCondition::setTranslationalStiffnessY(::Ifc4x3_rc2::IfcTranslationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc2::IfcTranslationalStiffnessSelect* Ifc4x3_rc2::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcTranslationalStiffnessSelect>(); } +::Ifc4x3_rc2::IfcTranslationalStiffnessSelect* Ifc4x3_rc2::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3_rc2::IfcBoundaryNodeCondition::setTranslationalStiffnessZ(::Ifc4x3_rc2::IfcTranslationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc2::IfcRotationalStiffnessSelect* Ifc4x3_rc2::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcRotationalStiffnessSelect>(); } +::Ifc4x3_rc2::IfcRotationalStiffnessSelect* Ifc4x3_rc2::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcRotationalStiffnessSelect>(true); } void Ifc4x3_rc2::IfcBoundaryNodeCondition::setRotationalStiffnessX(::Ifc4x3_rc2::IfcRotationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc2::IfcRotationalStiffnessSelect* Ifc4x3_rc2::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcRotationalStiffnessSelect>(); } +::Ifc4x3_rc2::IfcRotationalStiffnessSelect* Ifc4x3_rc2::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcRotationalStiffnessSelect>(true); } void Ifc4x3_rc2::IfcBoundaryNodeCondition::setRotationalStiffnessY(::Ifc4x3_rc2::IfcRotationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc2::IfcRotationalStiffnessSelect* Ifc4x3_rc2::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcRotationalStiffnessSelect>(); } +::Ifc4x3_rc2::IfcRotationalStiffnessSelect* Ifc4x3_rc2::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcRotationalStiffnessSelect>(true); } void Ifc4x3_rc2::IfcBoundaryNodeCondition::setRotationalStiffnessZ(::Ifc4x3_rc2::IfcRotationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -13813,7 +14014,7 @@ Ifc4x3_rc2::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(IfcEntityInstance Ifc4x3_rc2::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ) : IfcBoundaryCondition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcBoundaryNodeCondition_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TranslationalStiffnessX));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TranslationalStiffnessY));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TranslationalStiffnessZ));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RotationalStiffnessX));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RotationalStiffnessY));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RotationalStiffnessZ));data_->setArgument(6,attr);} } // Function implementations for IfcBoundaryNodeConditionWarping -::Ifc4x3_rc2::IfcWarpingStiffnessSelect* Ifc4x3_rc2::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc2::IfcWarpingStiffnessSelect>(); } +::Ifc4x3_rc2::IfcWarpingStiffnessSelect* Ifc4x3_rc2::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc2::IfcWarpingStiffnessSelect>(true); } void Ifc4x3_rc2::IfcBoundaryNodeConditionWarping::setWarpingStiffness(::Ifc4x3_rc2::IfcWarpingStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -13840,7 +14041,7 @@ Ifc4x3_rc2::IfcBoundedSurface::IfcBoundedSurface(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc2::IfcBoundedSurface::IfcBoundedSurface() : IfcSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcBoundedSurface_type); } // Function implementations for IfcBoundingBox -::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(); } +::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(true); } void Ifc4x3_rc2::IfcBoundingBox::setCorner(::Ifc4x3_rc2::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x3_rc2::IfcBoundingBox::XDim() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcBoundingBox::setXDim(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13856,7 +14057,7 @@ Ifc4x3_rc2::IfcBoundingBox::IfcBoundingBox(IfcEntityInstanceData* e) : IfcGeomet Ifc4x3_rc2::IfcBoundingBox::IfcBoundingBox(::Ifc4x3_rc2::IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcBoundingBox_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Corner));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_XDim));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_YDim));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ZDim));data_->setArgument(3,attr);} } // Function implementations for IfcBoxedHalfSpace -::Ifc4x3_rc2::IfcBoundingBox* Ifc4x3_rc2::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcBoundingBox>(); } +::Ifc4x3_rc2::IfcBoundingBox* Ifc4x3_rc2::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcBoundingBox>(true); } void Ifc4x3_rc2::IfcBoxedHalfSpace::setEnclosure(::Ifc4x3_rc2::IfcBoundingBox* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -13888,7 +14089,7 @@ boost::optional< double > Ifc4x3_rc2::IfcBuilding::ElevationOfRefHeight() const void Ifc4x3_rc2::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc2::IfcBuilding::ElevationOfTerrain() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } void Ifc4x3_rc2::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } -::Ifc4x3_rc2::IfcPostalAddress* Ifc4x3_rc2::IfcBuilding::BuildingAddress() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc2::IfcPostalAddress>(); } +::Ifc4x3_rc2::IfcPostalAddress* Ifc4x3_rc2::IfcBuilding::BuildingAddress() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc2::IfcPostalAddress>(true); } void Ifc4x3_rc2::IfcBuilding::setBuildingAddress(::Ifc4x3_rc2::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } @@ -14168,11 +14369,11 @@ Ifc4x3_rc2::IfcCartesianPointList3D::IfcCartesianPointList3D(IfcEntityInstanceDa Ifc4x3_rc2::IfcCartesianPointList3D::IfcCartesianPointList3D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcCartesianPointList3D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CoordList));data_->setArgument(0,attr);} if (v2_TagList) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_TagList));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcCartesianTransformationOperator -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcCartesianTransformationOperator::Axis1() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcDirection>(); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcCartesianTransformationOperator::Axis1() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcCartesianTransformationOperator::setAxis1(::Ifc4x3_rc2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcCartesianTransformationOperator::Axis2() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcDirection>(); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcCartesianTransformationOperator::Axis2() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcCartesianTransformationOperator::setAxis2(::Ifc4x3_rc2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(); } +::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(true); } void Ifc4x3_rc2::IfcCartesianTransformationOperator::setLocalOrigin(::Ifc4x3_rc2::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc2::IfcCartesianTransformationOperator::Scale() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4x3_rc2::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } @@ -14202,7 +14403,7 @@ Ifc4x3_rc2::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransfor Ifc4x3_rc2::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(::Ifc4x3_rc2::IfcDirection* v1_Axis1, ::Ifc4x3_rc2::IfcDirection* v2_Axis2, ::Ifc4x3_rc2::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2) : IfcCartesianTransformationOperator2D((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcCartesianTransformationOperator2DnonUniform_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Axis1));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Axis2));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_LocalOrigin));data_->setArgument(2,attr);} if (v4_Scale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Scale));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Scale2) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Scale2));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcCartesianTransformationOperator3D -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcCartesianTransformationOperator3D::Axis3() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcDirection>(); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcCartesianTransformationOperator3D::Axis3() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcCartesianTransformationOperator3D::setAxis3(::Ifc4x3_rc2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -14356,7 +14557,7 @@ Ifc4x3_rc2::IfcClassification::IfcClassification(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc2::IfcClassification::IfcClassification(boost::optional< std::string > v1_Source, boost::optional< std::string > v2_Edition, boost::optional< std::string > v3_EditionDate, std::string v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Location, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcClassification_type); if (v1_Source) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Source));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Edition) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Edition));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EditionDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EditionDate));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Name));data_->setArgument(3,attr);} if (v5_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Description));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Location));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ReferenceTokens) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ReferenceTokens));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcClassificationReference -::Ifc4x3_rc2::IfcClassificationReferenceSelect* Ifc4x3_rc2::IfcClassificationReference::ReferencedSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcClassificationReferenceSelect>(); } +::Ifc4x3_rc2::IfcClassificationReferenceSelect* Ifc4x3_rc2::IfcClassificationReference::ReferencedSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcClassificationReferenceSelect>(true); } void Ifc4x3_rc2::IfcClassificationReference::setReferencedSource(::Ifc4x3_rc2::IfcClassificationReferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcClassificationReference::Description() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc2::IfcClassificationReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -14380,7 +14581,7 @@ Ifc4x3_rc2::IfcClosedShell::IfcClosedShell(IfcEntityInstanceData* e) : IfcConnec Ifc4x3_rc2::IfcClosedShell::IfcClosedShell(aggregate_of< ::Ifc4x3_rc2::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcClosedShell_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CfsFaces)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcClothoid -::Ifc4x3_rc2::IfcAxis2Placement* Ifc4x3_rc2::IfcClothoid::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcAxis2Placement>(); } +::Ifc4x3_rc2::IfcAxis2Placement* Ifc4x3_rc2::IfcClothoid::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcAxis2Placement>(true); } void Ifc4x3_rc2::IfcClothoid::setPosition(::Ifc4x3_rc2::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x3_rc2::IfcClothoid::ClothoidConstant() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcClothoid::setClothoidConstant(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -14542,7 +14743,7 @@ Ifc4x3_rc2::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(aggregate_of< // Function implementations for IfcCompositeCurveSegment bool Ifc4x3_rc2::IfcCompositeCurveSegment::SameSense() const { bool v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcCompositeCurveSegment::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcCurve>(); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcCompositeCurveSegment::setParentCurve(::Ifc4x3_rc2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } ::Ifc4x3_rc2::IfcCompositeCurve::list::ptr Ifc4x3_rc2::IfcCompositeCurveSegment::UsingCurves() const { return data_->getInverse(IFC4X3_RC2_IfcCompositeCurve_type, 0)->as(); } @@ -14605,7 +14806,7 @@ Ifc4x3_rc2::IfcCondenserType::IfcCondenserType(IfcEntityInstanceData* e) : IfcEn Ifc4x3_rc2::IfcCondenserType::IfcCondenserType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCondenserTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcCondenserType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc2::IfcCondenserTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcConic -::Ifc4x3_rc2::IfcAxis2Placement* Ifc4x3_rc2::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcAxis2Placement>(); } +::Ifc4x3_rc2::IfcAxis2Placement* Ifc4x3_rc2::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcAxis2Placement>(true); } void Ifc4x3_rc2::IfcConic::setPosition(::Ifc4x3_rc2::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -14625,9 +14826,9 @@ Ifc4x3_rc2::IfcConnectedFaceSet::IfcConnectedFaceSet(IfcEntityInstanceData* e) : Ifc4x3_rc2::IfcConnectedFaceSet::IfcConnectedFaceSet(aggregate_of< ::Ifc4x3_rc2::IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcConnectedFaceSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CfsFaces)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcConnectionCurveGeometry -::Ifc4x3_rc2::IfcCurveOrEdgeCurve* Ifc4x3_rc2::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCurveOrEdgeCurve>(); } +::Ifc4x3_rc2::IfcCurveOrEdgeCurve* Ifc4x3_rc2::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCurveOrEdgeCurve>(true); } void Ifc4x3_rc2::IfcConnectionCurveGeometry::setCurveOnRelatingElement(::Ifc4x3_rc2::IfcCurveOrEdgeCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc2::IfcCurveOrEdgeCurve* Ifc4x3_rc2::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcCurveOrEdgeCurve>(); } +::Ifc4x3_rc2::IfcCurveOrEdgeCurve* Ifc4x3_rc2::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcCurveOrEdgeCurve>(true); } void Ifc4x3_rc2::IfcConnectionCurveGeometry::setCurveOnRelatedElement(::Ifc4x3_rc2::IfcCurveOrEdgeCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -14659,9 +14860,9 @@ Ifc4x3_rc2::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcEn Ifc4x3_rc2::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(::Ifc4x3_rc2::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_rc2::IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcConnectionPointEccentricity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_PointOnRelatingElement));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PointOnRelatedElement));data_->setArgument(1,attr);} if (v3_EccentricityInX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EccentricityInX));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_EccentricityInY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_EccentricityInY));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_EccentricityInZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_EccentricityInZ));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcConnectionPointGeometry -::Ifc4x3_rc2::IfcPointOrVertexPoint* Ifc4x3_rc2::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcPointOrVertexPoint>(); } +::Ifc4x3_rc2::IfcPointOrVertexPoint* Ifc4x3_rc2::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcPointOrVertexPoint>(true); } void Ifc4x3_rc2::IfcConnectionPointGeometry::setPointOnRelatingElement(::Ifc4x3_rc2::IfcPointOrVertexPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc2::IfcPointOrVertexPoint* Ifc4x3_rc2::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcPointOrVertexPoint>(); } +::Ifc4x3_rc2::IfcPointOrVertexPoint* Ifc4x3_rc2::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcPointOrVertexPoint>(true); } void Ifc4x3_rc2::IfcConnectionPointGeometry::setPointOnRelatedElement(::Ifc4x3_rc2::IfcPointOrVertexPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -14671,9 +14872,9 @@ Ifc4x3_rc2::IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcEntityInst Ifc4x3_rc2::IfcConnectionPointGeometry::IfcConnectionPointGeometry(::Ifc4x3_rc2::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_rc2::IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcConnectionPointGeometry_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_PointOnRelatingElement));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PointOnRelatedElement));data_->setArgument(1,attr);} } // Function implementations for IfcConnectionSurfaceGeometry -::Ifc4x3_rc2::IfcSurfaceOrFaceSurface* Ifc4x3_rc2::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcSurfaceOrFaceSurface>(); } +::Ifc4x3_rc2::IfcSurfaceOrFaceSurface* Ifc4x3_rc2::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcSurfaceOrFaceSurface>(true); } void Ifc4x3_rc2::IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(::Ifc4x3_rc2::IfcSurfaceOrFaceSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc2::IfcSurfaceOrFaceSurface* Ifc4x3_rc2::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcSurfaceOrFaceSurface>(); } +::Ifc4x3_rc2::IfcSurfaceOrFaceSurface* Ifc4x3_rc2::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcSurfaceOrFaceSurface>(true); } void Ifc4x3_rc2::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(::Ifc4x3_rc2::IfcSurfaceOrFaceSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -14683,9 +14884,9 @@ Ifc4x3_rc2::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcEntity Ifc4x3_rc2::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(::Ifc4x3_rc2::IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, ::Ifc4x3_rc2::IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcConnectionSurfaceGeometry_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SurfaceOnRelatingElement));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SurfaceOnRelatedElement));data_->setArgument(1,attr);} } // Function implementations for IfcConnectionVolumeGeometry -::Ifc4x3_rc2::IfcSolidOrShell* Ifc4x3_rc2::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcSolidOrShell>(); } +::Ifc4x3_rc2::IfcSolidOrShell* Ifc4x3_rc2::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcSolidOrShell>(true); } void Ifc4x3_rc2::IfcConnectionVolumeGeometry::setVolumeOnRelatingElement(::Ifc4x3_rc2::IfcSolidOrShell* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc2::IfcSolidOrShell* Ifc4x3_rc2::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcSolidOrShell>(); } +::Ifc4x3_rc2::IfcSolidOrShell* Ifc4x3_rc2::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcSolidOrShell>(true); } void Ifc4x3_rc2::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(::Ifc4x3_rc2::IfcSolidOrShell* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -14703,7 +14904,7 @@ void Ifc4x3_rc2::IfcConstraint::setDescription(boost::optional< std::string > v) void Ifc4x3_rc2::IfcConstraint::setConstraintGrade(::Ifc4x3_rc2::IfcConstraintEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcConstraintEnum::ToString(v)));data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcConstraint::ConstraintSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x3_rc2::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } -::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcConstraint::CreatingActor() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcActorSelect>(); } +::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcConstraint::CreatingActor() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } void Ifc4x3_rc2::IfcConstraint::setCreatingActor(::Ifc4x3_rc2::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcConstraint::CreationTime() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x3_rc2::IfcConstraint::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } @@ -14779,11 +14980,11 @@ Ifc4x3_rc2::IfcConstructionProductResourceType::IfcConstructionProductResourceTy Ifc4x3_rc2::IfcConstructionProductResourceType::IfcConstructionProductResourceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcConstructionProductResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcConstructionResource -::Ifc4x3_rc2::IfcResourceTime* Ifc4x3_rc2::IfcConstructionResource::Usage() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc2::IfcResourceTime>(); } +::Ifc4x3_rc2::IfcResourceTime* Ifc4x3_rc2::IfcConstructionResource::Usage() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc2::IfcResourceTime>(true); } void Ifc4x3_rc2::IfcConstructionResource::setUsage(::Ifc4x3_rc2::IfcResourceTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > Ifc4x3_rc2::IfcConstructionResource::BaseCosts() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x3_rc2::IfcAppliedValue >(); } void Ifc4x3_rc2::IfcConstructionResource::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } -::Ifc4x3_rc2::IfcPhysicalQuantity* Ifc4x3_rc2::IfcConstructionResource::BaseQuantity() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc2::IfcPhysicalQuantity>(); } +::Ifc4x3_rc2::IfcPhysicalQuantity* Ifc4x3_rc2::IfcConstructionResource::BaseQuantity() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc2::IfcPhysicalQuantity>(true); } void Ifc4x3_rc2::IfcConstructionResource::setBaseQuantity(::Ifc4x3_rc2::IfcPhysicalQuantity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -14795,7 +14996,7 @@ Ifc4x3_rc2::IfcConstructionResource::IfcConstructionResource(std::string v1_Glob // Function implementations for IfcConstructionResourceType boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > Ifc4x3_rc2::IfcConstructionResourceType::BaseCosts() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x3_rc2::IfcAppliedValue >(); } void Ifc4x3_rc2::IfcConstructionResourceType::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(9,attr);} } -::Ifc4x3_rc2::IfcPhysicalQuantity* Ifc4x3_rc2::IfcConstructionResourceType::BaseQuantity() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc2::IfcPhysicalQuantity>(); } +::Ifc4x3_rc2::IfcPhysicalQuantity* Ifc4x3_rc2::IfcConstructionResourceType::BaseQuantity() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc2::IfcPhysicalQuantity>(true); } void Ifc4x3_rc2::IfcConstructionResourceType::setBaseQuantity(::Ifc4x3_rc2::IfcPhysicalQuantity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -14813,7 +15014,7 @@ boost::optional< std::string > Ifc4x3_rc2::IfcContext::Phase() const { if(!data_ void Ifc4x3_rc2::IfcContext::setPhase(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationContext >::ptr > Ifc4x3_rc2::IfcContext::RepresentationContexts() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc2::IfcRepresentationContext >(); } void Ifc4x3_rc2::IfcContext::setRepresentationContexts(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationContext >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } -::Ifc4x3_rc2::IfcUnitAssignment* Ifc4x3_rc2::IfcContext::UnitsInContext() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcUnitAssignment>(); } +::Ifc4x3_rc2::IfcUnitAssignment* Ifc4x3_rc2::IfcContext::UnitsInContext() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcUnitAssignment>(true); } void Ifc4x3_rc2::IfcContext::setUnitsInContext(::Ifc4x3_rc2::IfcUnitAssignment* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } ::Ifc4x3_rc2::IfcRelDefinesByProperties::list::ptr Ifc4x3_rc2::IfcContext::IsDefinedBy() const { return data_->getInverse(IFC4X3_RC2_IfcRelDefinesByProperties_type, 4)->as(); } @@ -14869,7 +15070,7 @@ Ifc4x3_rc2::IfcControllerType::IfcControllerType(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcConversionBasedUnit std::string Ifc4x3_rc2::IfcConversionBasedUnit::Name() const { std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc2::IfcConversionBasedUnit::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc2::IfcMeasureWithUnit* Ifc4x3_rc2::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcMeasureWithUnit>(); } +::Ifc4x3_rc2::IfcMeasureWithUnit* Ifc4x3_rc2::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcMeasureWithUnit>(true); } void Ifc4x3_rc2::IfcConversionBasedUnit::setConversionFactor(::Ifc4x3_rc2::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3_rc2::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc2::IfcConversionBasedUnit::HasExternalReference() const { return data_->getInverse(IFC4X3_RC2_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -14950,9 +15151,9 @@ Ifc4x3_rc2::IfcCoolingTowerType::IfcCoolingTowerType(IfcEntityInstanceData* e) : Ifc4x3_rc2::IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcCoolingTowerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcCoordinateOperation -::Ifc4x3_rc2::IfcCoordinateReferenceSystemSelect* Ifc4x3_rc2::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCoordinateReferenceSystemSelect>(); } +::Ifc4x3_rc2::IfcCoordinateReferenceSystemSelect* Ifc4x3_rc2::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCoordinateReferenceSystemSelect>(true); } void Ifc4x3_rc2::IfcCoordinateOperation::setSourceCRS(::Ifc4x3_rc2::IfcCoordinateReferenceSystemSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc2::IfcCoordinateReferenceSystem* Ifc4x3_rc2::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcCoordinateReferenceSystem>(); } +::Ifc4x3_rc2::IfcCoordinateReferenceSystem* Ifc4x3_rc2::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcCoordinateReferenceSystem>(true); } void Ifc4x3_rc2::IfcCoordinateOperation::setTargetCRS(::Ifc4x3_rc2::IfcCoordinateReferenceSystem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15079,7 +15280,7 @@ Ifc4x3_rc2::IfcCrewResourceType::IfcCrewResourceType(IfcEntityInstanceData* e) : Ifc4x3_rc2::IfcCrewResourceType::IfcCrewResourceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcCrewResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4x3_rc2::IfcCrewResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcCsgPrimitive3D -::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(); } +::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(true); } void Ifc4x3_rc2::IfcCsgPrimitive3D::setPosition(::Ifc4x3_rc2::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -15089,7 +15290,7 @@ Ifc4x3_rc2::IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc2::IfcCsgPrimitive3D::IfcCsgPrimitive3D(::Ifc4x3_rc2::IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcCsgPrimitive3D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);} } // Function implementations for IfcCsgSolid -::Ifc4x3_rc2::IfcCsgSelect* Ifc4x3_rc2::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCsgSelect>(); } +::Ifc4x3_rc2::IfcCsgSelect* Ifc4x3_rc2::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCsgSelect>(true); } void Ifc4x3_rc2::IfcCsgSolid::setTreeRootExpression(::Ifc4x3_rc2::IfcCsgSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -15099,15 +15300,15 @@ Ifc4x3_rc2::IfcCsgSolid::IfcCsgSolid(IfcEntityInstanceData* e) : IfcSolidModel(( Ifc4x3_rc2::IfcCsgSolid::IfcCsgSolid(::Ifc4x3_rc2::IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcCsgSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TreeRootExpression));data_->setArgument(0,attr);} } // Function implementations for IfcCurrencyRelationship -::Ifc4x3_rc2::IfcMonetaryUnit* Ifc4x3_rc2::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcMonetaryUnit>(); } +::Ifc4x3_rc2::IfcMonetaryUnit* Ifc4x3_rc2::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcMonetaryUnit>(true); } void Ifc4x3_rc2::IfcCurrencyRelationship::setRelatingMonetaryUnit(::Ifc4x3_rc2::IfcMonetaryUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc2::IfcMonetaryUnit* Ifc4x3_rc2::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcMonetaryUnit>(); } +::Ifc4x3_rc2::IfcMonetaryUnit* Ifc4x3_rc2::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcMonetaryUnit>(true); } void Ifc4x3_rc2::IfcCurrencyRelationship::setRelatedMonetaryUnit(::Ifc4x3_rc2::IfcMonetaryUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } double Ifc4x3_rc2::IfcCurrencyRelationship::ExchangeRate() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc2::IfcCurrencyRelationship::setExchangeRate(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcCurrencyRelationship::RateDateTime() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x3_rc2::IfcCurrencyRelationship::setRateDateTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4x3_rc2::IfcLibraryInformation* Ifc4x3_rc2::IfcCurrencyRelationship::RateSource() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcLibraryInformation>(); } +::Ifc4x3_rc2::IfcLibraryInformation* Ifc4x3_rc2::IfcCurrencyRelationship::RateSource() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcLibraryInformation>(true); } void Ifc4x3_rc2::IfcCurrencyRelationship::setRateSource(::Ifc4x3_rc2::IfcLibraryInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -15145,9 +15346,9 @@ Ifc4x3_rc2::IfcCurve::IfcCurve(IfcEntityInstanceData* e) : IfcGeometricRepresent Ifc4x3_rc2::IfcCurve::IfcCurve() : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcCurve_type); } // Function implementations for IfcCurveBoundedPlane -::Ifc4x3_rc2::IfcPlane* Ifc4x3_rc2::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcPlane>(); } +::Ifc4x3_rc2::IfcPlane* Ifc4x3_rc2::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcPlane>(true); } void Ifc4x3_rc2::IfcCurveBoundedPlane::setBasisSurface(::Ifc4x3_rc2::IfcPlane* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcCurve>(); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcCurveBoundedPlane::setOuterBoundary(::Ifc4x3_rc2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x3_rc2::IfcCurve >::ptr Ifc4x3_rc2::IfcCurveBoundedPlane::InnerBoundaries() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc2::IfcCurve >(); } void Ifc4x3_rc2::IfcCurveBoundedPlane::setInnerBoundaries(aggregate_of< ::Ifc4x3_rc2::IfcCurve >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } @@ -15159,7 +15360,7 @@ Ifc4x3_rc2::IfcCurveBoundedPlane::IfcCurveBoundedPlane(IfcEntityInstanceData* e) Ifc4x3_rc2::IfcCurveBoundedPlane::IfcCurveBoundedPlane(::Ifc4x3_rc2::IfcPlane* v1_BasisSurface, ::Ifc4x3_rc2::IfcCurve* v2_OuterBoundary, aggregate_of< ::Ifc4x3_rc2::IfcCurve >::ptr v3_InnerBoundaries) : IfcBoundedSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcCurveBoundedPlane_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisSurface));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OuterBoundary));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_InnerBoundaries)->generalize());data_->setArgument(2,attr);} } // Function implementations for IfcCurveBoundedSurface -::Ifc4x3_rc2::IfcSurface* Ifc4x3_rc2::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcSurface>(); } +::Ifc4x3_rc2::IfcSurface* Ifc4x3_rc2::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcSurface>(true); } void Ifc4x3_rc2::IfcCurveBoundedSurface::setBasisSurface(::Ifc4x3_rc2::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x3_rc2::IfcBoundaryCurve >::ptr Ifc4x3_rc2::IfcCurveBoundedSurface::Boundaries() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc2::IfcBoundaryCurve >(); } void Ifc4x3_rc2::IfcCurveBoundedSurface::setBoundaries(aggregate_of< ::Ifc4x3_rc2::IfcBoundaryCurve >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -15173,11 +15374,11 @@ Ifc4x3_rc2::IfcCurveBoundedSurface::IfcCurveBoundedSurface(IfcEntityInstanceData Ifc4x3_rc2::IfcCurveBoundedSurface::IfcCurveBoundedSurface(::Ifc4x3_rc2::IfcSurface* v1_BasisSurface, aggregate_of< ::Ifc4x3_rc2::IfcBoundaryCurve >::ptr v2_Boundaries, bool v3_ImplicitOuter) : IfcBoundedSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcCurveBoundedSurface_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisSurface));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Boundaries)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ImplicitOuter));data_->setArgument(2,attr);} } // Function implementations for IfcCurveSegment -::Ifc4x3_rc2::IfcPlacement* Ifc4x3_rc2::IfcCurveSegment::StartPlacement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcPlacement>(); } +::Ifc4x3_rc2::IfcPlacement* Ifc4x3_rc2::IfcCurveSegment::StartPlacement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcPlacement>(true); } void Ifc4x3_rc2::IfcCurveSegment::setStartPlacement(::Ifc4x3_rc2::IfcPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc2::IfcCurveMeasureSelect* Ifc4x3_rc2::IfcCurveSegment::SegmentLength() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcCurveMeasureSelect>(); } +::Ifc4x3_rc2::IfcCurveMeasureSelect* Ifc4x3_rc2::IfcCurveSegment::SegmentLength() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcCurveMeasureSelect>(true); } void Ifc4x3_rc2::IfcCurveSegment::setSegmentLength(::Ifc4x3_rc2::IfcCurveMeasureSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcCurve>(); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcCurveSegment::setParentCurve(::Ifc4x3_rc2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -15187,7 +15388,7 @@ Ifc4x3_rc2::IfcCurveSegment::IfcCurveSegment(IfcEntityInstanceData* e) : IfcSegm Ifc4x3_rc2::IfcCurveSegment::IfcCurveSegment(::Ifc4x3_rc2::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_rc2::IfcPlacement* v2_StartPlacement, ::Ifc4x3_rc2::IfcCurveMeasureSelect* v3_SegmentLength, ::Ifc4x3_rc2::IfcCurve* v4_ParentCurve) : IfcSegment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcCurveSegment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_Transition,::Ifc4x3_rc2::IfcTransitionCode::ToString(v1_Transition))));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_StartPlacement));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SegmentLength));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ParentCurve));data_->setArgument(3,attr);} } // Function implementations for IfcCurveSegment2D -::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcCurveSegment2D::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(); } +::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcCurveSegment2D::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(true); } void Ifc4x3_rc2::IfcCurveSegment2D::setStartPoint(::Ifc4x3_rc2::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x3_rc2::IfcCurveSegment2D::StartDirection() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcCurveSegment2D::setStartDirection(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15201,11 +15402,11 @@ Ifc4x3_rc2::IfcCurveSegment2D::IfcCurveSegment2D(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc2::IfcCurveSegment2D::IfcCurveSegment2D(::Ifc4x3_rc2::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcCurveSegment2D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_StartPoint));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_StartDirection));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SegmentLength));data_->setArgument(2,attr);} } // Function implementations for IfcCurveStyle -::Ifc4x3_rc2::IfcCurveFontOrScaledCurveFontSelect* Ifc4x3_rc2::IfcCurveStyle::CurveFont() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcCurveFontOrScaledCurveFontSelect>(); } +::Ifc4x3_rc2::IfcCurveFontOrScaledCurveFontSelect* Ifc4x3_rc2::IfcCurveStyle::CurveFont() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcCurveFontOrScaledCurveFontSelect>(true); } void Ifc4x3_rc2::IfcCurveStyle::setCurveFont(::Ifc4x3_rc2::IfcCurveFontOrScaledCurveFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc2::IfcSizeSelect* Ifc4x3_rc2::IfcCurveStyle::CurveWidth() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcSizeSelect>(); } +::Ifc4x3_rc2::IfcSizeSelect* Ifc4x3_rc2::IfcCurveStyle::CurveWidth() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcSizeSelect>(true); } void Ifc4x3_rc2::IfcCurveStyle::setCurveWidth(::Ifc4x3_rc2::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc2::IfcColour* Ifc4x3_rc2::IfcCurveStyle::CurveColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcColour>(); } +::Ifc4x3_rc2::IfcColour* Ifc4x3_rc2::IfcCurveStyle::CurveColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcColour>(true); } void Ifc4x3_rc2::IfcCurveStyle::setCurveColour(::Ifc4x3_rc2::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< bool > Ifc4x3_rc2::IfcCurveStyle::ModelOrDraughting() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } bool v = *data_->getArgument(4); return v; } void Ifc4x3_rc2::IfcCurveStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -15231,7 +15432,7 @@ Ifc4x3_rc2::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > // Function implementations for IfcCurveStyleFontAndScaling boost::optional< std::string > Ifc4x3_rc2::IfcCurveStyleFontAndScaling::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc2::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } -::Ifc4x3_rc2::IfcCurveStyleFontSelect* Ifc4x3_rc2::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcCurveStyleFontSelect>(); } +::Ifc4x3_rc2::IfcCurveStyleFontSelect* Ifc4x3_rc2::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcCurveStyleFontSelect>(true); } void Ifc4x3_rc2::IfcCurveStyleFontAndScaling::setCurveFont(::Ifc4x3_rc2::IfcCurveStyleFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } double Ifc4x3_rc2::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = *data_->getArgument(2); return v; } void Ifc4x3_rc2::IfcCurveStyleFontAndScaling::setCurveFontScaling(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -15301,9 +15502,9 @@ Ifc4x3_rc2::IfcDeepFoundationType::IfcDeepFoundationType(IfcEntityInstanceData* Ifc4x3_rc2::IfcDeepFoundationType::IfcDeepFoundationType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcDeepFoundationType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcDerivedProfileDef -::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcProfileDef>(); } +::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcProfileDef>(true); } void Ifc4x3_rc2::IfcDerivedProfileDef::setParentProfile(::Ifc4x3_rc2::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc2::IfcCartesianTransformationOperator2D* Ifc4x3_rc2::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcCartesianTransformationOperator2D>(); } +::Ifc4x3_rc2::IfcCartesianTransformationOperator2D* Ifc4x3_rc2::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcCartesianTransformationOperator2D>(true); } void Ifc4x3_rc2::IfcDerivedProfileDef::setOperator(::Ifc4x3_rc2::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcDerivedProfileDef::Label() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc2::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -15329,7 +15530,7 @@ Ifc4x3_rc2::IfcDerivedUnit::IfcDerivedUnit(IfcEntityInstanceData* e) : IfcUtil:: Ifc4x3_rc2::IfcDerivedUnit::IfcDerivedUnit(aggregate_of< ::Ifc4x3_rc2::IfcDerivedUnitElement >::ptr v1_Elements, ::Ifc4x3_rc2::IfcDerivedUnitEnum::Value v2_UnitType, boost::optional< std::string > v3_UserDefinedType) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcDerivedUnit_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_UnitType,::Ifc4x3_rc2::IfcDerivedUnitEnum::ToString(v2_UnitType))));data_->setArgument(1,attr);} if (v3_UserDefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UserDefinedType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcDerivedUnitElement -::Ifc4x3_rc2::IfcNamedUnit* Ifc4x3_rc2::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcNamedUnit>(); } +::Ifc4x3_rc2::IfcNamedUnit* Ifc4x3_rc2::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcNamedUnit>(true); } void Ifc4x3_rc2::IfcDerivedUnitElement::setUnit(::Ifc4x3_rc2::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } int Ifc4x3_rc2::IfcDerivedUnitElement::Exponent() const { int v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcDerivedUnitElement::setExponent(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15373,11 +15574,11 @@ Ifc4x3_rc2::IfcDirection::IfcDirection(IfcEntityInstanceData* e) : IfcGeometricR Ifc4x3_rc2::IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionRatios) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcDirection_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_DirectionRatios));data_->setArgument(0,attr);} } // Function implementations for IfcDirectrixCurveSweptAreaSolid -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcCurve>(); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::setDirectrix(::Ifc4x3_rc2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc2::IfcCurveMeasureSelect* Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::StartParam() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcCurveMeasureSelect>(); } +::Ifc4x3_rc2::IfcCurveMeasureSelect* Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::StartParam() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcCurveMeasureSelect>(true); } void Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::setStartParam(::Ifc4x3_rc2::IfcCurveMeasureSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc2::IfcCurveMeasureSelect* Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::EndParam() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcCurveMeasureSelect>(); } +::Ifc4x3_rc2::IfcCurveMeasureSelect* Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::EndParam() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcCurveMeasureSelect>(true); } void Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::setEndParam(::Ifc4x3_rc2::IfcCurveMeasureSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -15387,11 +15588,11 @@ Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid(Ifc Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid(::Ifc4x3_rc2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc2::IfcCurve* v3_Directrix, ::Ifc4x3_rc2::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_rc2::IfcCurveMeasureSelect* v5_EndParam) : IfcSweptAreaSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcDirectrixCurveSweptAreaSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Directrix));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_StartParam));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_EndParam));data_->setArgument(4,attr);} } // Function implementations for IfcDirectrixDistanceSweptAreaSolid -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcCurve>(); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::setDirectrix(::Ifc4x3_rc2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc2::IfcPointByDistanceExpression* Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::StartDistance() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcPointByDistanceExpression>(); } +::Ifc4x3_rc2::IfcPointByDistanceExpression* Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::StartDistance() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcPointByDistanceExpression>(true); } void Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::setStartDistance(::Ifc4x3_rc2::IfcPointByDistanceExpression* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc2::IfcPointByDistanceExpression* Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::EndDistance() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcPointByDistanceExpression>(); } +::Ifc4x3_rc2::IfcPointByDistanceExpression* Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::EndDistance() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcPointByDistanceExpression>(true); } void Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::setEndDistance(::Ifc4x3_rc2::IfcPointByDistanceExpression* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -15562,7 +15763,7 @@ boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::Scope() const void Ifc4x3_rc2::IfcDocumentInformation::setScope(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::Revision() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } void Ifc4x3_rc2::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } -::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcActorSelect>(); } +::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } void Ifc4x3_rc2::IfcDocumentInformation::setDocumentOwner(::Ifc4x3_rc2::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc2::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(9); return v; } void Ifc4x3_rc2::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } @@ -15592,7 +15793,7 @@ Ifc4x3_rc2::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData Ifc4x3_rc2::IfcDocumentInformation::IfcDocumentInformation(std::string v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_Location, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, ::Ifc4x3_rc2::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of_instance::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< ::Ifc4x3_rc2::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc2::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x3_rc2::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x3_rc2::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcDocumentInformationRelationship -::Ifc4x3_rc2::IfcDocumentInformation* Ifc4x3_rc2::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcDocumentInformation>(); } +::Ifc4x3_rc2::IfcDocumentInformation* Ifc4x3_rc2::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcDocumentInformation>(true); } void Ifc4x3_rc2::IfcDocumentInformationRelationship::setRelatingDocument(::Ifc4x3_rc2::IfcDocumentInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4x3_rc2::IfcDocumentInformation >::ptr Ifc4x3_rc2::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc2::IfcDocumentInformation >(); } void Ifc4x3_rc2::IfcDocumentInformationRelationship::setRelatedDocuments(aggregate_of< ::Ifc4x3_rc2::IfcDocumentInformation >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -15608,7 +15809,7 @@ Ifc4x3_rc2::IfcDocumentInformationRelationship::IfcDocumentInformationRelationsh // Function implementations for IfcDocumentReference boost::optional< std::string > Ifc4x3_rc2::IfcDocumentReference::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x3_rc2::IfcDocumentReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } -::Ifc4x3_rc2::IfcDocumentInformation* Ifc4x3_rc2::IfcDocumentReference::ReferencedDocument() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcDocumentInformation>(); } +::Ifc4x3_rc2::IfcDocumentInformation* Ifc4x3_rc2::IfcDocumentReference::ReferencedDocument() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcDocumentInformation>(true); } void Ifc4x3_rc2::IfcDocumentReference::setReferencedDocument(::Ifc4x3_rc2::IfcDocumentInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4x3_rc2::IfcRelAssociatesDocument::list::ptr Ifc4x3_rc2::IfcDocumentReference::DocumentRefForObjects() const { return data_->getInverse(IFC4X3_RC2_IfcRelAssociatesDocument_type, 5)->as(); } @@ -15657,7 +15858,7 @@ boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::CasingThickness() void Ifc4x3_rc2::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::CasingDepth() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } void Ifc4x3_rc2::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } -::Ifc4x3_rc2::IfcShapeAspect* Ifc4x3_rc2::IfcDoorLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(14)))->as<::Ifc4x3_rc2::IfcShapeAspect>(); } +::Ifc4x3_rc2::IfcShapeAspect* Ifc4x3_rc2::IfcDoorLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(14)))->as<::Ifc4x3_rc2::IfcShapeAspect>(true); } void Ifc4x3_rc2::IfcDoorLiningProperties::setShapeAspectStyle(::Ifc4x3_rc2::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(14,attr);} } boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } void Ifc4x3_rc2::IfcDoorLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } @@ -15679,7 +15880,7 @@ boost::optional< double > Ifc4x3_rc2::IfcDoorPanelProperties::PanelWidth() const void Ifc4x3_rc2::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } ::Ifc4x3_rc2::IfcDoorPanelPositionEnum::Value Ifc4x3_rc2::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x3_rc2::IfcDoorPanelPositionEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc2::IfcDoorPanelProperties::setPanelPosition(::Ifc4x3_rc2::IfcDoorPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcDoorPanelPositionEnum::ToString(v)));data_->setArgument(7,attr);} } -::Ifc4x3_rc2::IfcShapeAspect* Ifc4x3_rc2::IfcDoorPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcShapeAspect>(); } +::Ifc4x3_rc2::IfcShapeAspect* Ifc4x3_rc2::IfcDoorPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcShapeAspect>(true); } void Ifc4x3_rc2::IfcDoorPanelProperties::setShapeAspectStyle(::Ifc4x3_rc2::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -15833,9 +16034,9 @@ Ifc4x3_rc2::IfcEarthworksFill::IfcEarthworksFill(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc2::IfcEarthworksFill::IfcEarthworksFill(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType) : IfcEarthworksElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcEarthworksFill_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4x3_rc2::IfcEarthworksFillTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcEdge -::Ifc4x3_rc2::IfcVertex* Ifc4x3_rc2::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcVertex>(); } +::Ifc4x3_rc2::IfcVertex* Ifc4x3_rc2::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcVertex>(true); } void Ifc4x3_rc2::IfcEdge::setEdgeStart(::Ifc4x3_rc2::IfcVertex* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc2::IfcVertex* Ifc4x3_rc2::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcVertex>(); } +::Ifc4x3_rc2::IfcVertex* Ifc4x3_rc2::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcVertex>(true); } void Ifc4x3_rc2::IfcEdge::setEdgeEnd(::Ifc4x3_rc2::IfcVertex* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15845,7 +16046,7 @@ Ifc4x3_rc2::IfcEdge::IfcEdge(IfcEntityInstanceData* e) : IfcTopologicalRepresent Ifc4x3_rc2::IfcEdge::IfcEdge(::Ifc4x3_rc2::IfcVertex* v1_EdgeStart, ::Ifc4x3_rc2::IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcEdge_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_EdgeStart));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EdgeEnd));data_->setArgument(1,attr);} } // Function implementations for IfcEdgeCurve -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcCurve>(); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcEdgeCurve::setEdgeGeometry(::Ifc4x3_rc2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } bool Ifc4x3_rc2::IfcEdgeCurve::SameSense() const { bool v = *data_->getArgument(3); return v; } void Ifc4x3_rc2::IfcEdgeCurve::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16088,7 +16289,7 @@ Ifc4x3_rc2::IfcElementType::IfcElementType(IfcEntityInstanceData* e) : IfcTypePr Ifc4x3_rc2::IfcElementType::IfcElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcElementarySurface -::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(); } +::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(true); } void Ifc4x3_rc2::IfcElementarySurface::setPosition(::Ifc4x3_rc2::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -16204,7 +16405,7 @@ boost::optional< ::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Value > Ifc4x3_rc2::IfcE void Ifc4x3_rc2::IfcEvent::setEventTriggerType(boost::optional< ::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcEventTriggerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcEvent::UserDefinedEventTriggerType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } void Ifc4x3_rc2::IfcEvent::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } -::Ifc4x3_rc2::IfcEventTime* Ifc4x3_rc2::IfcEvent::EventOccurenceTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc2::IfcEventTime>(); } +::Ifc4x3_rc2::IfcEventTime* Ifc4x3_rc2::IfcEvent::EventOccurenceTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc2::IfcEventTime>(true); } void Ifc4x3_rc2::IfcEvent::setEventOccurenceTime(::Ifc4x3_rc2::IfcEventTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -16281,7 +16482,7 @@ Ifc4x3_rc2::IfcExternalReference::IfcExternalReference(IfcEntityInstanceData* e) Ifc4x3_rc2::IfcExternalReference::IfcExternalReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcExternalReference_type); if (v1_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Location));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Identification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcExternalReferenceRelationship -::Ifc4x3_rc2::IfcExternalReference* Ifc4x3_rc2::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcExternalReference>(); } +::Ifc4x3_rc2::IfcExternalReference* Ifc4x3_rc2::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcExternalReference>(true); } void Ifc4x3_rc2::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x3_rc2::IfcExternalReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of_instance::ptr Ifc4x3_rc2::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } void Ifc4x3_rc2::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16336,7 +16537,7 @@ Ifc4x3_rc2::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(IfcEntity Ifc4x3_rc2::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcExternallyDefinedTextFont_type); if (v1_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Location));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Identification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcExtrudedAreaSolid -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcDirection>(); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcExtrudedAreaSolid::setExtrudedDirection(::Ifc4x3_rc2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc4x3_rc2::IfcExtrudedAreaSolid::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc2::IfcExtrudedAreaSolid::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16348,7 +16549,7 @@ Ifc4x3_rc2::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcEntityInstanceData* e) Ifc4x3_rc2::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(::Ifc4x3_rc2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc2::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcExtrudedAreaSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ExtrudedDirection));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);} } // Function implementations for IfcExtrudedAreaSolidTapered -::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcProfileDef>(); } +::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcProfileDef>(true); } void Ifc4x3_rc2::IfcExtrudedAreaSolidTapered::setEndSweptArea(::Ifc4x3_rc2::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -16379,7 +16580,7 @@ Ifc4x3_rc2::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(IfcEntityInstance Ifc4x3_rc2::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(aggregate_of< ::Ifc4x3_rc2::IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcFaceBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_FbsmFaces)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcFaceBound -::Ifc4x3_rc2::IfcLoop* Ifc4x3_rc2::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcLoop>(); } +::Ifc4x3_rc2::IfcLoop* Ifc4x3_rc2::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcLoop>(true); } void Ifc4x3_rc2::IfcFaceBound::setBound(::Ifc4x3_rc2::IfcLoop* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } bool Ifc4x3_rc2::IfcFaceBound::Orientation() const { bool v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcFaceBound::setOrientation(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -16399,7 +16600,7 @@ Ifc4x3_rc2::IfcFaceOuterBound::IfcFaceOuterBound(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc2::IfcFaceOuterBound::IfcFaceOuterBound(::Ifc4x3_rc2::IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcFaceOuterBound_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Bound));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Orientation));data_->setArgument(1,attr);} } // Function implementations for IfcFaceSurface -::Ifc4x3_rc2::IfcSurface* Ifc4x3_rc2::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcSurface>(); } +::Ifc4x3_rc2::IfcSurface* Ifc4x3_rc2::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcSurface>(true); } void Ifc4x3_rc2::IfcFaceSurface::setFaceSurface(::Ifc4x3_rc2::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } bool Ifc4x3_rc2::IfcFaceSurface::SameSense() const { bool v = *data_->getArgument(2); return v; } void Ifc4x3_rc2::IfcFaceSurface::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -16437,7 +16638,7 @@ Ifc4x3_rc2::IfcFacility::IfcFacility(IfcEntityInstanceData* e) : IfcSpatialStruc Ifc4x3_rc2::IfcFacility::IfcFacility(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialStructureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcFacility_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_LongName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongName));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_CompositionType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_CompositionType,::Ifc4x3_rc2::IfcElementCompositionEnum::ToString(*v9_CompositionType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcFacilityPart -::Ifc4x3_rc2::IfcFacilityPartTypeSelect* Ifc4x3_rc2::IfcFacilityPart::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc2::IfcFacilityPartTypeSelect>(); } +::Ifc4x3_rc2::IfcFacilityPartTypeSelect* Ifc4x3_rc2::IfcFacilityPart::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc2::IfcFacilityPartTypeSelect>(true); } void Ifc4x3_rc2::IfcFacilityPart::setPredefinedType(::Ifc4x3_rc2::IfcFacilityPartTypeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } ::Ifc4x3_rc2::IfcFacilityUsageEnum::Value Ifc4x3_rc2::IfcFacilityPart::UsageType() const { return ::Ifc4x3_rc2::IfcFacilityUsageEnum::FromString(*data_->getArgument(10)); } void Ifc4x3_rc2::IfcFacilityPart::setUsageType(::Ifc4x3_rc2::IfcFacilityUsageEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcFacilityUsageEnum::ToString(v)));data_->setArgument(10,attr);} } @@ -16547,13 +16748,13 @@ Ifc4x3_rc2::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData* e) : IfcPr Ifc4x3_rc2::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of_instance::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelOrDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelOrDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcFillAreaStyleHatching -::Ifc4x3_rc2::IfcCurveStyle* Ifc4x3_rc2::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCurveStyle>(); } +::Ifc4x3_rc2::IfcCurveStyle* Ifc4x3_rc2::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCurveStyle>(true); } void Ifc4x3_rc2::IfcFillAreaStyleHatching::setHatchLineAppearance(::Ifc4x3_rc2::IfcCurveStyle* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc2::IfcHatchLineDistanceSelect* Ifc4x3_rc2::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcHatchLineDistanceSelect>(); } +::Ifc4x3_rc2::IfcHatchLineDistanceSelect* Ifc4x3_rc2::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcHatchLineDistanceSelect>(true); } void Ifc4x3_rc2::IfcFillAreaStyleHatching::setStartOfNextHatchLine(::Ifc4x3_rc2::IfcHatchLineDistanceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(); } +::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(true); } void Ifc4x3_rc2::IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(::Ifc4x3_rc2::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcFillAreaStyleHatching::PatternStart() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(); } +::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcFillAreaStyleHatching::PatternStart() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(true); } void Ifc4x3_rc2::IfcFillAreaStyleHatching::setPatternStart(::Ifc4x3_rc2::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } double Ifc4x3_rc2::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc2::IfcFillAreaStyleHatching::setHatchLineAngle(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -16619,7 +16820,7 @@ Ifc4x3_rc2::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(IfcEn Ifc4x3_rc2::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcFireSuppressionTerminalType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcFixedReferenceSweptAreaSolid -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcDirection>(); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcFixedReferenceSweptAreaSolid::setFixedReference(::Ifc4x3_rc2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -16871,9 +17072,9 @@ int Ifc4x3_rc2::IfcGeometricRepresentationContext::CoordinateSpaceDimension() co void Ifc4x3_rc2::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc2::IfcGeometricRepresentationContext::Precision() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4x3_rc2::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } -::Ifc4x3_rc2::IfcAxis2Placement* Ifc4x3_rc2::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcAxis2Placement>(); } +::Ifc4x3_rc2::IfcAxis2Placement* Ifc4x3_rc2::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcAxis2Placement>(true); } void Ifc4x3_rc2::IfcGeometricRepresentationContext::setWorldCoordinateSystem(::Ifc4x3_rc2::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcGeometricRepresentationContext::TrueNorth() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcDirection>(); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcGeometricRepresentationContext::TrueNorth() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcGeometricRepresentationContext::setTrueNorth(::Ifc4x3_rc2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4x3_rc2::IfcGeometricRepresentationSubContext::list::ptr Ifc4x3_rc2::IfcGeometricRepresentationContext::HasSubContexts() const { return data_->getInverse(IFC4X3_RC2_IfcGeometricRepresentationSubContext_type, 6)->as(); } @@ -16893,7 +17094,7 @@ Ifc4x3_rc2::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem(IfcEn Ifc4x3_rc2::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcGeometricRepresentationItem_type); } // Function implementations for IfcGeometricRepresentationSubContext -::Ifc4x3_rc2::IfcGeometricRepresentationContext* Ifc4x3_rc2::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcGeometricRepresentationContext>(); } +::Ifc4x3_rc2::IfcGeometricRepresentationContext* Ifc4x3_rc2::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcGeometricRepresentationContext>(true); } void Ifc4x3_rc2::IfcGeometricRepresentationSubContext::setParentContext(::Ifc4x3_rc2::IfcGeometricRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc2::IfcGeometricRepresentationSubContext::TargetScale() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4x3_rc2::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } @@ -16959,11 +17160,11 @@ Ifc4x3_rc2::IfcGeotechnicalStratum::IfcGeotechnicalStratum(IfcEntityInstanceData Ifc4x3_rc2::IfcGeotechnicalStratum::IfcGeotechnicalStratum(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcGeotechnicalStratum_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcGradientCurve -::Ifc4x3_rc2::IfcBoundedCurve* Ifc4x3_rc2::IfcGradientCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcBoundedCurve>(); } +::Ifc4x3_rc2::IfcBoundedCurve* Ifc4x3_rc2::IfcGradientCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcBoundedCurve>(true); } void Ifc4x3_rc2::IfcGradientCurve::setBaseCurve(::Ifc4x3_rc2::IfcBoundedCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x3_rc2::IfcCurveSegment >::ptr Ifc4x3_rc2::IfcGradientCurve::Segments() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc2::IfcCurveSegment >(); } void Ifc4x3_rc2::IfcGradientCurve::setSegments(aggregate_of< ::Ifc4x3_rc2::IfcCurveSegment >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } -::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcGradientCurve::EndPoint() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(); } +::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcGradientCurve::EndPoint() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(true); } void Ifc4x3_rc2::IfcGradientCurve::setEndPoint(::Ifc4x3_rc2::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -16991,7 +17192,7 @@ Ifc4x3_rc2::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHist // Function implementations for IfcGridAxis boost::optional< std::string > Ifc4x3_rc2::IfcGridAxis::AxisTag() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc2::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcCurve>(); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcGridAxis::setAxisCurve(::Ifc4x3_rc2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } bool Ifc4x3_rc2::IfcGridAxis::SameSense() const { bool v = *data_->getArgument(2); return v; } void Ifc4x3_rc2::IfcGridAxis::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -17007,9 +17208,9 @@ Ifc4x3_rc2::IfcGridAxis::IfcGridAxis(IfcEntityInstanceData* e) : IfcUtil::IfcBas Ifc4x3_rc2::IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, ::Ifc4x3_rc2::IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcGridAxis_type); if (v1_AxisTag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_AxisTag));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_AxisCurve));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SameSense));data_->setArgument(2,attr);} } // Function implementations for IfcGridPlacement -::Ifc4x3_rc2::IfcVirtualGridIntersection* Ifc4x3_rc2::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcVirtualGridIntersection>(); } +::Ifc4x3_rc2::IfcVirtualGridIntersection* Ifc4x3_rc2::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcVirtualGridIntersection>(true); } void Ifc4x3_rc2::IfcGridPlacement::setPlacementLocation(::Ifc4x3_rc2::IfcVirtualGridIntersection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc2::IfcGridPlacementDirectionSelect* Ifc4x3_rc2::IfcGridPlacement::PlacementRefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcGridPlacementDirectionSelect>(); } +::Ifc4x3_rc2::IfcGridPlacementDirectionSelect* Ifc4x3_rc2::IfcGridPlacement::PlacementRefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcGridPlacementDirectionSelect>(true); } void Ifc4x3_rc2::IfcGridPlacement::setPlacementRefDirection(::Ifc4x3_rc2::IfcGridPlacementDirectionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -17028,7 +17229,7 @@ Ifc4x3_rc2::IfcGroup::IfcGroup(IfcEntityInstanceData* e) : IfcObject((IfcEntityI Ifc4x3_rc2::IfcGroup::IfcGroup(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcGroup_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcHalfSpaceSolid -::Ifc4x3_rc2::IfcSurface* Ifc4x3_rc2::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcSurface>(); } +::Ifc4x3_rc2::IfcSurface* Ifc4x3_rc2::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcSurface>(true); } void Ifc4x3_rc2::IfcHalfSpaceSolid::setBaseSurface(::Ifc4x3_rc2::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } bool Ifc4x3_rc2::IfcHalfSpaceSolid::AgreementFlag() const { bool v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcHalfSpaceSolid::setAgreementFlag(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17112,7 +17313,7 @@ Ifc4x3_rc2::IfcImageTexture::IfcImageTexture(IfcEntityInstanceData* e) : IfcSurf Ifc4x3_rc2::IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) : IfcSurfaceTexture((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcImageTexture_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_RepeatS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RepeatT));data_->setArgument(1,attr);} if (v3_Mode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Mode));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TextureTransform));data_->setArgument(3,attr);} if (v5_Parameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Parameter));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_URLReference));data_->setArgument(5,attr);} } // Function implementations for IfcImpactProtectionDevice -::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc2::IfcImpactProtectionDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect>(); } +::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc2::IfcImpactProtectionDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect>(true); } void Ifc4x3_rc2::IfcImpactProtectionDevice::setPredefinedType(::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -17122,7 +17323,7 @@ Ifc4x3_rc2::IfcImpactProtectionDevice::IfcImpactProtectionDevice(IfcEntityInstan Ifc4x3_rc2::IfcImpactProtectionDevice::IfcImpactProtectionDevice(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect* v9_PredefinedType) : IfcElementComponent((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcImpactProtectionDevice_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_PredefinedType));data_->setArgument(8,attr);} } // Function implementations for IfcImpactProtectionDeviceType -::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc2::IfcImpactProtectionDeviceType::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect>(); } +::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc2::IfcImpactProtectionDeviceType::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect>(true); } void Ifc4x3_rc2::IfcImpactProtectionDeviceType::setPredefinedType(::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -17134,7 +17335,7 @@ Ifc4x3_rc2::IfcImpactProtectionDeviceType::IfcImpactProtectionDeviceType(std::st // Function implementations for IfcInclinedReferenceSweptAreaSolid boost::optional< bool > Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid::FixedAxisVertical() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } bool v = *data_->getArgument(5); return v; } void Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid::setFixedAxisVertical(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4x3_rc2::IfcAxisLateralInclination* Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid::Inclinating() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcAxisLateralInclination>(); } +::Ifc4x3_rc2::IfcAxisLateralInclination* Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid::Inclinating() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcAxisLateralInclination>(true); } void Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid::setInclinating(::Ifc4x3_rc2::IfcAxisLateralInclination* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -17144,11 +17345,11 @@ Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid::IfcInclinedReferenceSweptAreaSol Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid::IfcInclinedReferenceSweptAreaSolid(::Ifc4x3_rc2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc2::IfcCurve* v3_Directrix, ::Ifc4x3_rc2::IfcPointByDistanceExpression* v4_StartDistance, ::Ifc4x3_rc2::IfcPointByDistanceExpression* v5_EndDistance, boost::optional< bool > v6_FixedAxisVertical, ::Ifc4x3_rc2::IfcAxisLateralInclination* v7_Inclinating) : IfcDirectrixDistanceSweptAreaSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcInclinedReferenceSweptAreaSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Directrix));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_StartDistance));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_EndDistance));data_->setArgument(4,attr);} if (v6_FixedAxisVertical) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_FixedAxisVertical));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Inclinating));data_->setArgument(6,attr);} } // Function implementations for IfcIndexedColourMap -::Ifc4x3_rc2::IfcTessellatedFaceSet* Ifc4x3_rc2::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcTessellatedFaceSet>(); } +::Ifc4x3_rc2::IfcTessellatedFaceSet* Ifc4x3_rc2::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcTessellatedFaceSet>(true); } void Ifc4x3_rc2::IfcIndexedColourMap::setMappedTo(::Ifc4x3_rc2::IfcTessellatedFaceSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4x3_rc2::IfcIndexedColourMap::Opacity() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcIndexedColourMap::setOpacity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4x3_rc2::IfcColourRgbList* Ifc4x3_rc2::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcColourRgbList>(); } +::Ifc4x3_rc2::IfcColourRgbList* Ifc4x3_rc2::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcColourRgbList>(true); } void Ifc4x3_rc2::IfcIndexedColourMap::setColours(::Ifc4x3_rc2::IfcColourRgbList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } std::vector< int > /*[1:?]*/ Ifc4x3_rc2::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } void Ifc4x3_rc2::IfcIndexedColourMap::setColourIndex(std::vector< int > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17160,7 +17361,7 @@ Ifc4x3_rc2::IfcIndexedColourMap::IfcIndexedColourMap(IfcEntityInstanceData* e) : Ifc4x3_rc2::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3_rc2::IfcTessellatedFaceSet* v1_MappedTo, boost::optional< double > v2_Opacity, ::Ifc4x3_rc2::IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcIndexedColourMap_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MappedTo));data_->setArgument(0,attr);} if (v2_Opacity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Opacity));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Colours));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ColourIndex));data_->setArgument(3,attr);} } // Function implementations for IfcIndexedPolyCurve -::Ifc4x3_rc2::IfcCartesianPointList* Ifc4x3_rc2::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCartesianPointList>(); } +::Ifc4x3_rc2::IfcCartesianPointList* Ifc4x3_rc2::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCartesianPointList>(true); } void Ifc4x3_rc2::IfcIndexedPolyCurve::setPoints(::Ifc4x3_rc2::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc2::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } @@ -17195,9 +17396,9 @@ Ifc4x3_rc2::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(I Ifc4x3_rc2::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) : IfcIndexedPolygonalFace((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcIndexedPolygonalFaceWithVoids_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CoordIndex));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_InnerCoordIndices));data_->setArgument(1,attr);} } // Function implementations for IfcIndexedTextureMap -::Ifc4x3_rc2::IfcTessellatedFaceSet* Ifc4x3_rc2::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcTessellatedFaceSet>(); } +::Ifc4x3_rc2::IfcTessellatedFaceSet* Ifc4x3_rc2::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcTessellatedFaceSet>(true); } void Ifc4x3_rc2::IfcIndexedTextureMap::setMappedTo(::Ifc4x3_rc2::IfcTessellatedFaceSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc2::IfcTextureVertexList* Ifc4x3_rc2::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcTextureVertexList>(); } +::Ifc4x3_rc2::IfcTextureVertexList* Ifc4x3_rc2::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcTextureVertexList>(true); } void Ifc4x3_rc2::IfcIndexedTextureMap::setTexCoords(::Ifc4x3_rc2::IfcTextureVertexList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -17247,15 +17448,15 @@ Ifc4x3_rc2::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4x3_rc2::IfcCurve* v // Function implementations for IfcInventory boost::optional< ::Ifc4x3_rc2::IfcInventoryTypeEnum::Value > Ifc4x3_rc2::IfcInventory::PredefinedType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcInventoryTypeEnum::FromString(*data_->getArgument(5)); } void Ifc4x3_rc2::IfcInventory::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcInventoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcInventoryTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } -::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcInventory::Jurisdiction() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcActorSelect>(); } +::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcInventory::Jurisdiction() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } void Ifc4x3_rc2::IfcInventory::setJurisdiction(::Ifc4x3_rc2::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPerson >::ptr > Ifc4x3_rc2::IfcInventory::ResponsiblePersons() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc2::IfcPerson >(); } void Ifc4x3_rc2::IfcInventory::setResponsiblePersons(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcInventory::LastUpdateDate() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc4x3_rc2::IfcInventory::setLastUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } -::Ifc4x3_rc2::IfcCostValue* Ifc4x3_rc2::IfcInventory::CurrentValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc2::IfcCostValue>(); } +::Ifc4x3_rc2::IfcCostValue* Ifc4x3_rc2::IfcInventory::CurrentValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc2::IfcCostValue>(true); } void Ifc4x3_rc2::IfcInventory::setCurrentValue(::Ifc4x3_rc2::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -::Ifc4x3_rc2::IfcCostValue* Ifc4x3_rc2::IfcInventory::OriginalValue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc2::IfcCostValue>(); } +::Ifc4x3_rc2::IfcCostValue* Ifc4x3_rc2::IfcInventory::OriginalValue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc2::IfcCostValue>(true); } void Ifc4x3_rc2::IfcInventory::setOriginalValue(::Ifc4x3_rc2::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -17367,7 +17568,7 @@ Ifc4x3_rc2::IfcLaborResourceType::IfcLaborResourceType(IfcEntityInstanceData* e) Ifc4x3_rc2::IfcLaborResourceType::IfcLaborResourceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcLaborResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4x3_rc2::IfcLaborResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcLagTime -::Ifc4x3_rc2::IfcTimeOrRatioSelect* Ifc4x3_rc2::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcTimeOrRatioSelect>(); } +::Ifc4x3_rc2::IfcTimeOrRatioSelect* Ifc4x3_rc2::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcTimeOrRatioSelect>(true); } void Ifc4x3_rc2::IfcLagTime::setLagValue(::Ifc4x3_rc2::IfcTimeOrRatioSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3_rc2::IfcTaskDurationEnum::Value Ifc4x3_rc2::IfcLagTime::DurationType() const { return ::Ifc4x3_rc2::IfcTaskDurationEnum::FromString(*data_->getArgument(4)); } void Ifc4x3_rc2::IfcLagTime::setDurationType(::Ifc4x3_rc2::IfcTaskDurationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcTaskDurationEnum::ToString(v)));data_->setArgument(4,attr);} } @@ -17403,7 +17604,7 @@ std::string Ifc4x3_rc2::IfcLibraryInformation::Name() const { std::string v = * void Ifc4x3_rc2::IfcLibraryInformation::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcLibraryInformation::Version() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcLibraryInformation::Publisher() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcActorSelect>(); } +::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcLibraryInformation::Publisher() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } void Ifc4x3_rc2::IfcLibraryInformation::setPublisher(::Ifc4x3_rc2::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcLibraryInformation::VersionDate() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x3_rc2::IfcLibraryInformation::setVersionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } @@ -17425,7 +17626,7 @@ boost::optional< std::string > Ifc4x3_rc2::IfcLibraryReference::Description() co void Ifc4x3_rc2::IfcLibraryReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcLibraryReference::Language() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc2::IfcLibraryReference::setLanguage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc4x3_rc2::IfcLibraryInformation* Ifc4x3_rc2::IfcLibraryReference::ReferencedLibrary() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcLibraryInformation>(); } +::Ifc4x3_rc2::IfcLibraryInformation* Ifc4x3_rc2::IfcLibraryReference::ReferencedLibrary() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcLibraryInformation>(true); } void Ifc4x3_rc2::IfcLibraryReference::setReferencedLibrary(::Ifc4x3_rc2::IfcLibraryInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4x3_rc2::IfcRelAssociatesLibrary::list::ptr Ifc4x3_rc2::IfcLibraryReference::LibraryRefForObjects() const { return data_->getInverse(IFC4X3_RC2_IfcRelAssociatesLibrary_type, 5)->as(); } @@ -17484,7 +17685,7 @@ Ifc4x3_rc2::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4x // Function implementations for IfcLightSource boost::optional< std::string > Ifc4x3_rc2::IfcLightSource::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc2::IfcLightSource::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } -::Ifc4x3_rc2::IfcColourRgb* Ifc4x3_rc2::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcColourRgb>(); } +::Ifc4x3_rc2::IfcColourRgb* Ifc4x3_rc2::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcColourRgb>(true); } void Ifc4x3_rc2::IfcLightSource::setLightColour(::Ifc4x3_rc2::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc2::IfcLightSource::AmbientIntensity() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } void Ifc4x3_rc2::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } @@ -17506,7 +17707,7 @@ Ifc4x3_rc2::IfcLightSourceAmbient::IfcLightSourceAmbient(IfcEntityInstanceData* Ifc4x3_rc2::IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcLightSource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcLightSourceAmbient_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcLightSourceDirectional -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcDirection>(); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcLightSourceDirectional::setOrientation(::Ifc4x3_rc2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -17516,9 +17717,9 @@ Ifc4x3_rc2::IfcLightSourceDirectional::IfcLightSourceDirectional(IfcEntityInstan Ifc4x3_rc2::IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc2::IfcDirection* v5_Orientation) : IfcLightSource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcLightSourceDirectional_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Orientation));data_->setArgument(4,attr);} } // Function implementations for IfcLightSourceGoniometric -::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(); } +::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(true); } void Ifc4x3_rc2::IfcLightSourceGoniometric::setPosition(::Ifc4x3_rc2::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc2::IfcColourRgb* Ifc4x3_rc2::IfcLightSourceGoniometric::ColourAppearance() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcColourRgb>(); } +::Ifc4x3_rc2::IfcColourRgb* Ifc4x3_rc2::IfcLightSourceGoniometric::ColourAppearance() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcColourRgb>(true); } void Ifc4x3_rc2::IfcLightSourceGoniometric::setColourAppearance(::Ifc4x3_rc2::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } double Ifc4x3_rc2::IfcLightSourceGoniometric::ColourTemperature() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc2::IfcLightSourceGoniometric::setColourTemperature(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -17526,7 +17727,7 @@ double Ifc4x3_rc2::IfcLightSourceGoniometric::LuminousFlux() const { double v = void Ifc4x3_rc2::IfcLightSourceGoniometric::setLuminousFlux(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x3_rc2::IfcLightEmissionSourceEnum::Value Ifc4x3_rc2::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4x3_rc2::IfcLightEmissionSourceEnum::FromString(*data_->getArgument(8)); } void Ifc4x3_rc2::IfcLightSourceGoniometric::setLightEmissionSource(::Ifc4x3_rc2::IfcLightEmissionSourceEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcLightEmissionSourceEnum::ToString(v)));data_->setArgument(8,attr);} } -::Ifc4x3_rc2::IfcLightDistributionDataSourceSelect* Ifc4x3_rc2::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc2::IfcLightDistributionDataSourceSelect>(); } +::Ifc4x3_rc2::IfcLightDistributionDataSourceSelect* Ifc4x3_rc2::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc2::IfcLightDistributionDataSourceSelect>(true); } void Ifc4x3_rc2::IfcLightSourceGoniometric::setLightDistributionDataSource(::Ifc4x3_rc2::IfcLightDistributionDataSourceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -17536,7 +17737,7 @@ Ifc4x3_rc2::IfcLightSourceGoniometric::IfcLightSourceGoniometric(IfcEntityInstan Ifc4x3_rc2::IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc2::IfcAxis2Placement3D* v5_Position, ::Ifc4x3_rc2::IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_rc2::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_rc2::IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcLightSourceGoniometric_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Position));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ColourAppearance));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ColourTemperature));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LuminousFlux));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_LightEmissionSource,::Ifc4x3_rc2::IfcLightEmissionSourceEnum::ToString(v9_LightEmissionSource))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_LightDistributionDataSource));data_->setArgument(9,attr);} } // Function implementations for IfcLightSourcePositional -::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(); } +::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(true); } void Ifc4x3_rc2::IfcLightSourcePositional::setPosition(::Ifc4x3_rc2::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } double Ifc4x3_rc2::IfcLightSourcePositional::Radius() const { double v = *data_->getArgument(5); return v; } void Ifc4x3_rc2::IfcLightSourcePositional::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17554,7 +17755,7 @@ Ifc4x3_rc2::IfcLightSourcePositional::IfcLightSourcePositional(IfcEntityInstance Ifc4x3_rc2::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc2::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) : IfcLightSource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcLightSourcePositional_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Position));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Radius));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConstantAttenuation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_DistanceAttenuation));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_QuadricAttenuation));data_->setArgument(8,attr);} } // Function implementations for IfcLightSourceSpot -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc2::IfcDirection>(); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcLightSourceSpot::setOrientation(::Ifc4x3_rc2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc2::IfcLightSourceSpot::ConcentrationExponent() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } void Ifc4x3_rc2::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } @@ -17570,9 +17771,9 @@ Ifc4x3_rc2::IfcLightSourceSpot::IfcLightSourceSpot(IfcEntityInstanceData* e) : I Ifc4x3_rc2::IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc2::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_rc2::IfcDirection* v10_Orientation, boost::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) : IfcLightSourcePositional((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcLightSourceSpot_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Position));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Radius));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConstantAttenuation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_DistanceAttenuation));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_QuadricAttenuation));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_Orientation));data_->setArgument(9,attr);} if (v11_ConcentrationExponent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_ConcentrationExponent));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_SpreadAngle));data_->setArgument(11,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v13_BeamWidthAngle));data_->setArgument(12,attr);} } // Function implementations for IfcLine -::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(); } +::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(true); } void Ifc4x3_rc2::IfcLine::setPnt(::Ifc4x3_rc2::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc2::IfcVector* Ifc4x3_rc2::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcVector>(); } +::Ifc4x3_rc2::IfcVector* Ifc4x3_rc2::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcVector>(true); } void Ifc4x3_rc2::IfcLine::setDir(::Ifc4x3_rc2::IfcVector* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17590,9 +17791,9 @@ Ifc4x3_rc2::IfcLineSegment2D::IfcLineSegment2D(IfcEntityInstanceData* e) : IfcCu Ifc4x3_rc2::IfcLineSegment2D::IfcLineSegment2D(::Ifc4x3_rc2::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) : IfcCurveSegment2D((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcLineSegment2D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_StartPoint));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_StartDirection));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SegmentLength));data_->setArgument(2,attr);} } // Function implementations for IfcLinearAxisWithInclination -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcLinearAxisWithInclination::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCurve>(); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcLinearAxisWithInclination::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcLinearAxisWithInclination::setDirectrix(::Ifc4x3_rc2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc2::IfcAxisLateralInclination* Ifc4x3_rc2::IfcLinearAxisWithInclination::Inclinating() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcAxisLateralInclination>(); } +::Ifc4x3_rc2::IfcAxisLateralInclination* Ifc4x3_rc2::IfcLinearAxisWithInclination::Inclinating() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcAxisLateralInclination>(true); } void Ifc4x3_rc2::IfcLinearAxisWithInclination::setInclinating(::Ifc4x3_rc2::IfcAxisLateralInclination* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17610,13 +17811,13 @@ Ifc4x3_rc2::IfcLinearElement::IfcLinearElement(IfcEntityInstanceData* e) : IfcPr Ifc4x3_rc2::IfcLinearElement::IfcLinearElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation) : IfcProduct((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcLinearElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} } // Function implementations for IfcLinearPlacement -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcLinearPlacement::PlacementMeasuredAlong() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcCurve>(); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcLinearPlacement::PlacementMeasuredAlong() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcLinearPlacement::setPlacementMeasuredAlong(::Ifc4x3_rc2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc2::IfcPointByDistanceExpression* Ifc4x3_rc2::IfcLinearPlacement::Distance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcPointByDistanceExpression>(); } +::Ifc4x3_rc2::IfcPointByDistanceExpression* Ifc4x3_rc2::IfcLinearPlacement::Distance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcPointByDistanceExpression>(true); } void Ifc4x3_rc2::IfcLinearPlacement::setDistance(::Ifc4x3_rc2::IfcPointByDistanceExpression* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc2::IfcAxis2PlacementLinear* Ifc4x3_rc2::IfcLinearPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcAxis2PlacementLinear>(); } +::Ifc4x3_rc2::IfcAxis2PlacementLinear* Ifc4x3_rc2::IfcLinearPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcAxis2PlacementLinear>(true); } void Ifc4x3_rc2::IfcLinearPlacement::setRelativePlacement(::Ifc4x3_rc2::IfcAxis2PlacementLinear* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcLinearPlacement::CartesianPosition() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(); } +::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcLinearPlacement::CartesianPosition() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(true); } void Ifc4x3_rc2::IfcLinearPlacement::setCartesianPosition(::Ifc4x3_rc2::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -17626,7 +17827,7 @@ Ifc4x3_rc2::IfcLinearPlacement::IfcLinearPlacement(IfcEntityInstanceData* e) : I Ifc4x3_rc2::IfcLinearPlacement::IfcLinearPlacement(::Ifc4x3_rc2::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc2::IfcCurve* v2_PlacementMeasuredAlong, ::Ifc4x3_rc2::IfcPointByDistanceExpression* v3_Distance, ::Ifc4x3_rc2::IfcAxis2PlacementLinear* v4_RelativePlacement, ::Ifc4x3_rc2::IfcAxis2Placement3D* v5_CartesianPosition) : IfcObjectPlacement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcLinearPlacement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_PlacementRelTo));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PlacementMeasuredAlong));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Distance));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelativePlacement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_CartesianPosition));data_->setArgument(4,attr);} } // Function implementations for IfcLinearPlacementWithInclination -::Ifc4x3_rc2::IfcAxisLateralInclination* Ifc4x3_rc2::IfcLinearPlacementWithInclination::Inclinating() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcAxisLateralInclination>(); } +::Ifc4x3_rc2::IfcAxisLateralInclination* Ifc4x3_rc2::IfcLinearPlacementWithInclination::Inclinating() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcAxisLateralInclination>(true); } void Ifc4x3_rc2::IfcLinearPlacementWithInclination::setInclinating(::Ifc4x3_rc2::IfcAxisLateralInclination* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17636,7 +17837,7 @@ Ifc4x3_rc2::IfcLinearPlacementWithInclination::IfcLinearPlacementWithInclination Ifc4x3_rc2::IfcLinearPlacementWithInclination::IfcLinearPlacementWithInclination(::Ifc4x3_rc2::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc2::IfcCurve* v2_PlacementMeasuredAlong, ::Ifc4x3_rc2::IfcPointByDistanceExpression* v3_Distance, ::Ifc4x3_rc2::IfcAxis2PlacementLinear* v4_RelativePlacement, ::Ifc4x3_rc2::IfcAxis2Placement3D* v5_CartesianPosition, ::Ifc4x3_rc2::IfcAxisLateralInclination* v6_Inclinating) : IfcLinearPlacement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcLinearPlacementWithInclination_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_PlacementRelTo));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PlacementMeasuredAlong));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Distance));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelativePlacement));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_CartesianPosition));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Inclinating));data_->setArgument(5,attr);} } // Function implementations for IfcLinearPositioningElement -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcLinearPositioningElement::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc2::IfcCurve>(); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcLinearPositioningElement::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcLinearPositioningElement::setAxis(::Ifc4x3_rc2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -17676,7 +17877,7 @@ Ifc4x3_rc2::IfcLiquidTerminalType::IfcLiquidTerminalType(IfcEntityInstanceData* Ifc4x3_rc2::IfcLiquidTerminalType::IfcLiquidTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcLiquidTerminalType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcLocalPlacement -::Ifc4x3_rc2::IfcAxis2Placement* Ifc4x3_rc2::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcAxis2Placement>(); } +::Ifc4x3_rc2::IfcAxis2Placement* Ifc4x3_rc2::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcAxis2Placement>(true); } void Ifc4x3_rc2::IfcLocalPlacement::setRelativePlacement(::Ifc4x3_rc2::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17694,7 +17895,7 @@ Ifc4x3_rc2::IfcLoop::IfcLoop(IfcEntityInstanceData* e) : IfcTopologicalRepresent Ifc4x3_rc2::IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcLoop_type); } // Function implementations for IfcManifoldSolidBrep -::Ifc4x3_rc2::IfcClosedShell* Ifc4x3_rc2::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcClosedShell>(); } +::Ifc4x3_rc2::IfcClosedShell* Ifc4x3_rc2::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcClosedShell>(true); } void Ifc4x3_rc2::IfcManifoldSolidBrep::setOuter(::Ifc4x3_rc2::IfcClosedShell* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -17724,9 +17925,9 @@ Ifc4x3_rc2::IfcMapConversion::IfcMapConversion(IfcEntityInstanceData* e) : IfcCo Ifc4x3_rc2::IfcMapConversion::IfcMapConversion(::Ifc4x3_rc2::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_rc2::IfcCoordinateReferenceSystem* v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, boost::optional< double > v6_XAxisAbscissa, boost::optional< double > v7_XAxisOrdinate, boost::optional< double > v8_Scale) : IfcCoordinateOperation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcMapConversion_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SourceCRS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TargetCRS));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Eastings));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Northings));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_OrthogonalHeight));data_->setArgument(4,attr);} if (v6_XAxisAbscissa) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_XAxisAbscissa));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_XAxisOrdinate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_XAxisOrdinate));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Scale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Scale));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcMappedItem -::Ifc4x3_rc2::IfcRepresentationMap* Ifc4x3_rc2::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcRepresentationMap>(); } +::Ifc4x3_rc2::IfcRepresentationMap* Ifc4x3_rc2::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcRepresentationMap>(true); } void Ifc4x3_rc2::IfcMappedItem::setMappingSource(::Ifc4x3_rc2::IfcRepresentationMap* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc2::IfcCartesianTransformationOperator* Ifc4x3_rc2::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcCartesianTransformationOperator>(); } +::Ifc4x3_rc2::IfcCartesianTransformationOperator* Ifc4x3_rc2::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcCartesianTransformationOperator>(true); } void Ifc4x3_rc2::IfcMappedItem::setMappingTarget(::Ifc4x3_rc2::IfcCartesianTransformationOperator* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17765,7 +17966,7 @@ Ifc4x3_rc2::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std:: // Function implementations for IfcMaterialClassificationRelationship aggregate_of_instance::ptr Ifc4x3_rc2::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } void Ifc4x3_rc2::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc2::IfcMaterial* Ifc4x3_rc2::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcMaterial>(); } +::Ifc4x3_rc2::IfcMaterial* Ifc4x3_rc2::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcMaterial>(true); } void Ifc4x3_rc2::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x3_rc2::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17779,7 +17980,7 @@ boost::optional< std::string > Ifc4x3_rc2::IfcMaterialConstituent::Name() const void Ifc4x3_rc2::IfcMaterialConstituent::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcMaterialConstituent::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcMaterialConstituent::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4x3_rc2::IfcMaterial* Ifc4x3_rc2::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcMaterial>(); } +::Ifc4x3_rc2::IfcMaterial* Ifc4x3_rc2::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcMaterial>(true); } void Ifc4x3_rc2::IfcMaterialConstituent::setMaterial(::Ifc4x3_rc2::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc2::IfcMaterialConstituent::Fraction() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4x3_rc2::IfcMaterialConstituent::setFraction(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } @@ -17819,7 +18020,7 @@ Ifc4x3_rc2::IfcMaterialDefinition::IfcMaterialDefinition(IfcEntityInstanceData* Ifc4x3_rc2::IfcMaterialDefinition::IfcMaterialDefinition() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcMaterialDefinition_type); } // Function implementations for IfcMaterialDefinitionRepresentation -::Ifc4x3_rc2::IfcMaterial* Ifc4x3_rc2::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcMaterial>(); } +::Ifc4x3_rc2::IfcMaterial* Ifc4x3_rc2::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcMaterial>(true); } void Ifc4x3_rc2::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(::Ifc4x3_rc2::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17829,7 +18030,7 @@ Ifc4x3_rc2::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresenta Ifc4x3_rc2::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcRepresentation >::ptr v3_Representations, ::Ifc4x3_rc2::IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcMaterialDefinitionRepresentation_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Representations)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RepresentedMaterial));data_->setArgument(3,attr);} } // Function implementations for IfcMaterialLayer -::Ifc4x3_rc2::IfcMaterial* Ifc4x3_rc2::IfcMaterialLayer::Material() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcMaterial>(); } +::Ifc4x3_rc2::IfcMaterial* Ifc4x3_rc2::IfcMaterialLayer::Material() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcMaterial>(true); } void Ifc4x3_rc2::IfcMaterialLayer::setMaterial(::Ifc4x3_rc2::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x3_rc2::IfcMaterialLayer::LayerThickness() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcMaterialLayer::setLayerThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17866,7 +18067,7 @@ Ifc4x3_rc2::IfcMaterialLayerSet::IfcMaterialLayerSet(IfcEntityInstanceData* e) : Ifc4x3_rc2::IfcMaterialLayerSet::IfcMaterialLayerSet(aggregate_of< ::Ifc4x3_rc2::IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName, boost::optional< std::string > v3_Description) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcMaterialLayerSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialLayers)->generalize());data_->setArgument(0,attr);} if (v2_LayerSetName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_LayerSetName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialLayerSetUsage -::Ifc4x3_rc2::IfcMaterialLayerSet* Ifc4x3_rc2::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcMaterialLayerSet>(); } +::Ifc4x3_rc2::IfcMaterialLayerSet* Ifc4x3_rc2::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcMaterialLayerSet>(true); } void Ifc4x3_rc2::IfcMaterialLayerSetUsage::setForLayerSet(::Ifc4x3_rc2::IfcMaterialLayerSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4x3_rc2::IfcLayerSetDirectionEnum::Value Ifc4x3_rc2::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4x3_rc2::IfcLayerSetDirectionEnum::FromString(*data_->getArgument(1)); } void Ifc4x3_rc2::IfcMaterialLayerSetUsage::setLayerSetDirection(::Ifc4x3_rc2::IfcLayerSetDirectionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcLayerSetDirectionEnum::ToString(v)));data_->setArgument(1,attr);} } @@ -17910,9 +18111,9 @@ boost::optional< std::string > Ifc4x3_rc2::IfcMaterialProfile::Name() const { if void Ifc4x3_rc2::IfcMaterialProfile::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcMaterialProfile::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcMaterialProfile::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4x3_rc2::IfcMaterial* Ifc4x3_rc2::IfcMaterialProfile::Material() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcMaterial>(); } +::Ifc4x3_rc2::IfcMaterial* Ifc4x3_rc2::IfcMaterialProfile::Material() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcMaterial>(true); } void Ifc4x3_rc2::IfcMaterialProfile::setMaterial(::Ifc4x3_rc2::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcProfileDef>(); } +::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcProfileDef>(true); } void Ifc4x3_rc2::IfcMaterialProfile::setProfile(::Ifc4x3_rc2::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< int > Ifc4x3_rc2::IfcMaterialProfile::Priority() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } void Ifc4x3_rc2::IfcMaterialProfile::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -17933,7 +18134,7 @@ boost::optional< std::string > Ifc4x3_rc2::IfcMaterialProfileSet::Description() void Ifc4x3_rc2::IfcMaterialProfileSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x3_rc2::IfcMaterialProfile >::ptr Ifc4x3_rc2::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc2::IfcMaterialProfile >(); } void Ifc4x3_rc2::IfcMaterialProfileSet::setMaterialProfiles(aggregate_of< ::Ifc4x3_rc2::IfcMaterialProfile >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } -::Ifc4x3_rc2::IfcCompositeProfileDef* Ifc4x3_rc2::IfcMaterialProfileSet::CompositeProfile() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcCompositeProfileDef>(); } +::Ifc4x3_rc2::IfcCompositeProfileDef* Ifc4x3_rc2::IfcMaterialProfileSet::CompositeProfile() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcCompositeProfileDef>(true); } void Ifc4x3_rc2::IfcMaterialProfileSet::setCompositeProfile(::Ifc4x3_rc2::IfcCompositeProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17943,7 +18144,7 @@ Ifc4x3_rc2::IfcMaterialProfileSet::IfcMaterialProfileSet(IfcEntityInstanceData* Ifc4x3_rc2::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcMaterialProfile >::ptr v3_MaterialProfiles, ::Ifc4x3_rc2::IfcCompositeProfileDef* v4_CompositeProfile) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcMaterialProfileSet_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_MaterialProfiles)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_CompositeProfile));data_->setArgument(3,attr);} } // Function implementations for IfcMaterialProfileSetUsage -::Ifc4x3_rc2::IfcMaterialProfileSet* Ifc4x3_rc2::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcMaterialProfileSet>(); } +::Ifc4x3_rc2::IfcMaterialProfileSet* Ifc4x3_rc2::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcMaterialProfileSet>(true); } void Ifc4x3_rc2::IfcMaterialProfileSetUsage::setForProfileSet(::Ifc4x3_rc2::IfcMaterialProfileSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< int > Ifc4x3_rc2::IfcMaterialProfileSetUsage::CardinalPoint() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } int v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcMaterialProfileSetUsage::setCardinalPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } @@ -17957,7 +18158,7 @@ Ifc4x3_rc2::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(IfcEntityInst Ifc4x3_rc2::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4x3_rc2::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent) : IfcMaterialUsageDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcMaterialProfileSetUsage_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ForProfileSet));data_->setArgument(0,attr);} if (v2_CardinalPoint) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_CardinalPoint));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ReferenceExtent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ReferenceExtent));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialProfileSetUsageTapering -::Ifc4x3_rc2::IfcMaterialProfileSet* Ifc4x3_rc2::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcMaterialProfileSet>(); } +::Ifc4x3_rc2::IfcMaterialProfileSet* Ifc4x3_rc2::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcMaterialProfileSet>(true); } void Ifc4x3_rc2::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(::Ifc4x3_rc2::IfcMaterialProfileSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< int > Ifc4x3_rc2::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } void Ifc4x3_rc2::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -17979,7 +18180,7 @@ Ifc4x3_rc2::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(IfcEnti Ifc4x3_rc2::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcMaterial* v3_Material, ::Ifc4x3_rc2::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) : IfcMaterialProfile((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcMaterialProfileWithOffsets_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Material));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Profile));data_->setArgument(3,attr);} if (v5_Priority) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Priority));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Category));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_OffsetValues));data_->setArgument(6,attr);} } // Function implementations for IfcMaterialProperties -::Ifc4x3_rc2::IfcMaterialDefinition* Ifc4x3_rc2::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcMaterialDefinition>(); } +::Ifc4x3_rc2::IfcMaterialDefinition* Ifc4x3_rc2::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcMaterialDefinition>(true); } void Ifc4x3_rc2::IfcMaterialProperties::setMaterial(::Ifc4x3_rc2::IfcMaterialDefinition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17989,7 +18190,7 @@ Ifc4x3_rc2::IfcMaterialProperties::IfcMaterialProperties(IfcEntityInstanceData* Ifc4x3_rc2::IfcMaterialProperties::IfcMaterialProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcProperty >::ptr v3_Properties, ::Ifc4x3_rc2::IfcMaterialDefinition* v4_Material) : IfcExtendedProperties((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcMaterialProperties_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Properties)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Material));data_->setArgument(3,attr);} } // Function implementations for IfcMaterialRelationship -::Ifc4x3_rc2::IfcMaterial* Ifc4x3_rc2::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcMaterial>(); } +::Ifc4x3_rc2::IfcMaterial* Ifc4x3_rc2::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcMaterial>(true); } void Ifc4x3_rc2::IfcMaterialRelationship::setRelatingMaterial(::Ifc4x3_rc2::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4x3_rc2::IfcMaterial >::ptr Ifc4x3_rc2::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc2::IfcMaterial >(); } void Ifc4x3_rc2::IfcMaterialRelationship::setRelatedMaterials(aggregate_of< ::Ifc4x3_rc2::IfcMaterial >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -18012,9 +18213,9 @@ Ifc4x3_rc2::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition(IfcEntityInst Ifc4x3_rc2::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcMaterialUsageDefinition_type); } // Function implementations for IfcMeasureWithUnit -::Ifc4x3_rc2::IfcValue* Ifc4x3_rc2::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcValue>(); } +::Ifc4x3_rc2::IfcValue* Ifc4x3_rc2::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcValue>(true); } void Ifc4x3_rc2::IfcMeasureWithUnit::setValueComponent(::Ifc4x3_rc2::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcUnit>(); } +::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcUnit>(true); } void Ifc4x3_rc2::IfcMeasureWithUnit::setUnitComponent(::Ifc4x3_rc2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -18104,9 +18305,9 @@ Ifc4x3_rc2::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc4x3_rc2:: void Ifc4x3_rc2::IfcMetric::setBenchmark(::Ifc4x3_rc2::IfcBenchmarkEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcBenchmarkEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcMetric::ValueSource() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc4x3_rc2::IfcMetric::setValueSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } -::Ifc4x3_rc2::IfcMetricValueSelect* Ifc4x3_rc2::IfcMetric::DataValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc2::IfcMetricValueSelect>(); } +::Ifc4x3_rc2::IfcMetricValueSelect* Ifc4x3_rc2::IfcMetric::DataValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc2::IfcMetricValueSelect>(true); } void Ifc4x3_rc2::IfcMetric::setDataValue(::Ifc4x3_rc2::IfcMetricValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -::Ifc4x3_rc2::IfcReference* Ifc4x3_rc2::IfcMetric::ReferencePath() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc2::IfcReference>(); } +::Ifc4x3_rc2::IfcReference* Ifc4x3_rc2::IfcMetric::ReferencePath() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc2::IfcReference>(true); } void Ifc4x3_rc2::IfcMetric::setReferencePath(::Ifc4x3_rc2::IfcReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -18194,7 +18395,7 @@ Ifc4x3_rc2::IfcMotorConnectionType::IfcMotorConnectionType(IfcEntityInstanceData Ifc4x3_rc2::IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcMotorConnectionType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcNamedUnit -::Ifc4x3_rc2::IfcDimensionalExponents* Ifc4x3_rc2::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcDimensionalExponents>(); } +::Ifc4x3_rc2::IfcDimensionalExponents* Ifc4x3_rc2::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcDimensionalExponents>(true); } void Ifc4x3_rc2::IfcNamedUnit::setDimensions(::Ifc4x3_rc2::IfcDimensionalExponents* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4x3_rc2::IfcUnitEnum::Value Ifc4x3_rc2::IfcNamedUnit::UnitType() const { return ::Ifc4x3_rc2::IfcUnitEnum::FromString(*data_->getArgument(1)); } void Ifc4x3_rc2::IfcNamedUnit::setUnitType(::Ifc4x3_rc2::IfcUnitEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcUnitEnum::ToString(v)));data_->setArgument(1,attr);} } @@ -18255,7 +18456,7 @@ Ifc4x3_rc2::IfcObjectDefinition::IfcObjectDefinition(IfcEntityInstanceData* e) : Ifc4x3_rc2::IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcObjectDefinition_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcObjectPlacement -::Ifc4x3_rc2::IfcObjectPlacement* Ifc4x3_rc2::IfcObjectPlacement::PlacementRelTo() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcObjectPlacement>(); } +::Ifc4x3_rc2::IfcObjectPlacement* Ifc4x3_rc2::IfcObjectPlacement::PlacementRelTo() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcObjectPlacement>(true); } void Ifc4x3_rc2::IfcObjectPlacement::setPlacementRelTo(::Ifc4x3_rc2::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4x3_rc2::IfcProduct::list::ptr Ifc4x3_rc2::IfcObjectPlacement::PlacesObject() const { return data_->getInverse(IFC4X3_RC2_IfcProduct_type, 5)->as(); } @@ -18292,7 +18493,7 @@ Ifc4x3_rc2::IfcOccupant::IfcOccupant(IfcEntityInstanceData* e) : IfcActor((IfcEn Ifc4x3_rc2::IfcOccupant::IfcOccupant(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcActorSelect* v6_TheActor, boost::optional< ::Ifc4x3_rc2::IfcOccupantTypeEnum::Value > v7_PredefinedType) : IfcActor((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcOccupant_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_TheActor));data_->setArgument(5,attr);} if (v7_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v7_PredefinedType,::Ifc4x3_rc2::IfcOccupantTypeEnum::ToString(*v7_PredefinedType))));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcOffsetCurve -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcOffsetCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCurve>(); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcOffsetCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcOffsetCurve::setBasisCurve(::Ifc4x3_rc2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -18318,7 +18519,7 @@ double Ifc4x3_rc2::IfcOffsetCurve3D::Distance() const { double v = *data_->getA void Ifc4x3_rc2::IfcOffsetCurve3D::setDistance(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::logic::tribool Ifc4x3_rc2::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = *data_->getArgument(2); return v; } void Ifc4x3_rc2::IfcOffsetCurve3D::setSelfIntersect(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcDirection>(); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcOffsetCurve3D::setRefDirection(::Ifc4x3_rc2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -18404,7 +18605,7 @@ Ifc4x3_rc2::IfcOrganization::IfcOrganization(IfcEntityInstanceData* e) : IfcUtil Ifc4x3_rc2::IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorRole >::ptr > v4_Roles, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcOrganization_type); if (v1_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identification));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Roles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Roles)->generalize());data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Addresses) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Addresses)->generalize());data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcOrganizationRelationship -::Ifc4x3_rc2::IfcOrganization* Ifc4x3_rc2::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcOrganization>(); } +::Ifc4x3_rc2::IfcOrganization* Ifc4x3_rc2::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcOrganization>(true); } void Ifc4x3_rc2::IfcOrganizationRelationship::setRelatingOrganization(::Ifc4x3_rc2::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4x3_rc2::IfcOrganization >::ptr Ifc4x3_rc2::IfcOrganizationRelationship::RelatedOrganizations() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc2::IfcOrganization >(); } void Ifc4x3_rc2::IfcOrganizationRelationship::setRelatedOrganizations(aggregate_of< ::Ifc4x3_rc2::IfcOrganization >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -18416,7 +18617,7 @@ Ifc4x3_rc2::IfcOrganizationRelationship::IfcOrganizationRelationship(IfcEntityIn Ifc4x3_rc2::IfcOrganizationRelationship::IfcOrganizationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcOrganization* v3_RelatingOrganization, aggregate_of< ::Ifc4x3_rc2::IfcOrganization >::ptr v4_RelatedOrganizations) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcOrganizationRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingOrganization));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedOrganizations)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcOrientedEdge -::Ifc4x3_rc2::IfcEdge* Ifc4x3_rc2::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcEdge>(); } +::Ifc4x3_rc2::IfcEdge* Ifc4x3_rc2::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcEdge>(true); } void Ifc4x3_rc2::IfcOrientedEdge::setEdgeElement(::Ifc4x3_rc2::IfcEdge* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } bool Ifc4x3_rc2::IfcOrientedEdge::Orientation() const { bool v = *data_->getArgument(3); return v; } void Ifc4x3_rc2::IfcOrientedEdge::setOrientation(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -18456,9 +18657,9 @@ Ifc4x3_rc2::IfcOutletType::IfcOutletType(IfcEntityInstanceData* e) : IfcFlowTerm Ifc4x3_rc2::IfcOutletType::IfcOutletType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcOutletTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcOutletType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc2::IfcOutletTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcOwnerHistory -::Ifc4x3_rc2::IfcPersonAndOrganization* Ifc4x3_rc2::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcPersonAndOrganization>(); } +::Ifc4x3_rc2::IfcPersonAndOrganization* Ifc4x3_rc2::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcPersonAndOrganization>(true); } void Ifc4x3_rc2::IfcOwnerHistory::setOwningUser(::Ifc4x3_rc2::IfcPersonAndOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc2::IfcApplication* Ifc4x3_rc2::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcApplication>(); } +::Ifc4x3_rc2::IfcApplication* Ifc4x3_rc2::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcApplication>(true); } void Ifc4x3_rc2::IfcOwnerHistory::setOwningApplication(::Ifc4x3_rc2::IfcApplication* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< ::Ifc4x3_rc2::IfcStateEnum::Value > Ifc4x3_rc2::IfcOwnerHistory::State() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcStateEnum::FromString(*data_->getArgument(2)); } void Ifc4x3_rc2::IfcOwnerHistory::setState(boost::optional< ::Ifc4x3_rc2::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcStateEnum::ToString(*v)));data_->setArgument(2,attr);} } @@ -18466,9 +18667,9 @@ boost::optional< ::Ifc4x3_rc2::IfcChangeActionEnum::Value > Ifc4x3_rc2::IfcOwner void Ifc4x3_rc2::IfcOwnerHistory::setChangeAction(boost::optional< ::Ifc4x3_rc2::IfcChangeActionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcChangeActionEnum::ToString(*v)));data_->setArgument(3,attr);} } boost::optional< int > Ifc4x3_rc2::IfcOwnerHistory::LastModifiedDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } void Ifc4x3_rc2::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc4x3_rc2::IfcPersonAndOrganization* Ifc4x3_rc2::IfcOwnerHistory::LastModifyingUser() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcPersonAndOrganization>(); } +::Ifc4x3_rc2::IfcPersonAndOrganization* Ifc4x3_rc2::IfcOwnerHistory::LastModifyingUser() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcPersonAndOrganization>(true); } void Ifc4x3_rc2::IfcOwnerHistory::setLastModifyingUser(::Ifc4x3_rc2::IfcPersonAndOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc2::IfcApplication* Ifc4x3_rc2::IfcOwnerHistory::LastModifyingApplication() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcApplication>(); } +::Ifc4x3_rc2::IfcApplication* Ifc4x3_rc2::IfcOwnerHistory::LastModifyingApplication() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcApplication>(true); } void Ifc4x3_rc2::IfcOwnerHistory::setLastModifyingApplication(::Ifc4x3_rc2::IfcApplication* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } int Ifc4x3_rc2::IfcOwnerHistory::CreationDate() const { int v = *data_->getArgument(7); return v; } void Ifc4x3_rc2::IfcOwnerHistory::setCreationDate(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -18480,7 +18681,7 @@ Ifc4x3_rc2::IfcOwnerHistory::IfcOwnerHistory(IfcEntityInstanceData* e) : IfcUtil Ifc4x3_rc2::IfcOwnerHistory::IfcOwnerHistory(::Ifc4x3_rc2::IfcPersonAndOrganization* v1_OwningUser, ::Ifc4x3_rc2::IfcApplication* v2_OwningApplication, boost::optional< ::Ifc4x3_rc2::IfcStateEnum::Value > v3_State, boost::optional< ::Ifc4x3_rc2::IfcChangeActionEnum::Value > v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, ::Ifc4x3_rc2::IfcPersonAndOrganization* v6_LastModifyingUser, ::Ifc4x3_rc2::IfcApplication* v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcOwnerHistory_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_OwningUser));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwningApplication));data_->setArgument(1,attr);} if (v3_State) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v3_State,::Ifc4x3_rc2::IfcStateEnum::ToString(*v3_State))));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_ChangeAction) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v4_ChangeAction,::Ifc4x3_rc2::IfcChangeActionEnum::ToString(*v4_ChangeAction))));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_LastModifiedDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_LastModifiedDate));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LastModifyingUser));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LastModifyingApplication));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_CreationDate));data_->setArgument(7,attr);} } // Function implementations for IfcParameterizedProfileDef -::Ifc4x3_rc2::IfcAxis2Placement2D* Ifc4x3_rc2::IfcParameterizedProfileDef::Position() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcAxis2Placement2D>(); } +::Ifc4x3_rc2::IfcAxis2Placement2D* Ifc4x3_rc2::IfcParameterizedProfileDef::Position() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcAxis2Placement2D>(true); } void Ifc4x3_rc2::IfcParameterizedProfileDef::setPosition(::Ifc4x3_rc2::IfcAxis2Placement2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -18520,9 +18721,9 @@ Ifc4x3_rc2::IfcPavementType::IfcPavementType(IfcEntityInstanceData* e) : IfcBuil Ifc4x3_rc2::IfcPavementType::IfcPavementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, bool v10_Flexible) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPavementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_Flexible));data_->setArgument(9,attr);} } // Function implementations for IfcPcurve -::Ifc4x3_rc2::IfcSurface* Ifc4x3_rc2::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcSurface>(); } +::Ifc4x3_rc2::IfcSurface* Ifc4x3_rc2::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcSurface>(true); } void Ifc4x3_rc2::IfcPcurve::setBasisSurface(::Ifc4x3_rc2::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcCurve>(); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcPcurve::setReferenceCurve(::Ifc4x3_rc2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -18552,7 +18753,7 @@ boost::optional< double > Ifc4x3_rc2::IfcPermeableCoveringProperties::FrameDepth void Ifc4x3_rc2::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc2::IfcPermeableCoveringProperties::FrameThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4x3_rc2::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } -::Ifc4x3_rc2::IfcShapeAspect* Ifc4x3_rc2::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcShapeAspect>(); } +::Ifc4x3_rc2::IfcShapeAspect* Ifc4x3_rc2::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcShapeAspect>(true); } void Ifc4x3_rc2::IfcPermeableCoveringProperties::setShapeAspectStyle(::Ifc4x3_rc2::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -18601,9 +18802,9 @@ Ifc4x3_rc2::IfcPerson::IfcPerson(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEnt Ifc4x3_rc2::IfcPerson::IfcPerson(boost::optional< std::string > v1_Identification, boost::optional< std::string > v2_FamilyName, boost::optional< std::string > v3_GivenName, boost::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorRole >::ptr > v7_Roles, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPerson_type); if (v1_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identification));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_FamilyName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_FamilyName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_GivenName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_GivenName));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_MiddleNames) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_MiddleNames));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_PrefixTitles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_PrefixTitles));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_SuffixTitles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_SuffixTitles));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Roles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Roles)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Addresses) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Addresses)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcPersonAndOrganization -::Ifc4x3_rc2::IfcPerson* Ifc4x3_rc2::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcPerson>(); } +::Ifc4x3_rc2::IfcPerson* Ifc4x3_rc2::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcPerson>(true); } void Ifc4x3_rc2::IfcPersonAndOrganization::setThePerson(::Ifc4x3_rc2::IfcPerson* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc2::IfcOrganization* Ifc4x3_rc2::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcOrganization>(); } +::Ifc4x3_rc2::IfcOrganization* Ifc4x3_rc2::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcOrganization>(true); } void Ifc4x3_rc2::IfcPersonAndOrganization::setTheOrganization(::Ifc4x3_rc2::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorRole >::ptr > Ifc4x3_rc2::IfcPersonAndOrganization::Roles() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc2::IfcActorRole >(); } void Ifc4x3_rc2::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(2,attr);} } @@ -18645,7 +18846,7 @@ Ifc4x3_rc2::IfcPhysicalQuantity::IfcPhysicalQuantity(IfcEntityInstanceData* e) : Ifc4x3_rc2::IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPhysicalQuantity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcPhysicalSimpleQuantity -::Ifc4x3_rc2::IfcNamedUnit* Ifc4x3_rc2::IfcPhysicalSimpleQuantity::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcNamedUnit>(); } +::Ifc4x3_rc2::IfcNamedUnit* Ifc4x3_rc2::IfcPhysicalSimpleQuantity::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcNamedUnit>(true); } void Ifc4x3_rc2::IfcPhysicalSimpleQuantity::setUnit(::Ifc4x3_rc2::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -18733,7 +18934,7 @@ Ifc4x3_rc2::IfcPixelTexture::IfcPixelTexture(IfcEntityInstanceData* e) : IfcSurf Ifc4x3_rc2::IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) : IfcSurfaceTexture((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPixelTexture_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_RepeatS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RepeatT));data_->setArgument(1,attr);} if (v3_Mode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Mode));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TextureTransform));data_->setArgument(3,attr);} if (v5_Parameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Parameter));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Width));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Height));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_ColourComponents));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_Pixel));data_->setArgument(8,attr);} } // Function implementations for IfcPlacement -::Ifc4x3_rc2::IfcPoint* Ifc4x3_rc2::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcPoint>(); } +::Ifc4x3_rc2::IfcPoint* Ifc4x3_rc2::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcPoint>(true); } void Ifc4x3_rc2::IfcPlacement::setLocation(::Ifc4x3_rc2::IfcPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -18743,7 +18944,7 @@ Ifc4x3_rc2::IfcPlacement::IfcPlacement(IfcEntityInstanceData* e) : IfcGeometricR Ifc4x3_rc2::IfcPlacement::IfcPlacement(::Ifc4x3_rc2::IfcPoint* v1_Location) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPlacement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Location));data_->setArgument(0,attr);} } // Function implementations for IfcPlanarBox -::Ifc4x3_rc2::IfcAxis2Placement* Ifc4x3_rc2::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcAxis2Placement>(); } +::Ifc4x3_rc2::IfcAxis2Placement* Ifc4x3_rc2::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcAxis2Placement>(true); } void Ifc4x3_rc2::IfcPlanarBox::setPlacement(::Ifc4x3_rc2::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -18817,7 +19018,7 @@ Ifc4x3_rc2::IfcPoint::IfcPoint(IfcEntityInstanceData* e) : IfcGeometricRepresent Ifc4x3_rc2::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPoint_type); } // Function implementations for IfcPointByDistanceExpression -::Ifc4x3_rc2::IfcCurveMeasureSelect* Ifc4x3_rc2::IfcPointByDistanceExpression::DistanceAlong() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCurveMeasureSelect>(); } +::Ifc4x3_rc2::IfcCurveMeasureSelect* Ifc4x3_rc2::IfcPointByDistanceExpression::DistanceAlong() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCurveMeasureSelect>(true); } void Ifc4x3_rc2::IfcPointByDistanceExpression::setDistanceAlong(::Ifc4x3_rc2::IfcCurveMeasureSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4x3_rc2::IfcPointByDistanceExpression::OffsetLateral() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcPointByDistanceExpression::setOffsetLateral(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } @@ -18825,7 +19026,7 @@ boost::optional< double > Ifc4x3_rc2::IfcPointByDistanceExpression::OffsetVertic void Ifc4x3_rc2::IfcPointByDistanceExpression::setOffsetVertical(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc2::IfcPointByDistanceExpression::OffsetLongitudinal() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4x3_rc2::IfcPointByDistanceExpression::setOffsetLongitudinal(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcPointByDistanceExpression::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcCurve>(); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcPointByDistanceExpression::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcPointByDistanceExpression::setBasisCurve(::Ifc4x3_rc2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -18835,7 +19036,7 @@ Ifc4x3_rc2::IfcPointByDistanceExpression::IfcPointByDistanceExpression(IfcEntity Ifc4x3_rc2::IfcPointByDistanceExpression::IfcPointByDistanceExpression(::Ifc4x3_rc2::IfcCurveMeasureSelect* v1_DistanceAlong, boost::optional< double > v2_OffsetLateral, boost::optional< double > v3_OffsetVertical, boost::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_rc2::IfcCurve* v5_BasisCurve) : IfcPoint((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPointByDistanceExpression_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_DistanceAlong));data_->setArgument(0,attr);} if (v2_OffsetLateral) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_OffsetLateral));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_OffsetVertical) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_OffsetVertical));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_OffsetLongitudinal) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_OffsetLongitudinal));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_BasisCurve));data_->setArgument(4,attr);} } // Function implementations for IfcPointOnCurve -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCurve>(); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcPointOnCurve::setBasisCurve(::Ifc4x3_rc2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x3_rc2::IfcPointOnCurve::PointParameter() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcPointOnCurve::setPointParameter(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -18847,7 +19048,7 @@ Ifc4x3_rc2::IfcPointOnCurve::IfcPointOnCurve(IfcEntityInstanceData* e) : IfcPoin Ifc4x3_rc2::IfcPointOnCurve::IfcPointOnCurve(::Ifc4x3_rc2::IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPointOnCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PointParameter));data_->setArgument(1,attr);} } // Function implementations for IfcPointOnSurface -::Ifc4x3_rc2::IfcSurface* Ifc4x3_rc2::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcSurface>(); } +::Ifc4x3_rc2::IfcSurface* Ifc4x3_rc2::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcSurface>(true); } void Ifc4x3_rc2::IfcPointOnSurface::setBasisSurface(::Ifc4x3_rc2::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x3_rc2::IfcPointOnSurface::PointParameterU() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcPointOnSurface::setPointParameterU(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -18871,9 +19072,9 @@ Ifc4x3_rc2::IfcPolyLoop::IfcPolyLoop(IfcEntityInstanceData* e) : IfcLoop((IfcEnt Ifc4x3_rc2::IfcPolyLoop::IfcPolyLoop(aggregate_of< ::Ifc4x3_rc2::IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPolyLoop_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Polygon)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcPolygonalBoundedHalfSpace -::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(); } +::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(true); } void Ifc4x3_rc2::IfcPolygonalBoundedHalfSpace::setPosition(::Ifc4x3_rc2::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc2::IfcBoundedCurve* Ifc4x3_rc2::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcBoundedCurve>(); } +::Ifc4x3_rc2::IfcBoundedCurve* Ifc4x3_rc2::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcBoundedCurve>(true); } void Ifc4x3_rc2::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(::Ifc4x3_rc2::IfcBoundedCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19095,9 +19296,9 @@ Ifc4x3_rc2::IfcProcess::IfcProcess(IfcEntityInstanceData* e) : IfcObject((IfcEnt Ifc4x3_rc2::IfcProcess::IfcProcess(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcProcess_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcProduct -::Ifc4x3_rc2::IfcObjectPlacement* Ifc4x3_rc2::IfcProduct::ObjectPlacement() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcObjectPlacement>(); } +::Ifc4x3_rc2::IfcObjectPlacement* Ifc4x3_rc2::IfcProduct::ObjectPlacement() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcObjectPlacement>(true); } void Ifc4x3_rc2::IfcProduct::setObjectPlacement(::Ifc4x3_rc2::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc2::IfcProductRepresentation* Ifc4x3_rc2::IfcProduct::Representation() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcProductRepresentation>(); } +::Ifc4x3_rc2::IfcProductRepresentation* Ifc4x3_rc2::IfcProduct::Representation() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcProductRepresentation>(true); } void Ifc4x3_rc2::IfcProduct::setRepresentation(::Ifc4x3_rc2::IfcProductRepresentation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } ::Ifc4x3_rc2::IfcRelAssignsToProduct::list::ptr Ifc4x3_rc2::IfcProduct::ReferencedBy() const { return data_->getInverse(IFC4X3_RC2_IfcRelAssignsToProduct_type, 6)->as(); } @@ -19148,7 +19349,7 @@ Ifc4x3_rc2::IfcProfileDef::IfcProfileDef(IfcEntityInstanceData* e) : IfcUtil::If Ifc4x3_rc2::IfcProfileDef::IfcProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4x3_rc2::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcProfileProperties -::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcProfileDef>(); } +::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcProfileDef>(true); } void Ifc4x3_rc2::IfcProfileProperties::setProfileDefinition(::Ifc4x3_rc2::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19192,7 +19393,7 @@ boost::optional< std::string > Ifc4x3_rc2::IfcProjectedCRS::MapProjection() cons void Ifc4x3_rc2::IfcProjectedCRS::setMapProjection(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcProjectedCRS::MapZone() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x3_rc2::IfcProjectedCRS::setMapZone(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4x3_rc2::IfcNamedUnit* Ifc4x3_rc2::IfcProjectedCRS::MapUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcNamedUnit>(); } +::Ifc4x3_rc2::IfcNamedUnit* Ifc4x3_rc2::IfcProjectedCRS::MapUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcNamedUnit>(true); } void Ifc4x3_rc2::IfcProjectedCRS::setMapUnit(::Ifc4x3_rc2::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -19239,13 +19440,13 @@ Ifc4x3_rc2::IfcPropertyAbstraction::IfcPropertyAbstraction(IfcEntityInstanceData Ifc4x3_rc2::IfcPropertyAbstraction::IfcPropertyAbstraction() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPropertyAbstraction_type); } // Function implementations for IfcPropertyBoundedValue -::Ifc4x3_rc2::IfcValue* Ifc4x3_rc2::IfcPropertyBoundedValue::UpperBoundValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcValue>(); } +::Ifc4x3_rc2::IfcValue* Ifc4x3_rc2::IfcPropertyBoundedValue::UpperBoundValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcValue>(true); } void Ifc4x3_rc2::IfcPropertyBoundedValue::setUpperBoundValue(::Ifc4x3_rc2::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc2::IfcValue* Ifc4x3_rc2::IfcPropertyBoundedValue::LowerBoundValue() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcValue>(); } +::Ifc4x3_rc2::IfcValue* Ifc4x3_rc2::IfcPropertyBoundedValue::LowerBoundValue() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcValue>(true); } void Ifc4x3_rc2::IfcPropertyBoundedValue::setLowerBoundValue(::Ifc4x3_rc2::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcPropertyBoundedValue::Unit() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcUnit>(); } +::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcPropertyBoundedValue::Unit() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcUnit>(true); } void Ifc4x3_rc2::IfcPropertyBoundedValue::setUnit(::Ifc4x3_rc2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc2::IfcValue* Ifc4x3_rc2::IfcPropertyBoundedValue::SetPointValue() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcValue>(); } +::Ifc4x3_rc2::IfcValue* Ifc4x3_rc2::IfcPropertyBoundedValue::SetPointValue() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcValue>(true); } void Ifc4x3_rc2::IfcPropertyBoundedValue::setSetPointValue(::Ifc4x3_rc2::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -19265,9 +19466,9 @@ Ifc4x3_rc2::IfcPropertyDefinition::IfcPropertyDefinition(IfcEntityInstanceData* Ifc4x3_rc2::IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPropertyDefinition_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPropertyDependencyRelationship -::Ifc4x3_rc2::IfcProperty* Ifc4x3_rc2::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcProperty>(); } +::Ifc4x3_rc2::IfcProperty* Ifc4x3_rc2::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcProperty>(true); } void Ifc4x3_rc2::IfcPropertyDependencyRelationship::setDependingProperty(::Ifc4x3_rc2::IfcProperty* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc2::IfcProperty* Ifc4x3_rc2::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcProperty>(); } +::Ifc4x3_rc2::IfcProperty* Ifc4x3_rc2::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcProperty>(true); } void Ifc4x3_rc2::IfcPropertyDependencyRelationship::setDependantProperty(::Ifc4x3_rc2::IfcProperty* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcPropertyDependencyRelationship::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc2::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -19281,7 +19482,7 @@ Ifc4x3_rc2::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship // Function implementations for IfcPropertyEnumeratedValue boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc2::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } void Ifc4x3_rc2::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x3_rc2::IfcPropertyEnumeration* Ifc4x3_rc2::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcPropertyEnumeration>(); } +::Ifc4x3_rc2::IfcPropertyEnumeration* Ifc4x3_rc2::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcPropertyEnumeration>(true); } void Ifc4x3_rc2::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_rc2::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19295,7 +19496,7 @@ std::string Ifc4x3_rc2::IfcPropertyEnumeration::Name() const { std::string v = void Ifc4x3_rc2::IfcPropertyEnumeration::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of_instance::ptr Ifc4x3_rc2::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcPropertyEnumeration::setEnumerationValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcUnit>(); } +::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcUnit>(true); } void Ifc4x3_rc2::IfcPropertyEnumeration::setUnit(::Ifc4x3_rc2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -19307,7 +19508,7 @@ Ifc4x3_rc2::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, // Function implementations for IfcPropertyListValue boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc2::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } void Ifc4x3_rc2::IfcPropertyListValue::setListValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcUnit>(); } +::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcUnit>(true); } void Ifc4x3_rc2::IfcPropertyListValue::setUnit(::Ifc4x3_rc2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19319,7 +19520,7 @@ Ifc4x3_rc2::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boos // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4x3_rc2::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc2::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x3_rc2::IfcObjectReferenceSelect* Ifc4x3_rc2::IfcPropertyReferenceValue::PropertyReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcObjectReferenceSelect>(); } +::Ifc4x3_rc2::IfcObjectReferenceSelect* Ifc4x3_rc2::IfcPropertyReferenceValue::PropertyReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcObjectReferenceSelect>(true); } void Ifc4x3_rc2::IfcPropertyReferenceValue::setPropertyReference(::Ifc4x3_rc2::IfcObjectReferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19365,9 +19566,9 @@ Ifc4x3_rc2::IfcPropertySetTemplate::IfcPropertySetTemplate(IfcEntityInstanceData Ifc4x3_rc2::IfcPropertySetTemplate::IfcPropertySetTemplate(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_ApplicableEntity, aggregate_of< ::Ifc4x3_rc2::IfcPropertyTemplate >::ptr v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcPropertySetTemplate_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_TemplateType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v5_TemplateType,::Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::ToString(*v5_TemplateType))));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ApplicableEntity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ApplicableEntity));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_HasPropertyTemplates)->generalize());data_->setArgument(6,attr);} } // Function implementations for IfcPropertySingleValue -::Ifc4x3_rc2::IfcValue* Ifc4x3_rc2::IfcPropertySingleValue::NominalValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcValue>(); } +::Ifc4x3_rc2::IfcValue* Ifc4x3_rc2::IfcPropertySingleValue::NominalValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcValue>(true); } void Ifc4x3_rc2::IfcPropertySingleValue::setNominalValue(::Ifc4x3_rc2::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcPropertySingleValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcUnit>(); } +::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcPropertySingleValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcUnit>(true); } void Ifc4x3_rc2::IfcPropertySingleValue::setUnit(::Ifc4x3_rc2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19383,9 +19584,9 @@ boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc2::IfcPropertyTableValue: void Ifc4x3_rc2::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc2::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcUnit>(); } +::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcUnit>(true); } void Ifc4x3_rc2::IfcPropertyTableValue::setDefiningUnit(::Ifc4x3_rc2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcPropertyTableValue::DefinedUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcUnit>(); } +::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcPropertyTableValue::DefinedUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcUnit>(true); } void Ifc4x3_rc2::IfcPropertyTableValue::setDefinedUnit(::Ifc4x3_rc2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4x3_rc2::IfcCurveInterpolationEnum::Value > Ifc4x3_rc2::IfcPropertyTableValue::CurveInterpolation() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCurveInterpolationEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc2::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4x3_rc2::IfcCurveInterpolationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcCurveInterpolationEnum::ToString(*v)));data_->setArgument(7,attr);} } @@ -19715,7 +19916,7 @@ Ifc4x3_rc2::IfcRectangularPyramid::IfcRectangularPyramid(IfcEntityInstanceData* Ifc4x3_rc2::IfcRectangularPyramid::IfcRectangularPyramid(::Ifc4x3_rc2::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRectangularPyramid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_XLength));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_YLength));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Height));data_->setArgument(3,attr);} } // Function implementations for IfcRectangularTrimmedSurface -::Ifc4x3_rc2::IfcSurface* Ifc4x3_rc2::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcSurface>(); } +::Ifc4x3_rc2::IfcSurface* Ifc4x3_rc2::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcSurface>(true); } void Ifc4x3_rc2::IfcRectangularTrimmedSurface::setBasisSurface(::Ifc4x3_rc2::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x3_rc2::IfcRectangularTrimmedSurface::U1() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcRectangularTrimmedSurface::setU1(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -19769,7 +19970,7 @@ boost::optional< std::string > Ifc4x3_rc2::IfcReference::InstanceName() const { void Ifc4x3_rc2::IfcReference::setInstanceName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc2::IfcReference::ListPositions() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } void Ifc4x3_rc2::IfcReference::setListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } -::Ifc4x3_rc2::IfcReference* Ifc4x3_rc2::IfcReference::InnerReference() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcReference>(); } +::Ifc4x3_rc2::IfcReference* Ifc4x3_rc2::IfcReference::InnerReference() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcReference>(true); } void Ifc4x3_rc2::IfcReference::setInnerReference(::Ifc4x3_rc2::IfcReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -19959,7 +20160,7 @@ Ifc4x3_rc2::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData Ifc4x3_rc2::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< aggregate_of_instance::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcRelAggregates -::Ifc4x3_rc2::IfcObjectDefinition* Ifc4x3_rc2::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcObjectDefinition>(); } +::Ifc4x3_rc2::IfcObjectDefinition* Ifc4x3_rc2::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcObjectDefinition>(true); } void Ifc4x3_rc2::IfcRelAggregates::setRelatingObject(::Ifc4x3_rc2::IfcObjectDefinition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr Ifc4x3_rc2::IfcRelAggregates::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc2::IfcObjectDefinition >(); } void Ifc4x3_rc2::IfcRelAggregates::setRelatedObjects(aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -19983,9 +20184,9 @@ Ifc4x3_rc2::IfcRelAssigns::IfcRelAssigns(IfcEntityInstanceData* e) : IfcRelation Ifc4x3_rc2::IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssigns_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3_rc2::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } } // Function implementations for IfcRelAssignsToActor -::Ifc4x3_rc2::IfcActor* Ifc4x3_rc2::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcActor>(); } +::Ifc4x3_rc2::IfcActor* Ifc4x3_rc2::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcActor>(true); } void Ifc4x3_rc2::IfcRelAssignsToActor::setRelatingActor(::Ifc4x3_rc2::IfcActor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4x3_rc2::IfcActorRole* Ifc4x3_rc2::IfcRelAssignsToActor::ActingRole() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc2::IfcActorRole>(); } +::Ifc4x3_rc2::IfcActorRole* Ifc4x3_rc2::IfcRelAssignsToActor::ActingRole() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc2::IfcActorRole>(true); } void Ifc4x3_rc2::IfcRelAssignsToActor::setActingRole(::Ifc4x3_rc2::IfcActorRole* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -19995,7 +20196,7 @@ Ifc4x3_rc2::IfcRelAssignsToActor::IfcRelAssignsToActor(IfcEntityInstanceData* e) Ifc4x3_rc2::IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcActor* v7_RelatingActor, ::Ifc4x3_rc2::IfcActorRole* v8_ActingRole) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssignsToActor_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3_rc2::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingActor));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_ActingRole));data_->setArgument(7,attr);} } // Function implementations for IfcRelAssignsToControl -::Ifc4x3_rc2::IfcControl* Ifc4x3_rc2::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcControl>(); } +::Ifc4x3_rc2::IfcControl* Ifc4x3_rc2::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcControl>(true); } void Ifc4x3_rc2::IfcRelAssignsToControl::setRelatingControl(::Ifc4x3_rc2::IfcControl* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -20005,7 +20206,7 @@ Ifc4x3_rc2::IfcRelAssignsToControl::IfcRelAssignsToControl(IfcEntityInstanceData Ifc4x3_rc2::IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcControl* v7_RelatingControl) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssignsToControl_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3_rc2::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingControl));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssignsToGroup -::Ifc4x3_rc2::IfcGroup* Ifc4x3_rc2::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcGroup>(); } +::Ifc4x3_rc2::IfcGroup* Ifc4x3_rc2::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcGroup>(true); } void Ifc4x3_rc2::IfcRelAssignsToGroup::setRelatingGroup(::Ifc4x3_rc2::IfcGroup* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -20025,9 +20226,9 @@ Ifc4x3_rc2::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(IfcEntity Ifc4x3_rc2::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcGroup* v7_RelatingGroup, double v8_Factor) : IfcRelAssignsToGroup((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssignsToGroupByFactor_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3_rc2::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingGroup));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Factor));data_->setArgument(7,attr);} } // Function implementations for IfcRelAssignsToProcess -::Ifc4x3_rc2::IfcProcessSelect* Ifc4x3_rc2::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcProcessSelect>(); } +::Ifc4x3_rc2::IfcProcessSelect* Ifc4x3_rc2::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcProcessSelect>(true); } void Ifc4x3_rc2::IfcRelAssignsToProcess::setRelatingProcess(::Ifc4x3_rc2::IfcProcessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4x3_rc2::IfcMeasureWithUnit* Ifc4x3_rc2::IfcRelAssignsToProcess::QuantityInProcess() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc2::IfcMeasureWithUnit>(); } +::Ifc4x3_rc2::IfcMeasureWithUnit* Ifc4x3_rc2::IfcRelAssignsToProcess::QuantityInProcess() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc2::IfcMeasureWithUnit>(true); } void Ifc4x3_rc2::IfcRelAssignsToProcess::setQuantityInProcess(::Ifc4x3_rc2::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -20037,7 +20238,7 @@ Ifc4x3_rc2::IfcRelAssignsToProcess::IfcRelAssignsToProcess(IfcEntityInstanceData Ifc4x3_rc2::IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcProcessSelect* v7_RelatingProcess, ::Ifc4x3_rc2::IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssignsToProcess_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3_rc2::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingProcess));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_QuantityInProcess));data_->setArgument(7,attr);} } // Function implementations for IfcRelAssignsToProduct -::Ifc4x3_rc2::IfcProductSelect* Ifc4x3_rc2::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcProductSelect>(); } +::Ifc4x3_rc2::IfcProductSelect* Ifc4x3_rc2::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcProductSelect>(true); } void Ifc4x3_rc2::IfcRelAssignsToProduct::setRelatingProduct(::Ifc4x3_rc2::IfcProductSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -20047,7 +20248,7 @@ Ifc4x3_rc2::IfcRelAssignsToProduct::IfcRelAssignsToProduct(IfcEntityInstanceData Ifc4x3_rc2::IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcProductSelect* v7_RelatingProduct) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssignsToProduct_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3_rc2::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingProduct));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssignsToResource -::Ifc4x3_rc2::IfcResourceSelect* Ifc4x3_rc2::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcResourceSelect>(); } +::Ifc4x3_rc2::IfcResourceSelect* Ifc4x3_rc2::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcResourceSelect>(true); } void Ifc4x3_rc2::IfcRelAssignsToResource::setRelatingResource(::Ifc4x3_rc2::IfcResourceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -20067,7 +20268,7 @@ Ifc4x3_rc2::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData* e) : IfcRe Ifc4x3_rc2::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } // Function implementations for IfcRelAssociatesApproval -::Ifc4x3_rc2::IfcApproval* Ifc4x3_rc2::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcApproval>(); } +::Ifc4x3_rc2::IfcApproval* Ifc4x3_rc2::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcApproval>(true); } void Ifc4x3_rc2::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x3_rc2::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20077,7 +20278,7 @@ Ifc4x3_rc2::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstance Ifc4x3_rc2::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesClassification -::Ifc4x3_rc2::IfcClassificationSelect* Ifc4x3_rc2::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcClassificationSelect>(); } +::Ifc4x3_rc2::IfcClassificationSelect* Ifc4x3_rc2::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcClassificationSelect>(true); } void Ifc4x3_rc2::IfcRelAssociatesClassification::setRelatingClassification(::Ifc4x3_rc2::IfcClassificationSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20089,7 +20290,7 @@ Ifc4x3_rc2::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std:: // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4x3_rc2::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x3_rc2::IfcRelAssociatesConstraint::setIntent(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4x3_rc2::IfcConstraint* Ifc4x3_rc2::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcConstraint>(); } +::Ifc4x3_rc2::IfcConstraint* Ifc4x3_rc2::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcConstraint>(true); } void Ifc4x3_rc2::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x3_rc2::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -20099,7 +20300,7 @@ Ifc4x3_rc2::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInst Ifc4x3_rc2::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc2::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociatesDocument -::Ifc4x3_rc2::IfcDocumentSelect* Ifc4x3_rc2::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcDocumentSelect>(); } +::Ifc4x3_rc2::IfcDocumentSelect* Ifc4x3_rc2::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcDocumentSelect>(true); } void Ifc4x3_rc2::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x3_rc2::IfcDocumentSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20109,7 +20310,7 @@ Ifc4x3_rc2::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstance Ifc4x3_rc2::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesLibrary -::Ifc4x3_rc2::IfcLibrarySelect* Ifc4x3_rc2::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcLibrarySelect>(); } +::Ifc4x3_rc2::IfcLibrarySelect* Ifc4x3_rc2::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcLibrarySelect>(true); } void Ifc4x3_rc2::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x3_rc2::IfcLibrarySelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20119,7 +20320,7 @@ Ifc4x3_rc2::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceDa Ifc4x3_rc2::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesMaterial -::Ifc4x3_rc2::IfcMaterialSelect* Ifc4x3_rc2::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcMaterialSelect>(); } +::Ifc4x3_rc2::IfcMaterialSelect* Ifc4x3_rc2::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcMaterialSelect>(true); } void Ifc4x3_rc2::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x3_rc2::IfcMaterialSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20129,7 +20330,7 @@ Ifc4x3_rc2::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstance Ifc4x3_rc2::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesProfileDef -::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcProfileDef>(); } +::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcProfileDef>(true); } void Ifc4x3_rc2::IfcRelAssociatesProfileDef::setRelatingProfileDef(::Ifc4x3_rc2::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20147,11 +20348,11 @@ Ifc4x3_rc2::IfcRelConnects::IfcRelConnects(IfcEntityInstanceData* e) : IfcRelati Ifc4x3_rc2::IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelConnects_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcRelConnectsElements -::Ifc4x3_rc2::IfcConnectionGeometry* Ifc4x3_rc2::IfcRelConnectsElements::ConnectionGeometry() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcConnectionGeometry>(); } +::Ifc4x3_rc2::IfcConnectionGeometry* Ifc4x3_rc2::IfcRelConnectsElements::ConnectionGeometry() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcConnectionGeometry>(true); } void Ifc4x3_rc2::IfcRelConnectsElements::setConnectionGeometry(::Ifc4x3_rc2::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc2::IfcElement* Ifc4x3_rc2::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcElement>(); } +::Ifc4x3_rc2::IfcElement* Ifc4x3_rc2::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcElement>(true); } void Ifc4x3_rc2::IfcRelConnectsElements::setRelatingElement(::Ifc4x3_rc2::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc2::IfcElement* Ifc4x3_rc2::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcElement>(); } +::Ifc4x3_rc2::IfcElement* Ifc4x3_rc2::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcElement>(true); } void Ifc4x3_rc2::IfcRelConnectsElements::setRelatedElement(::Ifc4x3_rc2::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -20177,9 +20378,9 @@ Ifc4x3_rc2::IfcRelConnectsPathElements::IfcRelConnectsPathElements(IfcEntityInst Ifc4x3_rc2::IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_rc2::IfcElement* v6_RelatingElement, ::Ifc4x3_rc2::IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_rc2::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_rc2::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) : IfcRelConnectsElements((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelConnectsPathElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ConnectionGeometry));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatedElement));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_RelatingPriorities));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_RelatedPriorities));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_RelatedConnectionType,::Ifc4x3_rc2::IfcConnectionTypeEnum::ToString(v10_RelatedConnectionType))));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v11_RelatingConnectionType,::Ifc4x3_rc2::IfcConnectionTypeEnum::ToString(v11_RelatingConnectionType))));data_->setArgument(10,attr);} } // Function implementations for IfcRelConnectsPortToElement -::Ifc4x3_rc2::IfcPort* Ifc4x3_rc2::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcPort>(); } +::Ifc4x3_rc2::IfcPort* Ifc4x3_rc2::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcPort>(true); } void Ifc4x3_rc2::IfcRelConnectsPortToElement::setRelatingPort(::Ifc4x3_rc2::IfcPort* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc2::IfcDistributionElement* Ifc4x3_rc2::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcDistributionElement>(); } +::Ifc4x3_rc2::IfcDistributionElement* Ifc4x3_rc2::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcDistributionElement>(true); } void Ifc4x3_rc2::IfcRelConnectsPortToElement::setRelatedElement(::Ifc4x3_rc2::IfcDistributionElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20189,11 +20390,11 @@ Ifc4x3_rc2::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(IfcEntityIn Ifc4x3_rc2::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcPort* v5_RelatingPort, ::Ifc4x3_rc2::IfcDistributionElement* v6_RelatedElement) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelConnectsPortToElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingPort));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnectsPorts -::Ifc4x3_rc2::IfcPort* Ifc4x3_rc2::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcPort>(); } +::Ifc4x3_rc2::IfcPort* Ifc4x3_rc2::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcPort>(true); } void Ifc4x3_rc2::IfcRelConnectsPorts::setRelatingPort(::Ifc4x3_rc2::IfcPort* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc2::IfcPort* Ifc4x3_rc2::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcPort>(); } +::Ifc4x3_rc2::IfcPort* Ifc4x3_rc2::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcPort>(true); } void Ifc4x3_rc2::IfcRelConnectsPorts::setRelatedPort(::Ifc4x3_rc2::IfcPort* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc2::IfcElement* Ifc4x3_rc2::IfcRelConnectsPorts::RealizingElement() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcElement>(); } +::Ifc4x3_rc2::IfcElement* Ifc4x3_rc2::IfcRelConnectsPorts::RealizingElement() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcElement>(true); } void Ifc4x3_rc2::IfcRelConnectsPorts::setRealizingElement(::Ifc4x3_rc2::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -20203,9 +20404,9 @@ Ifc4x3_rc2::IfcRelConnectsPorts::IfcRelConnectsPorts(IfcEntityInstanceData* e) : Ifc4x3_rc2::IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcPort* v5_RelatingPort, ::Ifc4x3_rc2::IfcPort* v6_RelatedPort, ::Ifc4x3_rc2::IfcElement* v7_RealizingElement) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelConnectsPorts_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingPort));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedPort));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RealizingElement));data_->setArgument(6,attr);} } // Function implementations for IfcRelConnectsStructuralActivity -::Ifc4x3_rc2::IfcStructuralActivityAssignmentSelect* Ifc4x3_rc2::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcStructuralActivityAssignmentSelect>(); } +::Ifc4x3_rc2::IfcStructuralActivityAssignmentSelect* Ifc4x3_rc2::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcStructuralActivityAssignmentSelect>(true); } void Ifc4x3_rc2::IfcRelConnectsStructuralActivity::setRelatingElement(::Ifc4x3_rc2::IfcStructuralActivityAssignmentSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc2::IfcStructuralActivity* Ifc4x3_rc2::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcStructuralActivity>(); } +::Ifc4x3_rc2::IfcStructuralActivity* Ifc4x3_rc2::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcStructuralActivity>(true); } void Ifc4x3_rc2::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(::Ifc4x3_rc2::IfcStructuralActivity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20215,17 +20416,17 @@ Ifc4x3_rc2::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(I Ifc4x3_rc2::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcStructuralActivityAssignmentSelect* v5_RelatingElement, ::Ifc4x3_rc2::IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelConnectsStructuralActivity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedStructuralActivity));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnectsStructuralMember -::Ifc4x3_rc2::IfcStructuralMember* Ifc4x3_rc2::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcStructuralMember>(); } +::Ifc4x3_rc2::IfcStructuralMember* Ifc4x3_rc2::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcStructuralMember>(true); } void Ifc4x3_rc2::IfcRelConnectsStructuralMember::setRelatingStructuralMember(::Ifc4x3_rc2::IfcStructuralMember* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc2::IfcStructuralConnection* Ifc4x3_rc2::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcStructuralConnection>(); } +::Ifc4x3_rc2::IfcStructuralConnection* Ifc4x3_rc2::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcStructuralConnection>(true); } void Ifc4x3_rc2::IfcRelConnectsStructuralMember::setRelatedStructuralConnection(::Ifc4x3_rc2::IfcStructuralConnection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc2::IfcBoundaryCondition* Ifc4x3_rc2::IfcRelConnectsStructuralMember::AppliedCondition() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcBoundaryCondition>(); } +::Ifc4x3_rc2::IfcBoundaryCondition* Ifc4x3_rc2::IfcRelConnectsStructuralMember::AppliedCondition() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcBoundaryCondition>(true); } void Ifc4x3_rc2::IfcRelConnectsStructuralMember::setAppliedCondition(::Ifc4x3_rc2::IfcBoundaryCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4x3_rc2::IfcStructuralConnectionCondition* Ifc4x3_rc2::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc2::IfcStructuralConnectionCondition>(); } +::Ifc4x3_rc2::IfcStructuralConnectionCondition* Ifc4x3_rc2::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc2::IfcStructuralConnectionCondition>(true); } void Ifc4x3_rc2::IfcRelConnectsStructuralMember::setAdditionalConditions(::Ifc4x3_rc2::IfcStructuralConnectionCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc2::IfcRelConnectsStructuralMember::SupportedLength() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } void Ifc4x3_rc2::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } -::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(); } +::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(true); } void Ifc4x3_rc2::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(::Ifc4x3_rc2::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -20235,7 +20436,7 @@ Ifc4x3_rc2::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(IfcEn Ifc4x3_rc2::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x3_rc2::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x3_rc2::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x3_rc2::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x3_rc2::IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelConnectsStructuralMember_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingStructuralMember));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedStructuralConnection));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_AppliedCondition));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AdditionalConditions));data_->setArgument(7,attr);} if (v9_SupportedLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_SupportedLength));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_ConditionCoordinateSystem));data_->setArgument(9,attr);} } // Function implementations for IfcRelConnectsWithEccentricity -::Ifc4x3_rc2::IfcConnectionGeometry* Ifc4x3_rc2::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc2::IfcConnectionGeometry>(); } +::Ifc4x3_rc2::IfcConnectionGeometry* Ifc4x3_rc2::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc2::IfcConnectionGeometry>(true); } void Ifc4x3_rc2::IfcRelConnectsWithEccentricity::setConnectionConstraint(::Ifc4x3_rc2::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -20259,7 +20460,7 @@ Ifc4x3_rc2::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElem // Function implementations for IfcRelContainedInSpatialStructure aggregate_of< ::Ifc4x3_rc2::IfcProduct >::ptr Ifc4x3_rc2::IfcRelContainedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc2::IfcProduct >(); } void Ifc4x3_rc2::IfcRelContainedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_rc2::IfcProduct >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x3_rc2::IfcSpatialElement* Ifc4x3_rc2::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcSpatialElement>(); } +::Ifc4x3_rc2::IfcSpatialElement* Ifc4x3_rc2::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcSpatialElement>(true); } void Ifc4x3_rc2::IfcRelContainedInSpatialStructure::setRelatingStructure(::Ifc4x3_rc2::IfcSpatialElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20269,7 +20470,7 @@ Ifc4x3_rc2::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure Ifc4x3_rc2::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcProduct >::ptr v5_RelatedElements, ::Ifc4x3_rc2::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelContainedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } // Function implementations for IfcRelCoversBldgElements -::Ifc4x3_rc2::IfcElement* Ifc4x3_rc2::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcElement>(); } +::Ifc4x3_rc2::IfcElement* Ifc4x3_rc2::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcElement>(true); } void Ifc4x3_rc2::IfcRelCoversBldgElements::setRelatingBuildingElement(::Ifc4x3_rc2::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc2::IfcCovering >::ptr Ifc4x3_rc2::IfcRelCoversBldgElements::RelatedCoverings() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc2::IfcCovering >(); } void Ifc4x3_rc2::IfcRelCoversBldgElements::setRelatedCoverings(aggregate_of< ::Ifc4x3_rc2::IfcCovering >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -20281,7 +20482,7 @@ Ifc4x3_rc2::IfcRelCoversBldgElements::IfcRelCoversBldgElements(IfcEntityInstance Ifc4x3_rc2::IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcElement* v5_RelatingBuildingElement, aggregate_of< ::Ifc4x3_rc2::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelCoversBldgElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingBuildingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedCoverings)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelCoversSpaces -::Ifc4x3_rc2::IfcSpace* Ifc4x3_rc2::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcSpace>(); } +::Ifc4x3_rc2::IfcSpace* Ifc4x3_rc2::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcSpace>(true); } void Ifc4x3_rc2::IfcRelCoversSpaces::setRelatingSpace(::Ifc4x3_rc2::IfcSpace* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc2::IfcCovering >::ptr Ifc4x3_rc2::IfcRelCoversSpaces::RelatedCoverings() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc2::IfcCovering >(); } void Ifc4x3_rc2::IfcRelCoversSpaces::setRelatedCoverings(aggregate_of< ::Ifc4x3_rc2::IfcCovering >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -20293,7 +20494,7 @@ Ifc4x3_rc2::IfcRelCoversSpaces::IfcRelCoversSpaces(IfcEntityInstanceData* e) : I Ifc4x3_rc2::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSpace* v5_RelatingSpace, aggregate_of< ::Ifc4x3_rc2::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelCoversSpaces_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSpace));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedCoverings)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelDeclares -::Ifc4x3_rc2::IfcContext* Ifc4x3_rc2::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcContext>(); } +::Ifc4x3_rc2::IfcContext* Ifc4x3_rc2::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcContext>(true); } void Ifc4x3_rc2::IfcRelDeclares::setRelatingContext(::Ifc4x3_rc2::IfcContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of_instance::ptr Ifc4x3_rc2::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr v = *data_->getArgument(5); return v; } void Ifc4x3_rc2::IfcRelDeclares::setRelatedDefinitions(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20323,7 +20524,7 @@ Ifc4x3_rc2::IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, ::Ifc4x3_rc2:: // Function implementations for IfcRelDefinesByObject aggregate_of< ::Ifc4x3_rc2::IfcObject >::ptr Ifc4x3_rc2::IfcRelDefinesByObject::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc2::IfcObject >(); } void Ifc4x3_rc2::IfcRelDefinesByObject::setRelatedObjects(aggregate_of< ::Ifc4x3_rc2::IfcObject >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x3_rc2::IfcObject* Ifc4x3_rc2::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcObject>(); } +::Ifc4x3_rc2::IfcObject* Ifc4x3_rc2::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcObject>(true); } void Ifc4x3_rc2::IfcRelDefinesByObject::setRelatingObject(::Ifc4x3_rc2::IfcObject* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20335,7 +20536,7 @@ Ifc4x3_rc2::IfcRelDefinesByObject::IfcRelDefinesByObject(std::string v1_GlobalId // Function implementations for IfcRelDefinesByProperties aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr Ifc4x3_rc2::IfcRelDefinesByProperties::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc2::IfcObjectDefinition >(); } void Ifc4x3_rc2::IfcRelDefinesByProperties::setRelatedObjects(aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x3_rc2::IfcPropertySetDefinitionSelect* Ifc4x3_rc2::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcPropertySetDefinitionSelect>(); } +::Ifc4x3_rc2::IfcPropertySetDefinitionSelect* Ifc4x3_rc2::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcPropertySetDefinitionSelect>(true); } void Ifc4x3_rc2::IfcRelDefinesByProperties::setRelatingPropertyDefinition(::Ifc4x3_rc2::IfcPropertySetDefinitionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20347,7 +20548,7 @@ Ifc4x3_rc2::IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_ // Function implementations for IfcRelDefinesByTemplate aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr Ifc4x3_rc2::IfcRelDefinesByTemplate::RelatedPropertySets() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc2::IfcPropertySetDefinition >(); } void Ifc4x3_rc2::IfcRelDefinesByTemplate::setRelatedPropertySets(aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x3_rc2::IfcPropertySetTemplate* Ifc4x3_rc2::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcPropertySetTemplate>(); } +::Ifc4x3_rc2::IfcPropertySetTemplate* Ifc4x3_rc2::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcPropertySetTemplate>(true); } void Ifc4x3_rc2::IfcRelDefinesByTemplate::setRelatingTemplate(::Ifc4x3_rc2::IfcPropertySetTemplate* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20359,7 +20560,7 @@ Ifc4x3_rc2::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(std::string v1_Glob // Function implementations for IfcRelDefinesByType aggregate_of< ::Ifc4x3_rc2::IfcObject >::ptr Ifc4x3_rc2::IfcRelDefinesByType::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc2::IfcObject >(); } void Ifc4x3_rc2::IfcRelDefinesByType::setRelatedObjects(aggregate_of< ::Ifc4x3_rc2::IfcObject >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x3_rc2::IfcTypeObject* Ifc4x3_rc2::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcTypeObject>(); } +::Ifc4x3_rc2::IfcTypeObject* Ifc4x3_rc2::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcTypeObject>(true); } void Ifc4x3_rc2::IfcRelDefinesByType::setRelatingType(::Ifc4x3_rc2::IfcTypeObject* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20369,9 +20570,9 @@ Ifc4x3_rc2::IfcRelDefinesByType::IfcRelDefinesByType(IfcEntityInstanceData* e) : Ifc4x3_rc2::IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcTypeObject* v6_RelatingType) : IfcRelDefines((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelDefinesByType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingType));data_->setArgument(5,attr);} } // Function implementations for IfcRelFillsElement -::Ifc4x3_rc2::IfcOpeningElement* Ifc4x3_rc2::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcOpeningElement>(); } +::Ifc4x3_rc2::IfcOpeningElement* Ifc4x3_rc2::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcOpeningElement>(true); } void Ifc4x3_rc2::IfcRelFillsElement::setRelatingOpeningElement(::Ifc4x3_rc2::IfcOpeningElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc2::IfcElement* Ifc4x3_rc2::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcElement>(); } +::Ifc4x3_rc2::IfcElement* Ifc4x3_rc2::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcElement>(true); } void Ifc4x3_rc2::IfcRelFillsElement::setRelatedBuildingElement(::Ifc4x3_rc2::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20383,7 +20584,7 @@ Ifc4x3_rc2::IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, ::If // Function implementations for IfcRelFlowControlElements aggregate_of< ::Ifc4x3_rc2::IfcDistributionControlElement >::ptr Ifc4x3_rc2::IfcRelFlowControlElements::RelatedControlElements() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc2::IfcDistributionControlElement >(); } void Ifc4x3_rc2::IfcRelFlowControlElements::setRelatedControlElements(aggregate_of< ::Ifc4x3_rc2::IfcDistributionControlElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x3_rc2::IfcDistributionFlowElement* Ifc4x3_rc2::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcDistributionFlowElement>(); } +::Ifc4x3_rc2::IfcDistributionFlowElement* Ifc4x3_rc2::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcDistributionFlowElement>(true); } void Ifc4x3_rc2::IfcRelFlowControlElements::setRelatingFlowElement(::Ifc4x3_rc2::IfcDistributionFlowElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20393,11 +20594,11 @@ Ifc4x3_rc2::IfcRelFlowControlElements::IfcRelFlowControlElements(IfcEntityInstan Ifc4x3_rc2::IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDistributionControlElement >::ptr v5_RelatedControlElements, ::Ifc4x3_rc2::IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelFlowControlElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedControlElements)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingFlowElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelInterferesElements -::Ifc4x3_rc2::IfcInterferenceSelect* Ifc4x3_rc2::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcInterferenceSelect>(); } +::Ifc4x3_rc2::IfcInterferenceSelect* Ifc4x3_rc2::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcInterferenceSelect>(true); } void Ifc4x3_rc2::IfcRelInterferesElements::setRelatingElement(::Ifc4x3_rc2::IfcInterferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc2::IfcInterferenceSelect* Ifc4x3_rc2::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcInterferenceSelect>(); } +::Ifc4x3_rc2::IfcInterferenceSelect* Ifc4x3_rc2::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcInterferenceSelect>(true); } void Ifc4x3_rc2::IfcRelInterferesElements::setRelatedElement(::Ifc4x3_rc2::IfcInterferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc2::IfcConnectionGeometry* Ifc4x3_rc2::IfcRelInterferesElements::InterferenceGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcConnectionGeometry>(); } +::Ifc4x3_rc2::IfcConnectionGeometry* Ifc4x3_rc2::IfcRelInterferesElements::InterferenceGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcConnectionGeometry>(true); } void Ifc4x3_rc2::IfcRelInterferesElements::setInterferenceGeometry(::Ifc4x3_rc2::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcRelInterferesElements::InterferenceType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } void Ifc4x3_rc2::IfcRelInterferesElements::setInterferenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } @@ -20411,7 +20612,7 @@ Ifc4x3_rc2::IfcRelInterferesElements::IfcRelInterferesElements(IfcEntityInstance Ifc4x3_rc2::IfcRelInterferesElements::IfcRelInterferesElements(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcInterferenceSelect* v5_RelatingElement, ::Ifc4x3_rc2::IfcInterferenceSelect* v6_RelatedElement, ::Ifc4x3_rc2::IfcConnectionGeometry* v7_InterferenceGeometry, boost::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelInterferesElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_InterferenceGeometry));data_->setArgument(6,attr);} if (v8_InterferenceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_InterferenceType));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_ImpliedOrder));data_->setArgument(8,attr);} } // Function implementations for IfcRelNests -::Ifc4x3_rc2::IfcObjectDefinition* Ifc4x3_rc2::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcObjectDefinition>(); } +::Ifc4x3_rc2::IfcObjectDefinition* Ifc4x3_rc2::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcObjectDefinition>(true); } void Ifc4x3_rc2::IfcRelNests::setRelatingObject(::Ifc4x3_rc2::IfcObjectDefinition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr Ifc4x3_rc2::IfcRelNests::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc2::IfcObjectDefinition >(); } void Ifc4x3_rc2::IfcRelNests::setRelatedObjects(aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -20423,7 +20624,7 @@ Ifc4x3_rc2::IfcRelNests::IfcRelNests(IfcEntityInstanceData* e) : IfcRelDecompose Ifc4x3_rc2::IfcRelNests::IfcRelNests(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelNests_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingObject));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedObjects)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelPositions -::Ifc4x3_rc2::IfcPositioningElement* Ifc4x3_rc2::IfcRelPositions::RelatingPositioningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcPositioningElement>(); } +::Ifc4x3_rc2::IfcPositioningElement* Ifc4x3_rc2::IfcRelPositions::RelatingPositioningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcPositioningElement>(true); } void Ifc4x3_rc2::IfcRelPositions::setRelatingPositioningElement(::Ifc4x3_rc2::IfcPositioningElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc2::IfcProduct >::ptr Ifc4x3_rc2::IfcRelPositions::RelatedProducts() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc2::IfcProduct >(); } void Ifc4x3_rc2::IfcRelPositions::setRelatedProducts(aggregate_of< ::Ifc4x3_rc2::IfcProduct >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -20435,9 +20636,9 @@ Ifc4x3_rc2::IfcRelPositions::IfcRelPositions(IfcEntityInstanceData* e) : IfcRelC Ifc4x3_rc2::IfcRelPositions::IfcRelPositions(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcPositioningElement* v5_RelatingPositioningElement, aggregate_of< ::Ifc4x3_rc2::IfcProduct >::ptr v6_RelatedProducts) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelPositions_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingPositioningElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedProducts)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelProjectsElement -::Ifc4x3_rc2::IfcElement* Ifc4x3_rc2::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcElement>(); } +::Ifc4x3_rc2::IfcElement* Ifc4x3_rc2::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcElement>(true); } void Ifc4x3_rc2::IfcRelProjectsElement::setRelatingElement(::Ifc4x3_rc2::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc2::IfcFeatureElementAddition* Ifc4x3_rc2::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcFeatureElementAddition>(); } +::Ifc4x3_rc2::IfcFeatureElementAddition* Ifc4x3_rc2::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcFeatureElementAddition>(true); } void Ifc4x3_rc2::IfcRelProjectsElement::setRelatedFeatureElement(::Ifc4x3_rc2::IfcFeatureElementAddition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20449,7 +20650,7 @@ Ifc4x3_rc2::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId // Function implementations for IfcRelReferencedInSpatialStructure aggregate_of_instance::ptr Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr v = *data_->getArgument(4); return v; } void Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc2::IfcSpatialElement* Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcSpatialElement>(); } +::Ifc4x3_rc2::IfcSpatialElement* Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcSpatialElement>(true); } void Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4x3_rc2::IfcSpatialElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20459,11 +20660,11 @@ Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructu Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedElements, ::Ifc4x3_rc2::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } // Function implementations for IfcRelSequence -::Ifc4x3_rc2::IfcProcess* Ifc4x3_rc2::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcProcess>(); } +::Ifc4x3_rc2::IfcProcess* Ifc4x3_rc2::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcProcess>(true); } void Ifc4x3_rc2::IfcRelSequence::setRelatingProcess(::Ifc4x3_rc2::IfcProcess* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc2::IfcProcess* Ifc4x3_rc2::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcProcess>(); } +::Ifc4x3_rc2::IfcProcess* Ifc4x3_rc2::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcProcess>(true); } void Ifc4x3_rc2::IfcRelSequence::setRelatedProcess(::Ifc4x3_rc2::IfcProcess* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc2::IfcLagTime* Ifc4x3_rc2::IfcRelSequence::TimeLag() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcLagTime>(); } +::Ifc4x3_rc2::IfcLagTime* Ifc4x3_rc2::IfcRelSequence::TimeLag() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcLagTime>(true); } void Ifc4x3_rc2::IfcRelSequence::setTimeLag(::Ifc4x3_rc2::IfcLagTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4x3_rc2::IfcSequenceEnum::Value > Ifc4x3_rc2::IfcRelSequence::SequenceType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSequenceEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc2::IfcRelSequence::setSequenceType(boost::optional< ::Ifc4x3_rc2::IfcSequenceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcSequenceEnum::ToString(*v)));data_->setArgument(7,attr);} } @@ -20477,7 +20678,7 @@ Ifc4x3_rc2::IfcRelSequence::IfcRelSequence(IfcEntityInstanceData* e) : IfcRelCon Ifc4x3_rc2::IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcProcess* v5_RelatingProcess, ::Ifc4x3_rc2::IfcProcess* v6_RelatedProcess, ::Ifc4x3_rc2::IfcLagTime* v7_TimeLag, boost::optional< ::Ifc4x3_rc2::IfcSequenceEnum::Value > v8_SequenceType, boost::optional< std::string > v9_UserDefinedSequenceType) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelSequence_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingProcess));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedProcess));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_TimeLag));data_->setArgument(6,attr);} if (v8_SequenceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_SequenceType,::Ifc4x3_rc2::IfcSequenceEnum::ToString(*v8_SequenceType))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_UserDefinedSequenceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_UserDefinedSequenceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcRelServicesBuildings -::Ifc4x3_rc2::IfcSystem* Ifc4x3_rc2::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcSystem>(); } +::Ifc4x3_rc2::IfcSystem* Ifc4x3_rc2::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcSystem>(true); } void Ifc4x3_rc2::IfcRelServicesBuildings::setRelatingSystem(::Ifc4x3_rc2::IfcSystem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc2::IfcSpatialElement >::ptr Ifc4x3_rc2::IfcRelServicesBuildings::RelatedBuildings() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc2::IfcSpatialElement >(); } void Ifc4x3_rc2::IfcRelServicesBuildings::setRelatedBuildings(aggregate_of< ::Ifc4x3_rc2::IfcSpatialElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -20489,11 +20690,11 @@ Ifc4x3_rc2::IfcRelServicesBuildings::IfcRelServicesBuildings(IfcEntityInstanceDa Ifc4x3_rc2::IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSystem* v5_RelatingSystem, aggregate_of< ::Ifc4x3_rc2::IfcSpatialElement >::ptr v6_RelatedBuildings) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelServicesBuildings_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSystem));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildings)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelSpaceBoundary -::Ifc4x3_rc2::IfcSpaceBoundarySelect* Ifc4x3_rc2::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcSpaceBoundarySelect>(); } +::Ifc4x3_rc2::IfcSpaceBoundarySelect* Ifc4x3_rc2::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcSpaceBoundarySelect>(true); } void Ifc4x3_rc2::IfcRelSpaceBoundary::setRelatingSpace(::Ifc4x3_rc2::IfcSpaceBoundarySelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc2::IfcElement* Ifc4x3_rc2::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcElement>(); } +::Ifc4x3_rc2::IfcElement* Ifc4x3_rc2::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcElement>(true); } void Ifc4x3_rc2::IfcRelSpaceBoundary::setRelatedBuildingElement(::Ifc4x3_rc2::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc2::IfcConnectionGeometry* Ifc4x3_rc2::IfcRelSpaceBoundary::ConnectionGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcConnectionGeometry>(); } +::Ifc4x3_rc2::IfcConnectionGeometry* Ifc4x3_rc2::IfcRelSpaceBoundary::ConnectionGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcConnectionGeometry>(true); } void Ifc4x3_rc2::IfcRelSpaceBoundary::setConnectionGeometry(::Ifc4x3_rc2::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } ::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Value Ifc4x3_rc2::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc2::IfcRelSpaceBoundary::setPhysicalOrVirtualBoundary(::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::ToString(v)));data_->setArgument(7,attr);} } @@ -20507,7 +20708,7 @@ Ifc4x3_rc2::IfcRelSpaceBoundary::IfcRelSpaceBoundary(IfcEntityInstanceData* e) : Ifc4x3_rc2::IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_rc2::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_rc2::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelSpaceBoundary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSpace));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConnectionGeometry));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_PhysicalOrVirtualBoundary,::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_InternalOrExternalBoundary,::Ifc4x3_rc2::IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary))));data_->setArgument(8,attr);} } // Function implementations for IfcRelSpaceBoundary1stLevel -::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel* Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel>(); } +::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel* Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel>(true); } void Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel::setParentBoundary(::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } ::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel::list::ptr Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return data_->getInverse(IFC4X3_RC2_IfcRelSpaceBoundary1stLevel_type, 9)->as(); } @@ -20518,7 +20719,7 @@ Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(IfcEntityIn Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_rc2::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_rc2::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary) : IfcRelSpaceBoundary((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelSpaceBoundary1stLevel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSpace));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConnectionGeometry));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_PhysicalOrVirtualBoundary,::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_InternalOrExternalBoundary,::Ifc4x3_rc2::IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_ParentBoundary));data_->setArgument(9,attr);} } // Function implementations for IfcRelSpaceBoundary2ndLevel -::Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel* Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel>(); } +::Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel* Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel>(true); } void Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(::Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } ::Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel::list::ptr Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return data_->getInverse(IFC4X3_RC2_IfcRelSpaceBoundary2ndLevel_type, 10)->as(); } @@ -20529,9 +20730,9 @@ Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(IfcEntityIn Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_rc2::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_rc2::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, ::Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary) : IfcRelSpaceBoundary1stLevel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRelSpaceBoundary2ndLevel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSpace));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConnectionGeometry));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_PhysicalOrVirtualBoundary,::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_InternalOrExternalBoundary,::Ifc4x3_rc2::IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_ParentBoundary));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_CorrespondingBoundary));data_->setArgument(10,attr);} } // Function implementations for IfcRelVoidsElement -::Ifc4x3_rc2::IfcElement* Ifc4x3_rc2::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcElement>(); } +::Ifc4x3_rc2::IfcElement* Ifc4x3_rc2::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcElement>(true); } void Ifc4x3_rc2::IfcRelVoidsElement::setRelatingBuildingElement(::Ifc4x3_rc2::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc2::IfcFeatureElementSubtraction* Ifc4x3_rc2::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcFeatureElementSubtraction>(); } +::Ifc4x3_rc2::IfcFeatureElementSubtraction* Ifc4x3_rc2::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcFeatureElementSubtraction>(true); } void Ifc4x3_rc2::IfcRelVoidsElement::setRelatedOpeningElement(::Ifc4x3_rc2::IfcFeatureElementSubtraction* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20559,7 +20760,7 @@ Ifc4x3_rc2::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCu Ifc4x3_rc2::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(::Ifc4x3_rc2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc2::IfcCurve* v3_ParentCurve, double v4_ParamLength) : IfcCompositeCurveSegment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcReparametrisedCompositeCurveSegment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_Transition,::Ifc4x3_rc2::IfcTransitionCode::ToString(v1_Transition))));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SameSense));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ParentCurve));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ParamLength));data_->setArgument(3,attr);} } // Function implementations for IfcRepresentation -::Ifc4x3_rc2::IfcRepresentationContext* Ifc4x3_rc2::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcRepresentationContext>(); } +::Ifc4x3_rc2::IfcRepresentationContext* Ifc4x3_rc2::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcRepresentationContext>(true); } void Ifc4x3_rc2::IfcRepresentation::setContextOfItems(::Ifc4x3_rc2::IfcRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcRepresentation::RepresentationIdentifier() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } @@ -20601,9 +20802,9 @@ Ifc4x3_rc2::IfcRepresentationItem::IfcRepresentationItem(IfcEntityInstanceData* Ifc4x3_rc2::IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRepresentationItem_type); } // Function implementations for IfcRepresentationMap -::Ifc4x3_rc2::IfcAxis2Placement* Ifc4x3_rc2::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcAxis2Placement>(); } +::Ifc4x3_rc2::IfcAxis2Placement* Ifc4x3_rc2::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcAxis2Placement>(true); } void Ifc4x3_rc2::IfcRepresentationMap::setMappingOrigin(::Ifc4x3_rc2::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc2::IfcRepresentation* Ifc4x3_rc2::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcRepresentation>(); } +::Ifc4x3_rc2::IfcRepresentation* Ifc4x3_rc2::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcRepresentation>(true); } void Ifc4x3_rc2::IfcRepresentationMap::setMappedRepresentation(::Ifc4x3_rc2::IfcRepresentation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4x3_rc2::IfcShapeAspect::list::ptr Ifc4x3_rc2::IfcRepresentationMap::HasShapeAspects() const { return data_->getInverse(IFC4X3_RC2_IfcShapeAspect_type, 4)->as(); } @@ -20630,7 +20831,7 @@ Ifc4x3_rc2::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcO // Function implementations for IfcResourceApprovalRelationship aggregate_of_instance::ptr Ifc4x3_rc2::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } void Ifc4x3_rc2::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc2::IfcApproval* Ifc4x3_rc2::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcApproval>(); } +::Ifc4x3_rc2::IfcApproval* Ifc4x3_rc2::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcApproval>(true); } void Ifc4x3_rc2::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_rc2::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -20640,7 +20841,7 @@ Ifc4x3_rc2::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(Ifc Ifc4x3_rc2::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc2::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } // Function implementations for IfcResourceConstraintRelationship -::Ifc4x3_rc2::IfcConstraint* Ifc4x3_rc2::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcConstraint>(); } +::Ifc4x3_rc2::IfcConstraint* Ifc4x3_rc2::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcConstraint>(true); } void Ifc4x3_rc2::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x3_rc2::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of_instance::ptr Ifc4x3_rc2::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } void Ifc4x3_rc2::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -20702,7 +20903,7 @@ Ifc4x3_rc2::IfcResourceTime::IfcResourceTime(IfcEntityInstanceData* e) : IfcSche Ifc4x3_rc2::IfcResourceTime::IfcResourceTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< std::string > v4_ScheduleWork, boost::optional< double > v5_ScheduleUsage, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_ScheduleContour, boost::optional< std::string > v9_LevelingDelay, boost::optional< bool > v10_IsOverAllocated, boost::optional< std::string > v11_StatusTime, boost::optional< std::string > v12_ActualWork, boost::optional< double > v13_ActualUsage, boost::optional< std::string > v14_ActualStart, boost::optional< std::string > v15_ActualFinish, boost::optional< std::string > v16_RemainingWork, boost::optional< double > v17_RemainingUsage, boost::optional< double > v18_Completion) : IfcSchedulingTime((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcResourceTime_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_DataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v2_DataOrigin,::Ifc4x3_rc2::IfcDataOriginEnum::ToString(*v2_DataOrigin))));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UserDefinedDataOrigin));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_ScheduleWork) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_ScheduleWork));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ScheduleUsage) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ScheduleUsage));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ScheduleStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ScheduleStart));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ScheduleFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ScheduleFinish));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_ScheduleContour) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_ScheduleContour));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_LevelingDelay) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_LevelingDelay));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_IsOverAllocated) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_IsOverAllocated));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_StatusTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_StatusTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_ActualWork) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_ActualWork));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ActualUsage) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ActualUsage));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ActualStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ActualStart));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ActualFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ActualFinish));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_RemainingWork) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_RemainingWork));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_RemainingUsage) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_RemainingUsage));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_Completion) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_Completion));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } } // Function implementations for IfcRevolvedAreaSolid -::Ifc4x3_rc2::IfcAxis1Placement* Ifc4x3_rc2::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcAxis1Placement>(); } +::Ifc4x3_rc2::IfcAxis1Placement* Ifc4x3_rc2::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcAxis1Placement>(true); } void Ifc4x3_rc2::IfcRevolvedAreaSolid::setAxis(::Ifc4x3_rc2::IfcAxis1Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc4x3_rc2::IfcRevolvedAreaSolid::Angle() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc2::IfcRevolvedAreaSolid::setAngle(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -20714,7 +20915,7 @@ Ifc4x3_rc2::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcEntityInstanceData* e) Ifc4x3_rc2::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(::Ifc4x3_rc2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc2::IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcRevolvedAreaSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Axis));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Angle));data_->setArgument(3,attr);} } // Function implementations for IfcRevolvedAreaSolidTapered -::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcProfileDef>(); } +::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcProfileDef>(true); } void Ifc4x3_rc2::IfcRevolvedAreaSolidTapered::setEndSweptArea(::Ifc4x3_rc2::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -20778,7 +20979,7 @@ Ifc4x3_rc2::IfcRoofType::IfcRoofType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcO // Function implementations for IfcRoot std::string Ifc4x3_rc2::IfcRoot::GlobalId() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc2::IfcRoot::setGlobalId(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc2::IfcOwnerHistory* Ifc4x3_rc2::IfcRoot::OwnerHistory() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcOwnerHistory>(); } +::Ifc4x3_rc2::IfcOwnerHistory* Ifc4x3_rc2::IfcRoot::OwnerHistory() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcOwnerHistory>(true); } void Ifc4x3_rc2::IfcRoot::setOwnerHistory(::Ifc4x3_rc2::IfcOwnerHistory* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcRoot::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc2::IfcRoot::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } @@ -20858,9 +21059,9 @@ Ifc4x3_rc2::IfcSeamCurve::IfcSeamCurve(::Ifc4x3_rc2::IfcCurve* v1_Curve3D, aggre // Function implementations for IfcSectionProperties ::Ifc4x3_rc2::IfcSectionTypeEnum::Value Ifc4x3_rc2::IfcSectionProperties::SectionType() const { return ::Ifc4x3_rc2::IfcSectionTypeEnum::FromString(*data_->getArgument(0)); } void Ifc4x3_rc2::IfcSectionProperties::setSectionType(::Ifc4x3_rc2::IfcSectionTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcSectionTypeEnum::ToString(v)));data_->setArgument(0,attr);} } -::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcProfileDef>(); } +::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcProfileDef>(true); } void Ifc4x3_rc2::IfcSectionProperties::setStartProfile(::Ifc4x3_rc2::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcSectionProperties::EndProfile() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcProfileDef>(); } +::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcSectionProperties::EndProfile() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcProfileDef>(true); } void Ifc4x3_rc2::IfcSectionProperties::setEndProfile(::Ifc4x3_rc2::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -20878,7 +21079,7 @@ boost::optional< double > Ifc4x3_rc2::IfcSectionReinforcementProperties::Transve void Ifc4x3_rc2::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } ::Ifc4x3_rc2::IfcReinforcingBarRoleEnum::Value Ifc4x3_rc2::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x3_rc2::IfcReinforcingBarRoleEnum::FromString(*data_->getArgument(3)); } void Ifc4x3_rc2::IfcSectionReinforcementProperties::setReinforcementRole(::Ifc4x3_rc2::IfcReinforcingBarRoleEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcReinforcingBarRoleEnum::ToString(v)));data_->setArgument(3,attr);} } -::Ifc4x3_rc2::IfcSectionProperties* Ifc4x3_rc2::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcSectionProperties>(); } +::Ifc4x3_rc2::IfcSectionProperties* Ifc4x3_rc2::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcSectionProperties>(true); } void Ifc4x3_rc2::IfcSectionReinforcementProperties::setSectionDefinition(::Ifc4x3_rc2::IfcSectionProperties* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc2::IfcReinforcementBarProperties >::ptr Ifc4x3_rc2::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc2::IfcReinforcementBarProperties >(); } void Ifc4x3_rc2::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(aggregate_of< ::Ifc4x3_rc2::IfcReinforcementBarProperties >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -20890,7 +21091,7 @@ Ifc4x3_rc2::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties Ifc4x3_rc2::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, ::Ifc4x3_rc2::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_rc2::IfcSectionProperties* v5_SectionDefinition, aggregate_of< ::Ifc4x3_rc2::IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcPreDefinedProperties((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcSectionReinforcementProperties_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_LongitudinalStartPosition));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LongitudinalEndPosition));data_->setArgument(1,attr);} if (v3_TransversePosition) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_TransversePosition));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v4_ReinforcementRole,::Ifc4x3_rc2::IfcReinforcingBarRoleEnum::ToString(v4_ReinforcementRole))));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_SectionDefinition));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_CrossSectionReinforcementDefinitions)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcSectionedSolid -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcSectionedSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCurve>(); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcSectionedSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcSectionedSolid::setDirectrix(::Ifc4x3_rc2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x3_rc2::IfcProfileDef >::ptr Ifc4x3_rc2::IfcSectionedSolid::CrossSections() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc2::IfcProfileDef >(); } void Ifc4x3_rc2::IfcSectionedSolid::setCrossSections(aggregate_of< ::Ifc4x3_rc2::IfcProfileDef >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -20914,7 +21115,7 @@ Ifc4x3_rc2::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(IfcEntityIn Ifc4x3_rc2::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(::Ifc4x3_rc2::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_rc2::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3_rc2::IfcPointByDistanceExpression >::ptr v3_CrossSectionPositions, bool v4_FixedAxisVertical) : IfcSectionedSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcSectionedSolidHorizontal_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Directrix));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_CrossSections)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_CrossSectionPositions)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_FixedAxisVertical));data_->setArgument(3,attr);} } // Function implementations for IfcSectionedSpine -::Ifc4x3_rc2::IfcCompositeCurve* Ifc4x3_rc2::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCompositeCurve>(); } +::Ifc4x3_rc2::IfcCompositeCurve* Ifc4x3_rc2::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCompositeCurve>(true); } void Ifc4x3_rc2::IfcSectionedSpine::setSpineCurve(::Ifc4x3_rc2::IfcCompositeCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x3_rc2::IfcProfileDef >::ptr Ifc4x3_rc2::IfcSectionedSpine::CrossSections() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc2::IfcProfileDef >(); } void Ifc4x3_rc2::IfcSectionedSpine::setCrossSections(aggregate_of< ::Ifc4x3_rc2::IfcProfileDef >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -20928,7 +21129,7 @@ Ifc4x3_rc2::IfcSectionedSpine::IfcSectionedSpine(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc2::IfcSectionedSpine::IfcSectionedSpine(::Ifc4x3_rc2::IfcCompositeCurve* v1_SpineCurve, aggregate_of< ::Ifc4x3_rc2::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3_rc2::IfcAxis2Placement3D >::ptr v3_CrossSectionPositions) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcSectionedSpine_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SpineCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_CrossSections)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_CrossSectionPositions)->generalize());data_->setArgument(2,attr);} } // Function implementations for IfcSectionedSurface -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcSectionedSurface::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCurve>(); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcSectionedSurface::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcSectionedSurface::setDirectrix(::Ifc4x3_rc2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x3_rc2::IfcPointByDistanceExpression >::ptr Ifc4x3_rc2::IfcSectionedSurface::CrossSectionPositions() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc2::IfcPointByDistanceExpression >(); } void Ifc4x3_rc2::IfcSectionedSurface::setCrossSectionPositions(aggregate_of< ::Ifc4x3_rc2::IfcPointByDistanceExpression >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -20954,11 +21155,11 @@ Ifc4x3_rc2::IfcSegment::IfcSegment(IfcEntityInstanceData* e) : IfcGeometricRepre Ifc4x3_rc2::IfcSegment::IfcSegment(::Ifc4x3_rc2::IfcTransitionCode::Value v1_Transition) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcSegment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_Transition,::Ifc4x3_rc2::IfcTransitionCode::ToString(v1_Transition))));data_->setArgument(0,attr);} } // Function implementations for IfcSegmentedReferenceCurve -::Ifc4x3_rc2::IfcBoundedCurve* Ifc4x3_rc2::IfcSegmentedReferenceCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcBoundedCurve>(); } +::Ifc4x3_rc2::IfcBoundedCurve* Ifc4x3_rc2::IfcSegmentedReferenceCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcBoundedCurve>(true); } void Ifc4x3_rc2::IfcSegmentedReferenceCurve::setBaseCurve(::Ifc4x3_rc2::IfcBoundedCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x3_rc2::IfcCurveSegment >::ptr Ifc4x3_rc2::IfcSegmentedReferenceCurve::Segments() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc2::IfcCurveSegment >(); } void Ifc4x3_rc2::IfcSegmentedReferenceCurve::setSegments(aggregate_of< ::Ifc4x3_rc2::IfcCurveSegment >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } -::Ifc4x3_rc2::IfcPlacement* Ifc4x3_rc2::IfcSegmentedReferenceCurve::EndPoint() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcPlacement>(); } +::Ifc4x3_rc2::IfcPlacement* Ifc4x3_rc2::IfcSegmentedReferenceCurve::EndPoint() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcPlacement>(true); } void Ifc4x3_rc2::IfcSegmentedReferenceCurve::setEndPoint(::Ifc4x3_rc2::IfcPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -20988,7 +21189,7 @@ Ifc4x3_rc2::IfcSensorType::IfcSensorType(IfcEntityInstanceData* e) : IfcDistribu Ifc4x3_rc2::IfcSensorType::IfcSensorType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSensorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcSensorType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc2::IfcSensorTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcSeriesParameterCurve -::Ifc4x3_rc2::IfcPlacement* Ifc4x3_rc2::IfcSeriesParameterCurve::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcPlacement>(); } +::Ifc4x3_rc2::IfcPlacement* Ifc4x3_rc2::IfcSeriesParameterCurve::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcPlacement>(true); } void Ifc4x3_rc2::IfcSeriesParameterCurve::setPosition(::Ifc4x3_rc2::IfcPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } std::vector< double > /*[2:?]*/ Ifc4x3_rc2::IfcSeriesParameterCurve::CoefficientsX() const { std::vector< double > /*[2:?]*/ v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcSeriesParameterCurve::setCoefficientsX(std::vector< double > /*[2:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -21030,7 +21231,7 @@ boost::optional< std::string > Ifc4x3_rc2::IfcShapeAspect::Description() const { void Ifc4x3_rc2::IfcShapeAspect::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } boost::logic::tribool Ifc4x3_rc2::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = *data_->getArgument(3); return v; } void Ifc4x3_rc2::IfcShapeAspect::setProductDefinitional(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc2::IfcProductRepresentationSelect* Ifc4x3_rc2::IfcShapeAspect::PartOfProductDefinitionShape() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcProductRepresentationSelect>(); } +::Ifc4x3_rc2::IfcProductRepresentationSelect* Ifc4x3_rc2::IfcShapeAspect::PartOfProductDefinitionShape() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcProductRepresentationSelect>(true); } void Ifc4x3_rc2::IfcShapeAspect::setPartOfProductDefinitionShape(::Ifc4x3_rc2::IfcProductRepresentationSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4x3_rc2::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc2::IfcShapeAspect::HasExternalReferences() const { return data_->getInverse(IFC4X3_RC2_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -21122,11 +21323,11 @@ boost::optional< std::string > Ifc4x3_rc2::IfcSimplePropertyTemplate::PrimaryMea void Ifc4x3_rc2::IfcSimplePropertyTemplate::setPrimaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4x3_rc2::IfcSimplePropertyTemplate::setSecondaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } -::Ifc4x3_rc2::IfcPropertyEnumeration* Ifc4x3_rc2::IfcSimplePropertyTemplate::Enumerators() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc2::IfcPropertyEnumeration>(); } +::Ifc4x3_rc2::IfcPropertyEnumeration* Ifc4x3_rc2::IfcSimplePropertyTemplate::Enumerators() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc2::IfcPropertyEnumeration>(true); } void Ifc4x3_rc2::IfcSimplePropertyTemplate::setEnumerators(::Ifc4x3_rc2::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcSimplePropertyTemplate::PrimaryUnit() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcUnit>(); } +::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcSimplePropertyTemplate::PrimaryUnit() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcUnit>(true); } void Ifc4x3_rc2::IfcSimplePropertyTemplate::setPrimaryUnit(::Ifc4x3_rc2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcSimplePropertyTemplate::SecondaryUnit() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc2::IfcUnit>(); } +::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcSimplePropertyTemplate::SecondaryUnit() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc2::IfcUnit>(true); } void Ifc4x3_rc2::IfcSimplePropertyTemplate::setSecondaryUnit(::Ifc4x3_rc2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcSimplePropertyTemplate::Expression() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4x3_rc2::IfcSimplePropertyTemplate::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } @@ -21148,7 +21349,7 @@ boost::optional< double > Ifc4x3_rc2::IfcSite::RefElevation() const { if(!data_- void Ifc4x3_rc2::IfcSite::setRefElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcSite::LandTitleNumber() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } void Ifc4x3_rc2::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } -::Ifc4x3_rc2::IfcPostalAddress* Ifc4x3_rc2::IfcSite::SiteAddress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x3_rc2::IfcPostalAddress>(); } +::Ifc4x3_rc2::IfcPostalAddress* Ifc4x3_rc2::IfcSite::SiteAddress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x3_rc2::IfcPostalAddress>(true); } void Ifc4x3_rc2::IfcSite::setSiteAddress(::Ifc4x3_rc2::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } @@ -21451,7 +21652,7 @@ Ifc4x3_rc2::IfcStructuralAction::IfcStructuralAction(IfcEntityInstanceData* e) : Ifc4x3_rc2::IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralActivity((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcStructuralAction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc4x3_rc2::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);} if (v10_DestabilizingLoad) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_DestabilizingLoad));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcStructuralActivity -::Ifc4x3_rc2::IfcStructuralLoad* Ifc4x3_rc2::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc2::IfcStructuralLoad>(); } +::Ifc4x3_rc2::IfcStructuralLoad* Ifc4x3_rc2::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc2::IfcStructuralLoad>(true); } void Ifc4x3_rc2::IfcStructuralActivity::setAppliedLoad(::Ifc4x3_rc2::IfcStructuralLoad* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value Ifc4x3_rc2::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::FromString(*data_->getArgument(8)); } void Ifc4x3_rc2::IfcStructuralActivity::setGlobalOrLocal(::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcGlobalOrLocalEnum::ToString(v)));data_->setArgument(8,attr);} } @@ -21466,13 +21667,13 @@ Ifc4x3_rc2::IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId // Function implementations for IfcStructuralAnalysisModel ::Ifc4x3_rc2::IfcAnalysisModelTypeEnum::Value Ifc4x3_rc2::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x3_rc2::IfcAnalysisModelTypeEnum::FromString(*data_->getArgument(5)); } void Ifc4x3_rc2::IfcStructuralAnalysisModel::setPredefinedType(::Ifc4x3_rc2::IfcAnalysisModelTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcAnalysisModelTypeEnum::ToString(v)));data_->setArgument(5,attr);} } -::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(); } +::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(true); } void Ifc4x3_rc2::IfcStructuralAnalysisModel::setOrientationOf2DPlane(::Ifc4x3_rc2::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcStructuralLoadGroup >::ptr > Ifc4x3_rc2::IfcStructuralAnalysisModel::LoadedBy() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc2::IfcStructuralLoadGroup >(); } void Ifc4x3_rc2::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcStructuralLoadGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcStructuralResultGroup >::ptr > Ifc4x3_rc2::IfcStructuralAnalysisModel::HasResults() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x3_rc2::IfcStructuralResultGroup >(); } void Ifc4x3_rc2::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcStructuralResultGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } -::Ifc4x3_rc2::IfcObjectPlacement* Ifc4x3_rc2::IfcStructuralAnalysisModel::SharedPlacement() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc2::IfcObjectPlacement>(); } +::Ifc4x3_rc2::IfcObjectPlacement* Ifc4x3_rc2::IfcStructuralAnalysisModel::SharedPlacement() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc2::IfcObjectPlacement>(true); } void Ifc4x3_rc2::IfcStructuralAnalysisModel::setSharedPlacement(::Ifc4x3_rc2::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -21482,7 +21683,7 @@ Ifc4x3_rc2::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(IfcEntityInst Ifc4x3_rc2::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc2::IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcStructuralResultGroup >::ptr > v9_HasResults, ::Ifc4x3_rc2::IfcObjectPlacement* v10_SharedPlacement) : IfcSystem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcStructuralAnalysisModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_PredefinedType,::Ifc4x3_rc2::IfcAnalysisModelTypeEnum::ToString(v6_PredefinedType))));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_OrientationOf2DPlane));data_->setArgument(6,attr);} if (v8_LoadedBy) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LoadedBy)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_HasResults) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_HasResults)->generalize());data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_SharedPlacement));data_->setArgument(9,attr);} } // Function implementations for IfcStructuralConnection -::Ifc4x3_rc2::IfcBoundaryCondition* Ifc4x3_rc2::IfcStructuralConnection::AppliedCondition() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc2::IfcBoundaryCondition>(); } +::Ifc4x3_rc2::IfcBoundaryCondition* Ifc4x3_rc2::IfcStructuralConnection::AppliedCondition() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc2::IfcBoundaryCondition>(true); } void Ifc4x3_rc2::IfcStructuralConnection::setAppliedCondition(::Ifc4x3_rc2::IfcBoundaryCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x3_rc2::IfcRelConnectsStructuralMember::list::ptr Ifc4x3_rc2::IfcStructuralConnection::ConnectsStructuralMembers() const { return data_->getInverse(IFC4X3_RC2_IfcRelConnectsStructuralMember_type, 5)->as(); } @@ -21515,7 +21716,7 @@ Ifc4x3_rc2::IfcStructuralCurveAction::IfcStructuralCurveAction(IfcEntityInstance Ifc4x3_rc2::IfcStructuralCurveAction::IfcStructuralCurveAction(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcStructuralCurveAction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc4x3_rc2::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);} if (v10_DestabilizingLoad) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_DestabilizingLoad));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_ProjectedOrTrue) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_ProjectedOrTrue,::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::ToString(*v11_ProjectedOrTrue))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcStructuralCurveConnection -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcStructuralCurveConnection::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcDirection>(); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcStructuralCurveConnection::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcStructuralCurveConnection::setAxis(::Ifc4x3_rc2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -21527,7 +21728,7 @@ Ifc4x3_rc2::IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::stri // Function implementations for IfcStructuralCurveMember ::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_rc2::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc2::IfcStructuralCurveMember::setPredefinedType(::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::ToString(v)));data_->setArgument(7,attr);} } -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcDirection>(); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcStructuralCurveMember::setAxis(::Ifc4x3_rc2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -21773,7 +21974,7 @@ Ifc4x3_rc2::IfcStructuralPointAction::IfcStructuralPointAction(IfcEntityInstance Ifc4x3_rc2::IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralAction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcStructuralPointAction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc4x3_rc2::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);} if (v10_DestabilizingLoad) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_DestabilizingLoad));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcStructuralPointConnection -::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(); } +::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(true); } void Ifc4x3_rc2::IfcStructuralPointConnection::setConditionCoordinateSystem(::Ifc4x3_rc2::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -21801,7 +22002,7 @@ Ifc4x3_rc2::IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId // Function implementations for IfcStructuralResultGroup ::Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_rc2::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::FromString(*data_->getArgument(5)); } void Ifc4x3_rc2::IfcStructuralResultGroup::setTheoryType(::Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::ToString(v)));data_->setArgument(5,attr);} } -::Ifc4x3_rc2::IfcStructuralLoadGroup* Ifc4x3_rc2::IfcStructuralResultGroup::ResultForLoadGroup() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcStructuralLoadGroup>(); } +::Ifc4x3_rc2::IfcStructuralLoadGroup* Ifc4x3_rc2::IfcStructuralResultGroup::ResultForLoadGroup() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcStructuralLoadGroup>(true); } void Ifc4x3_rc2::IfcStructuralResultGroup::setResultForLoadGroup(::Ifc4x3_rc2::IfcStructuralLoadGroup* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } bool Ifc4x3_rc2::IfcStructuralResultGroup::IsLinear() const { bool v = *data_->getArgument(7); return v; } void Ifc4x3_rc2::IfcStructuralResultGroup::setIsLinear(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -21872,7 +22073,7 @@ Ifc4x3_rc2::IfcStyleModel::IfcStyleModel(IfcEntityInstanceData* e) : IfcRepresen Ifc4x3_rc2::IfcStyleModel::IfcStyleModel(::Ifc4x3_rc2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc2::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcStyleModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcStyledItem -::Ifc4x3_rc2::IfcRepresentationItem* Ifc4x3_rc2::IfcStyledItem::Item() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcRepresentationItem>(); } +::Ifc4x3_rc2::IfcRepresentationItem* Ifc4x3_rc2::IfcStyledItem::Item() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcRepresentationItem>(true); } void Ifc4x3_rc2::IfcStyledItem::setItem(::Ifc4x3_rc2::IfcRepresentationItem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of_instance::ptr Ifc4x3_rc2::IfcStyledItem::Styles() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcStyledItem::setStyles(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -21914,7 +22115,7 @@ Ifc4x3_rc2::IfcSubContractResourceType::IfcSubContractResourceType(IfcEntityInst Ifc4x3_rc2::IfcSubContractResourceType::IfcSubContractResourceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcSubContractResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcSubedge -::Ifc4x3_rc2::IfcEdge* Ifc4x3_rc2::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcEdge>(); } +::Ifc4x3_rc2::IfcEdge* Ifc4x3_rc2::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcEdge>(true); } void Ifc4x3_rc2::IfcSubedge::setParentEdge(::Ifc4x3_rc2::IfcEdge* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -21932,7 +22133,7 @@ Ifc4x3_rc2::IfcSurface::IfcSurface(IfcEntityInstanceData* e) : IfcGeometricRepre Ifc4x3_rc2::IfcSurface::IfcSurface() : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcSurface_type); } // Function implementations for IfcSurfaceCurve -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCurve>(); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcSurfaceCurve::setCurve3D(::Ifc4x3_rc2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x3_rc2::IfcPcurve >::ptr Ifc4x3_rc2::IfcSurfaceCurve::AssociatedGeometry() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc2::IfcPcurve >(); } void Ifc4x3_rc2::IfcSurfaceCurve::setAssociatedGeometry(aggregate_of< ::Ifc4x3_rc2::IfcPcurve >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -21946,7 +22147,7 @@ Ifc4x3_rc2::IfcSurfaceCurve::IfcSurfaceCurve(IfcEntityInstanceData* e) : IfcCurv Ifc4x3_rc2::IfcSurfaceCurve::IfcSurfaceCurve(::Ifc4x3_rc2::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_rc2::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcSurfaceCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Curve3D));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_AssociatedGeometry)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_MasterRepresentation,::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::ToString(v3_MasterRepresentation))));data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceCurveSweptAreaSolid -::Ifc4x3_rc2::IfcSurface* Ifc4x3_rc2::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcSurface>(); } +::Ifc4x3_rc2::IfcSurface* Ifc4x3_rc2::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcSurface>(true); } void Ifc4x3_rc2::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(::Ifc4x3_rc2::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -21966,7 +22167,7 @@ Ifc4x3_rc2::IfcSurfaceFeature::IfcSurfaceFeature(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc2::IfcSurfaceFeature::IfcSurfaceFeature(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcSurfaceFeature_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcSurfaceOfLinearExtrusion -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcDirection>(); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcSurfaceOfLinearExtrusion::setExtrudedDirection(::Ifc4x3_rc2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc4x3_rc2::IfcSurfaceOfLinearExtrusion::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc2::IfcSurfaceOfLinearExtrusion::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -21978,7 +22179,7 @@ Ifc4x3_rc2::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcEntityIn Ifc4x3_rc2::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(::Ifc4x3_rc2::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_rc2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc2::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcSurfaceOfLinearExtrusion_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ExtrudedDirection));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);} } // Function implementations for IfcSurfaceOfRevolution -::Ifc4x3_rc2::IfcAxis1Placement* Ifc4x3_rc2::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcAxis1Placement>(); } +::Ifc4x3_rc2::IfcAxis1Placement* Ifc4x3_rc2::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcAxis1Placement>(true); } void Ifc4x3_rc2::IfcSurfaceOfRevolution::setAxisPosition(::Ifc4x3_rc2::IfcAxis1Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -22014,13 +22215,13 @@ Ifc4x3_rc2::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData* e) : IfcPres Ifc4x3_rc2::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcSurfaceSide::Value v2_Side, aggregate_of_instance::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x3_rc2::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceStyleLighting -::Ifc4x3_rc2::IfcColourRgb* Ifc4x3_rc2::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcColourRgb>(); } +::Ifc4x3_rc2::IfcColourRgb* Ifc4x3_rc2::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcColourRgb>(true); } void Ifc4x3_rc2::IfcSurfaceStyleLighting::setDiffuseTransmissionColour(::Ifc4x3_rc2::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc2::IfcColourRgb* Ifc4x3_rc2::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcColourRgb>(); } +::Ifc4x3_rc2::IfcColourRgb* Ifc4x3_rc2::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcColourRgb>(true); } void Ifc4x3_rc2::IfcSurfaceStyleLighting::setDiffuseReflectionColour(::Ifc4x3_rc2::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc2::IfcColourRgb* Ifc4x3_rc2::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcColourRgb>(); } +::Ifc4x3_rc2::IfcColourRgb* Ifc4x3_rc2::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcColourRgb>(true); } void Ifc4x3_rc2::IfcSurfaceStyleLighting::setTransmissionColour(::Ifc4x3_rc2::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc2::IfcColourRgb* Ifc4x3_rc2::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcColourRgb>(); } +::Ifc4x3_rc2::IfcColourRgb* Ifc4x3_rc2::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcColourRgb>(true); } void Ifc4x3_rc2::IfcSurfaceStyleLighting::setReflectanceColour(::Ifc4x3_rc2::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -22042,17 +22243,17 @@ Ifc4x3_rc2::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(IfcEntityInstan Ifc4x3_rc2::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcSurfaceStyleRefraction_type); if (v1_RefractionIndex) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RefractionIndex));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_DispersionFactor) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_DispersionFactor));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcSurfaceStyleRendering -::Ifc4x3_rc2::IfcColourOrFactor* Ifc4x3_rc2::IfcSurfaceStyleRendering::DiffuseColour() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcColourOrFactor>(); } +::Ifc4x3_rc2::IfcColourOrFactor* Ifc4x3_rc2::IfcSurfaceStyleRendering::DiffuseColour() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcColourOrFactor>(true); } void Ifc4x3_rc2::IfcSurfaceStyleRendering::setDiffuseColour(::Ifc4x3_rc2::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc2::IfcColourOrFactor* Ifc4x3_rc2::IfcSurfaceStyleRendering::TransmissionColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcColourOrFactor>(); } +::Ifc4x3_rc2::IfcColourOrFactor* Ifc4x3_rc2::IfcSurfaceStyleRendering::TransmissionColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcColourOrFactor>(true); } void Ifc4x3_rc2::IfcSurfaceStyleRendering::setTransmissionColour(::Ifc4x3_rc2::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc2::IfcColourOrFactor* Ifc4x3_rc2::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcColourOrFactor>(); } +::Ifc4x3_rc2::IfcColourOrFactor* Ifc4x3_rc2::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcColourOrFactor>(true); } void Ifc4x3_rc2::IfcSurfaceStyleRendering::setDiffuseTransmissionColour(::Ifc4x3_rc2::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc2::IfcColourOrFactor* Ifc4x3_rc2::IfcSurfaceStyleRendering::ReflectionColour() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcColourOrFactor>(); } +::Ifc4x3_rc2::IfcColourOrFactor* Ifc4x3_rc2::IfcSurfaceStyleRendering::ReflectionColour() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcColourOrFactor>(true); } void Ifc4x3_rc2::IfcSurfaceStyleRendering::setReflectionColour(::Ifc4x3_rc2::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc2::IfcColourOrFactor* Ifc4x3_rc2::IfcSurfaceStyleRendering::SpecularColour() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcColourOrFactor>(); } +::Ifc4x3_rc2::IfcColourOrFactor* Ifc4x3_rc2::IfcSurfaceStyleRendering::SpecularColour() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcColourOrFactor>(true); } void Ifc4x3_rc2::IfcSurfaceStyleRendering::setSpecularColour(::Ifc4x3_rc2::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4x3_rc2::IfcSpecularHighlightSelect* Ifc4x3_rc2::IfcSurfaceStyleRendering::SpecularHighlight() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc2::IfcSpecularHighlightSelect>(); } +::Ifc4x3_rc2::IfcSpecularHighlightSelect* Ifc4x3_rc2::IfcSurfaceStyleRendering::SpecularHighlight() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc2::IfcSpecularHighlightSelect>(true); } void Ifc4x3_rc2::IfcSurfaceStyleRendering::setSpecularHighlight(::Ifc4x3_rc2::IfcSpecularHighlightSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x3_rc2::IfcReflectanceMethodEnum::Value Ifc4x3_rc2::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4x3_rc2::IfcReflectanceMethodEnum::FromString(*data_->getArgument(8)); } void Ifc4x3_rc2::IfcSurfaceStyleRendering::setReflectanceMethod(::Ifc4x3_rc2::IfcReflectanceMethodEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcReflectanceMethodEnum::ToString(v)));data_->setArgument(8,attr);} } @@ -22064,7 +22265,7 @@ Ifc4x3_rc2::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcEntityInstance Ifc4x3_rc2::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc4x3_rc2::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, ::Ifc4x3_rc2::IfcColourOrFactor* v3_DiffuseColour, ::Ifc4x3_rc2::IfcColourOrFactor* v4_TransmissionColour, ::Ifc4x3_rc2::IfcColourOrFactor* v5_DiffuseTransmissionColour, ::Ifc4x3_rc2::IfcColourOrFactor* v6_ReflectionColour, ::Ifc4x3_rc2::IfcColourOrFactor* v7_SpecularColour, ::Ifc4x3_rc2::IfcSpecularHighlightSelect* v8_SpecularHighlight, ::Ifc4x3_rc2::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) : IfcSurfaceStyleShading((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcSurfaceStyleRendering_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SurfaceColour));data_->setArgument(0,attr);} if (v2_Transparency) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Transparency));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DiffuseColour));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TransmissionColour));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_DiffuseTransmissionColour));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ReflectionColour));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_SpecularColour));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_SpecularHighlight));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_ReflectanceMethod,::Ifc4x3_rc2::IfcReflectanceMethodEnum::ToString(v9_ReflectanceMethod))));data_->setArgument(8,attr);} } // Function implementations for IfcSurfaceStyleShading -::Ifc4x3_rc2::IfcColourRgb* Ifc4x3_rc2::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcColourRgb>(); } +::Ifc4x3_rc2::IfcColourRgb* Ifc4x3_rc2::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcColourRgb>(true); } void Ifc4x3_rc2::IfcSurfaceStyleShading::setSurfaceColour(::Ifc4x3_rc2::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4x3_rc2::IfcSurfaceStyleShading::Transparency() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcSurfaceStyleShading::setTransparency(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } @@ -22092,7 +22293,7 @@ bool Ifc4x3_rc2::IfcSurfaceTexture::RepeatT() const { bool v = *data_->getArgum void Ifc4x3_rc2::IfcSurfaceTexture::setRepeatT(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcSurfaceTexture::Mode() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc2::IfcSurfaceTexture::setMode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x3_rc2::IfcCartesianTransformationOperator2D* Ifc4x3_rc2::IfcSurfaceTexture::TextureTransform() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcCartesianTransformationOperator2D>(); } +::Ifc4x3_rc2::IfcCartesianTransformationOperator2D* Ifc4x3_rc2::IfcSurfaceTexture::TextureTransform() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcCartesianTransformationOperator2D>(true); } void Ifc4x3_rc2::IfcSurfaceTexture::setTextureTransform(::Ifc4x3_rc2::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcSurfaceTexture::Parameter() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } void Ifc4x3_rc2::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -22106,9 +22307,9 @@ Ifc4x3_rc2::IfcSurfaceTexture::IfcSurfaceTexture(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc2::IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcSurfaceTexture_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_RepeatS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RepeatT));data_->setArgument(1,attr);} if (v3_Mode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Mode));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TextureTransform));data_->setArgument(3,attr);} if (v5_Parameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Parameter));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcSweptAreaSolid -::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcProfileDef>(); } +::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcProfileDef>(true); } void Ifc4x3_rc2::IfcSweptAreaSolid::setSweptArea(::Ifc4x3_rc2::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcSweptAreaSolid::Position() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(); } +::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcSweptAreaSolid::Position() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(true); } void Ifc4x3_rc2::IfcSweptAreaSolid::setPosition(::Ifc4x3_rc2::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -22118,7 +22319,7 @@ Ifc4x3_rc2::IfcSweptAreaSolid::IfcSweptAreaSolid(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc2::IfcSweptAreaSolid::IfcSweptAreaSolid(::Ifc4x3_rc2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D* v2_Position) : IfcSolidModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcSweptAreaSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);} } // Function implementations for IfcSweptDiskSolid -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCurve>(); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcSweptDiskSolid::setDirectrix(::Ifc4x3_rc2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x3_rc2::IfcSweptDiskSolid::Radius() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcSweptDiskSolid::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -22146,9 +22347,9 @@ Ifc4x3_rc2::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(IfcEntityInst Ifc4x3_rc2::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(::Ifc4x3_rc2::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, boost::optional< double > v6_FilletRadius) : IfcSweptDiskSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcSweptDiskSolidPolygonal_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Directrix));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Radius));data_->setArgument(1,attr);} if (v3_InnerRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_InnerRadius));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_StartParam) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_StartParam));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_EndParam) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_EndParam));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_FilletRadius));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } } // Function implementations for IfcSweptSurface -::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcProfileDef>(); } +::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcProfileDef>(true); } void Ifc4x3_rc2::IfcSweptSurface::setSweptCurve(::Ifc4x3_rc2::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcSweptSurface::Position() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(); } +::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcSweptSurface::Position() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(true); } void Ifc4x3_rc2::IfcSweptSurface::setPosition(::Ifc4x3_rc2::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -22254,9 +22455,9 @@ boost::optional< std::string > Ifc4x3_rc2::IfcTableColumn::Name() const { if(!da void Ifc4x3_rc2::IfcTableColumn::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTableColumn::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc2::IfcTableColumn::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcTableColumn::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcUnit>(); } +::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcTableColumn::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcUnit>(true); } void Ifc4x3_rc2::IfcTableColumn::setUnit(::Ifc4x3_rc2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc2::IfcReference* Ifc4x3_rc2::IfcTableColumn::ReferencePath() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcReference>(); } +::Ifc4x3_rc2::IfcReference* Ifc4x3_rc2::IfcTableColumn::ReferencePath() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcReference>(true); } void Ifc4x3_rc2::IfcTableColumn::setReferencePath(::Ifc4x3_rc2::IfcReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -22306,7 +22507,7 @@ bool Ifc4x3_rc2::IfcTask::IsMilestone() const { bool v = *data_->getArgument(9) void Ifc4x3_rc2::IfcTask::setIsMilestone(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< int > Ifc4x3_rc2::IfcTask::Priority() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } int v = *data_->getArgument(10); return v; } void Ifc4x3_rc2::IfcTask::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } -::Ifc4x3_rc2::IfcTaskTime* Ifc4x3_rc2::IfcTask::TaskTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc2::IfcTaskTime>(); } +::Ifc4x3_rc2::IfcTaskTime* Ifc4x3_rc2::IfcTask::TaskTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc2::IfcTaskTime>(true); } void Ifc4x3_rc2::IfcTask::setTaskTime(::Ifc4x3_rc2::IfcTaskTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< ::Ifc4x3_rc2::IfcTaskTypeEnum::Value > Ifc4x3_rc2::IfcTask::PredefinedType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcTaskTypeEnum::FromString(*data_->getArgument(12)); } void Ifc4x3_rc2::IfcTask::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcTaskTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc2::IfcTaskTypeEnum::ToString(*v)));data_->setArgument(12,attr);} } @@ -22360,7 +22561,7 @@ Ifc4x3_rc2::IfcTaskTime::IfcTaskTime(IfcEntityInstanceData* e) : IfcSchedulingTi Ifc4x3_rc2::IfcTaskTime::IfcTaskTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x3_rc2::IfcTaskDurationEnum::Value > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion) : IfcSchedulingTime((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcTaskTime_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_DataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v2_DataOrigin,::Ifc4x3_rc2::IfcDataOriginEnum::ToString(*v2_DataOrigin))));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UserDefinedDataOrigin));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DurationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v4_DurationType,::Ifc4x3_rc2::IfcTaskDurationEnum::ToString(*v4_DurationType))));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ScheduleDuration) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ScheduleDuration));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ScheduleStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ScheduleStart));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ScheduleFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ScheduleFinish));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_EarlyStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_EarlyStart));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EarlyFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EarlyFinish));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_LateStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_LateStart));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_LateFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_LateFinish));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_FreeFloat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_FreeFloat));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_TotalFloat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_TotalFloat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_IsCritical) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_IsCritical));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_StatusTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_StatusTime));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_ActualDuration) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_ActualDuration));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_ActualStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_ActualStart));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_ActualFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_ActualFinish));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_RemainingTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_RemainingTime));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_Completion) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_Completion));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcTaskTimeRecurring -::Ifc4x3_rc2::IfcRecurrencePattern* Ifc4x3_rc2::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(20)))->as<::Ifc4x3_rc2::IfcRecurrencePattern>(); } +::Ifc4x3_rc2::IfcRecurrencePattern* Ifc4x3_rc2::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(20)))->as<::Ifc4x3_rc2::IfcRecurrencePattern>(true); } void Ifc4x3_rc2::IfcTaskTimeRecurring::setRecurrence(::Ifc4x3_rc2::IfcRecurrencePattern* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(20,attr);} } @@ -22482,7 +22683,7 @@ Ifc4x3_rc2::IfcTendonType::IfcTendonType(IfcEntityInstanceData* e) : IfcReinforc Ifc4x3_rc2::IfcTendonType::IfcTendonType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTendonTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheathDiameter) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcTendonType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc2::IfcTendonTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_SheathDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_SheathDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } } // Function implementations for IfcTessellatedFaceSet -::Ifc4x3_rc2::IfcCartesianPointList3D* Ifc4x3_rc2::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCartesianPointList3D>(); } +::Ifc4x3_rc2::IfcCartesianPointList3D* Ifc4x3_rc2::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCartesianPointList3D>(true); } void Ifc4x3_rc2::IfcTessellatedFaceSet::setCoordinates(::Ifc4x3_rc2::IfcCartesianPointList3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4x3_rc2::IfcIndexedColourMap::list::ptr Ifc4x3_rc2::IfcTessellatedFaceSet::HasColours() const { return data_->getInverse(IFC4X3_RC2_IfcIndexedColourMap_type, 0)->as(); } @@ -22504,7 +22705,7 @@ Ifc4x3_rc2::IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentatio // Function implementations for IfcTextLiteral std::string Ifc4x3_rc2::IfcTextLiteral::Literal() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc2::IfcTextLiteral::setLiteral(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc2::IfcAxis2Placement* Ifc4x3_rc2::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcAxis2Placement>(); } +::Ifc4x3_rc2::IfcAxis2Placement* Ifc4x3_rc2::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcAxis2Placement>(true); } void Ifc4x3_rc2::IfcTextLiteral::setPlacement(::Ifc4x3_rc2::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4x3_rc2::IfcTextPath::Value Ifc4x3_rc2::IfcTextLiteral::Path() const { return ::Ifc4x3_rc2::IfcTextPath::FromString(*data_->getArgument(2)); } void Ifc4x3_rc2::IfcTextLiteral::setPath(::Ifc4x3_rc2::IfcTextPath::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcTextPath::ToString(v)));data_->setArgument(2,attr);} } @@ -22516,7 +22717,7 @@ Ifc4x3_rc2::IfcTextLiteral::IfcTextLiteral(IfcEntityInstanceData* e) : IfcGeomet Ifc4x3_rc2::IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, ::Ifc4x3_rc2::IfcAxis2Placement* v2_Placement, ::Ifc4x3_rc2::IfcTextPath::Value v3_Path) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcTextLiteral_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Literal));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Placement));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_Path,::Ifc4x3_rc2::IfcTextPath::ToString(v3_Path))));data_->setArgument(2,attr);} } // Function implementations for IfcTextLiteralWithExtent -::Ifc4x3_rc2::IfcPlanarExtent* Ifc4x3_rc2::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcPlanarExtent>(); } +::Ifc4x3_rc2::IfcPlanarExtent* Ifc4x3_rc2::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcPlanarExtent>(true); } void Ifc4x3_rc2::IfcTextLiteralWithExtent::setExtent(::Ifc4x3_rc2::IfcPlanarExtent* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } std::string Ifc4x3_rc2::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc2::IfcTextLiteralWithExtent::setBoxAlignment(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -22528,11 +22729,11 @@ Ifc4x3_rc2::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcEntityInstance Ifc4x3_rc2::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(std::string v1_Literal, ::Ifc4x3_rc2::IfcAxis2Placement* v2_Placement, ::Ifc4x3_rc2::IfcTextPath::Value v3_Path, ::Ifc4x3_rc2::IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment) : IfcTextLiteral((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcTextLiteralWithExtent_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Literal));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Placement));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_Path,::Ifc4x3_rc2::IfcTextPath::ToString(v3_Path))));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Extent));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_BoxAlignment));data_->setArgument(4,attr);} } // Function implementations for IfcTextStyle -::Ifc4x3_rc2::IfcTextStyleForDefinedFont* Ifc4x3_rc2::IfcTextStyle::TextCharacterAppearance() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcTextStyleForDefinedFont>(); } +::Ifc4x3_rc2::IfcTextStyleForDefinedFont* Ifc4x3_rc2::IfcTextStyle::TextCharacterAppearance() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcTextStyleForDefinedFont>(true); } void Ifc4x3_rc2::IfcTextStyle::setTextCharacterAppearance(::Ifc4x3_rc2::IfcTextStyleForDefinedFont* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc2::IfcTextStyleTextModel* Ifc4x3_rc2::IfcTextStyle::TextStyle() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcTextStyleTextModel>(); } +::Ifc4x3_rc2::IfcTextStyleTextModel* Ifc4x3_rc2::IfcTextStyle::TextStyle() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcTextStyleTextModel>(true); } void Ifc4x3_rc2::IfcTextStyle::setTextStyle(::Ifc4x3_rc2::IfcTextStyleTextModel* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc2::IfcTextFontSelect* Ifc4x3_rc2::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcTextFontSelect>(); } +::Ifc4x3_rc2::IfcTextFontSelect* Ifc4x3_rc2::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcTextFontSelect>(true); } void Ifc4x3_rc2::IfcTextStyle::setTextFontStyle(::Ifc4x3_rc2::IfcTextFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< bool > Ifc4x3_rc2::IfcTextStyle::ModelOrDraughting() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } bool v = *data_->getArgument(4); return v; } void Ifc4x3_rc2::IfcTextStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -22552,7 +22753,7 @@ boost::optional< std::string > Ifc4x3_rc2::IfcTextStyleFontModel::FontVariant() void Ifc4x3_rc2::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTextStyleFontModel::FontWeight() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc2::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc4x3_rc2::IfcSizeSelect* Ifc4x3_rc2::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcSizeSelect>(); } +::Ifc4x3_rc2::IfcSizeSelect* Ifc4x3_rc2::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc2::IfcSizeSelect>(true); } void Ifc4x3_rc2::IfcTextStyleFontModel::setFontSize(::Ifc4x3_rc2::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -22562,9 +22763,9 @@ Ifc4x3_rc2::IfcTextStyleFontModel::IfcTextStyleFontModel(IfcEntityInstanceData* Ifc4x3_rc2::IfcTextStyleFontModel::IfcTextStyleFontModel(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, boost::optional< std::string > v3_FontStyle, boost::optional< std::string > v4_FontVariant, boost::optional< std::string > v5_FontWeight, ::Ifc4x3_rc2::IfcSizeSelect* v6_FontSize) : IfcPreDefinedTextFont((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcTextStyleFontModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FontFamily));data_->setArgument(1,attr);} if (v3_FontStyle) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_FontStyle));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_FontVariant) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_FontVariant));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_FontWeight) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_FontWeight));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_FontSize));data_->setArgument(5,attr);} } // Function implementations for IfcTextStyleForDefinedFont -::Ifc4x3_rc2::IfcColour* Ifc4x3_rc2::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcColour>(); } +::Ifc4x3_rc2::IfcColour* Ifc4x3_rc2::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcColour>(true); } void Ifc4x3_rc2::IfcTextStyleForDefinedFont::setColour(::Ifc4x3_rc2::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc2::IfcColour* Ifc4x3_rc2::IfcTextStyleForDefinedFont::BackgroundColour() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcColour>(); } +::Ifc4x3_rc2::IfcColour* Ifc4x3_rc2::IfcTextStyleForDefinedFont::BackgroundColour() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc2::IfcColour>(true); } void Ifc4x3_rc2::IfcTextStyleForDefinedFont::setBackgroundColour(::Ifc4x3_rc2::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -22574,19 +22775,19 @@ Ifc4x3_rc2::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcEntityInst Ifc4x3_rc2::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4x3_rc2::IfcColour* v1_Colour, ::Ifc4x3_rc2::IfcColour* v2_BackgroundColour) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcTextStyleForDefinedFont_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Colour));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_BackgroundColour));data_->setArgument(1,attr);} } // Function implementations for IfcTextStyleTextModel -::Ifc4x3_rc2::IfcSizeSelect* Ifc4x3_rc2::IfcTextStyleTextModel::TextIndent() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcSizeSelect>(); } +::Ifc4x3_rc2::IfcSizeSelect* Ifc4x3_rc2::IfcTextStyleTextModel::TextIndent() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcSizeSelect>(true); } void Ifc4x3_rc2::IfcTextStyleTextModel::setTextIndent(::Ifc4x3_rc2::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTextStyleTextModel::TextAlign() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTextStyleTextModel::TextDecoration() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc2::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x3_rc2::IfcSizeSelect* Ifc4x3_rc2::IfcTextStyleTextModel::LetterSpacing() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcSizeSelect>(); } +::Ifc4x3_rc2::IfcSizeSelect* Ifc4x3_rc2::IfcTextStyleTextModel::LetterSpacing() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcSizeSelect>(true); } void Ifc4x3_rc2::IfcTextStyleTextModel::setLetterSpacing(::Ifc4x3_rc2::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc2::IfcSizeSelect* Ifc4x3_rc2::IfcTextStyleTextModel::WordSpacing() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcSizeSelect>(); } +::Ifc4x3_rc2::IfcSizeSelect* Ifc4x3_rc2::IfcTextStyleTextModel::WordSpacing() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc2::IfcSizeSelect>(true); } void Ifc4x3_rc2::IfcTextStyleTextModel::setWordSpacing(::Ifc4x3_rc2::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTextStyleTextModel::TextTransform() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x3_rc2::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4x3_rc2::IfcSizeSelect* Ifc4x3_rc2::IfcTextStyleTextModel::LineHeight() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcSizeSelect>(); } +::Ifc4x3_rc2::IfcSizeSelect* Ifc4x3_rc2::IfcTextStyleTextModel::LineHeight() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc2::IfcSizeSelect>(true); } void Ifc4x3_rc2::IfcTextStyleTextModel::setLineHeight(::Ifc4x3_rc2::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -22620,7 +22821,7 @@ Ifc4x3_rc2::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(aggrega // Function implementations for IfcTextureMap aggregate_of< ::Ifc4x3_rc2::IfcTextureVertex >::ptr Ifc4x3_rc2::IfcTextureMap::Vertices() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc2::IfcTextureVertex >(); } void Ifc4x3_rc2::IfcTextureMap::setVertices(aggregate_of< ::Ifc4x3_rc2::IfcTextureVertex >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } -::Ifc4x3_rc2::IfcFace* Ifc4x3_rc2::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcFace>(); } +::Ifc4x3_rc2::IfcFace* Ifc4x3_rc2::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc2::IfcFace>(true); } void Ifc4x3_rc2::IfcTextureMap::setMappedTo(::Ifc4x3_rc2::IfcFace* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -22676,7 +22877,7 @@ void Ifc4x3_rc2::IfcTimeSeries::setTimeSeriesDataType(::Ifc4x3_rc2::IfcTimeSerie void Ifc4x3_rc2::IfcTimeSeries::setDataOrigin(::Ifc4x3_rc2::IfcDataOriginEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc2::IfcDataOriginEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcTimeSeries::UserDefinedDataOrigin() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4x3_rc2::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } -::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcTimeSeries::Unit() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc2::IfcUnit>(); } +::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcTimeSeries::Unit() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc2::IfcUnit>(true); } void Ifc4x3_rc2::IfcTimeSeries::setUnit(::Ifc4x3_rc2::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x3_rc2::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc2::IfcTimeSeries::HasExternalReference() const { return data_->getInverse(IFC4X3_RC2_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -22783,7 +22984,7 @@ Ifc4x3_rc2::IfcTransitionCurveSegment2D::IfcTransitionCurveSegment2D(IfcEntityIn Ifc4x3_rc2::IfcTransitionCurveSegment2D::IfcTransitionCurveSegment2D(::Ifc4x3_rc2::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, boost::optional< double > v4_StartRadius, boost::optional< double > v5_EndRadius, bool v6_IsStartRadiusCCW, bool v7_IsEndRadiusCCW, ::Ifc4x3_rc2::IfcTransitionCurveType::Value v8_TransitionCurveType) : IfcCurveSegment2D((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcTransitionCurveSegment2D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_StartPoint));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_StartDirection));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SegmentLength));data_->setArgument(2,attr);} if (v4_StartRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_StartRadius));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_EndRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_EndRadius));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_IsStartRadiusCCW));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_IsEndRadiusCCW));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_TransitionCurveType,::Ifc4x3_rc2::IfcTransitionCurveType::ToString(v8_TransitionCurveType))));data_->setArgument(7,attr);} } // Function implementations for IfcTransportElement -::Ifc4x3_rc2::IfcTransportElementTypeSelect* Ifc4x3_rc2::IfcTransportElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcTransportElementTypeSelect>(); } +::Ifc4x3_rc2::IfcTransportElementTypeSelect* Ifc4x3_rc2::IfcTransportElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcTransportElementTypeSelect>(true); } void Ifc4x3_rc2::IfcTransportElement::setPredefinedType(::Ifc4x3_rc2::IfcTransportElementTypeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -22793,7 +22994,7 @@ Ifc4x3_rc2::IfcTransportElement::IfcTransportElement(IfcEntityInstanceData* e) : Ifc4x3_rc2::IfcTransportElement::IfcTransportElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc2::IfcTransportElementTypeSelect* v9_PredefinedType) : IfcElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcTransportElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_PredefinedType));data_->setArgument(8,attr);} } // Function implementations for IfcTransportElementType -::Ifc4x3_rc2::IfcTransportElementTypeSelect* Ifc4x3_rc2::IfcTransportElementType::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc2::IfcTransportElementTypeSelect>(); } +::Ifc4x3_rc2::IfcTransportElementTypeSelect* Ifc4x3_rc2::IfcTransportElementType::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc2::IfcTransportElementTypeSelect>(true); } void Ifc4x3_rc2::IfcTransportElementType::setPredefinedType(::Ifc4x3_rc2::IfcTransportElementTypeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -22845,7 +23046,7 @@ Ifc4x3_rc2::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(Ifc Ifc4x3_rc2::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::Ifc4x3_rc2::IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) : IfcTriangulatedFaceSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcTriangulatedIrregularNetwork_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Coordinates));data_->setArgument(0,attr);} if (v2_Normals) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Normals));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Closed) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Closed));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_CoordIndex));data_->setArgument(3,attr);} if (v5_PnIndex) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_PnIndex));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Flags));data_->setArgument(5,attr);} } // Function implementations for IfcTrimmedCurve -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCurve>(); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcTrimmedCurve::setBasisCurve(::Ifc4x3_rc2::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of_instance::ptr Ifc4x3_rc2::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcTrimmedCurve::setTrim1(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -23031,7 +23232,7 @@ Ifc4x3_rc2::IfcValveType::IfcValveType(IfcEntityInstanceData* e) : IfcFlowContro Ifc4x3_rc2::IfcValveType::IfcValveType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcValveTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcValveType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc2::IfcValveTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcVector -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcDirection>(); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcVector::setOrientation(::Ifc4x3_rc2::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x3_rc2::IfcVector::Magnitude() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc2::IfcVector::setMagnitude(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -23051,7 +23252,7 @@ Ifc4x3_rc2::IfcVertex::IfcVertex(IfcEntityInstanceData* e) : IfcTopologicalRepre Ifc4x3_rc2::IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcVertex_type); } // Function implementations for IfcVertexLoop -::Ifc4x3_rc2::IfcVertex* Ifc4x3_rc2::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcVertex>(); } +::Ifc4x3_rc2::IfcVertex* Ifc4x3_rc2::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcVertex>(true); } void Ifc4x3_rc2::IfcVertexLoop::setLoopVertex(::Ifc4x3_rc2::IfcVertex* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -23061,7 +23262,7 @@ Ifc4x3_rc2::IfcVertexLoop::IfcVertexLoop(IfcEntityInstanceData* e) : IfcLoop((If Ifc4x3_rc2::IfcVertexLoop::IfcVertexLoop(::Ifc4x3_rc2::IfcVertex* v1_LoopVertex) : IfcLoop((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcVertexLoop_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_LoopVertex));data_->setArgument(0,attr);} } // Function implementations for IfcVertexPoint -::Ifc4x3_rc2::IfcPoint* Ifc4x3_rc2::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcPoint>(); } +::Ifc4x3_rc2::IfcPoint* Ifc4x3_rc2::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc2::IfcPoint>(true); } void Ifc4x3_rc2::IfcVertexPoint::setVertexGeometry(::Ifc4x3_rc2::IfcPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -23247,7 +23448,7 @@ boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::FirstMullionOff void Ifc4x3_rc2::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::SecondMullionOffset() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } void Ifc4x3_rc2::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } -::Ifc4x3_rc2::IfcShapeAspect* Ifc4x3_rc2::IfcWindowLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc4x3_rc2::IfcShapeAspect>(); } +::Ifc4x3_rc2::IfcShapeAspect* Ifc4x3_rc2::IfcWindowLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc4x3_rc2::IfcShapeAspect>(true); } void Ifc4x3_rc2::IfcWindowLiningProperties::setShapeAspectStyle(::Ifc4x3_rc2::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::LiningOffset() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } void Ifc4x3_rc2::IfcWindowLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } @@ -23271,7 +23472,7 @@ boost::optional< double > Ifc4x3_rc2::IfcWindowPanelProperties::FrameDepth() con void Ifc4x3_rc2::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc2::IfcWindowPanelProperties::FrameThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4x3_rc2::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } -::Ifc4x3_rc2::IfcShapeAspect* Ifc4x3_rc2::IfcWindowPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcShapeAspect>(); } +::Ifc4x3_rc2::IfcShapeAspect* Ifc4x3_rc2::IfcWindowPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc2::IfcShapeAspect>(true); } void Ifc4x3_rc2::IfcWindowPanelProperties::setShapeAspectStyle(::Ifc4x3_rc2::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -23377,7 +23578,7 @@ Ifc4x3_rc2::IfcWorkSchedule::IfcWorkSchedule(IfcEntityInstanceData* e) : IfcWork Ifc4x3_rc2::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< ::Ifc4x3_rc2::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) : IfcWorkControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC2_IfcWorkSchedule_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_CreationDate));data_->setArgument(6,attr);} if (v8_Creators) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Creators)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_Purpose));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_Duration) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Duration));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_TotalFloat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_TotalFloat));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_StartTime));data_->setArgument(11,attr);} if (v13_FinishTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_FinishTime));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_PredefinedType,::Ifc4x3_rc2::IfcWorkScheduleTypeEnum::ToString(*v14_PredefinedType))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } } // Function implementations for IfcWorkTime -::Ifc4x3_rc2::IfcRecurrencePattern* Ifc4x3_rc2::IfcWorkTime::RecurrencePattern() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcRecurrencePattern>(); } +::Ifc4x3_rc2::IfcRecurrencePattern* Ifc4x3_rc2::IfcWorkTime::RecurrencePattern() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc2::IfcRecurrencePattern>(true); } void Ifc4x3_rc2::IfcWorkTime::setRecurrencePattern(::Ifc4x3_rc2::IfcRecurrencePattern* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc2::IfcWorkTime::Start() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc2::IfcWorkTime::setStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } diff --git a/src/ifcparse/Ifc4x3_rc2.h b/src/ifcparse/Ifc4x3_rc2.h index d0fa99b727..a382d8958f 100644 --- a/src/ifcparse/Ifc4x3_rc2.h +++ b/src/ifcparse/Ifc4x3_rc2.h @@ -60,7 +60,10 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c /// IfcOrganization An organization. /// IfcPerson A person. /// IfcPersonAndOrganization A person related to an organization. -class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. /// /// Select from: @@ -75,17 +78,26 @@ class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface {} /// Selecting IfcMeasureWithUnit allows the specification of both the actual figure for the value together with the currency in which the value is represented. /// Selecting IfcMonetaryMeasure allows the specification only of the value, the currency being as set by the global context /// Selecting IfcRatioMeasure assumes that the amount is a percentage or other REAL number. Note that if the amount is normally specified as -20%, then this figure will need to be converted to a multiplier of 0.8 -class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. /// /// NOTE: Corresponding STEP type: axis2_placement, please refer to ISO/IS 10303-42:1994, p. 19 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 1.5 -class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// /// HISTORY New type in IFC Release 2x4 -class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This select type identifies /// all those types of entities which may participate in a Boolean operation to /// form a CSG solid. @@ -102,7 +114,10 @@ class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseI /// (IfcSolidModel) are defined for being valid Boolean operands. /// /// HISTORY: New Type in IFC Release 1.5.1 -class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. /// /// HISTORY: New Select Type in IFC2x @@ -111,7 +126,10 @@ class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface /// /// IfcClassification (for classification information) /// IfcClassificationReference (for reference into a classification source) -class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. /// /// NOTE  Generally, it is expected that selection will be by IfcClassificationReference to identify an individual classification notation that classifies an element in the building information model. For example an element, such as IfcTank, might be further classified by assigning an IfcClassificationReference with Identification = "L6814" and a ClassificationSource identifying the appropriate version of Uniclass. IfcClassification should only be selected in @@ -125,38 +143,62 @@ class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::I /// /// IfcClassification (for referencing a classification system) /// IfcClassificationReference (for referencing a classification item (or facet) inside a classification system) -class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. /// /// NOTE  Corresponding STEP name: colour. It has been made into a SELECT type in IFC to avoid multiple inheritance for pre defined colour. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// /// HISTORY  New select type in IFC2x4. -class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. /// Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive. /// /// NOTE Corresponding ISO 10303-42 type: csg_select, please refer to ISO/IS 10303-42:1994, p.168 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5.1. -class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. /// /// NOTE Corresponding ISO 10303 name: curve_font_or_scaled_curve_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcCurveMeasureSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCurveMeasureSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve /// and subtypes) within a geometric model, or a curve with associated geometry and coordinates (IfcEdgeCurve) within a topological model. /// SELECT @@ -165,13 +207,19 @@ class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface /// IfcEdgeCurve /// /// HISTORY  New select type in IFC2x Edition 3. -class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. /// /// NOTE Corresponding ISO 10303 name: curve_style_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT /// @@ -179,7 +227,10 @@ class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInt /// IfcPropertyDefinition /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// /// SELECT @@ -254,7 +305,10 @@ class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterfa /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. -class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. /// /// HISTORY: New Select Type in IFC 2x @@ -263,22 +317,34 @@ class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInte /// /// IfcDocumentInformation (for "metadata" of an external document) /// IfcDocumentReference (for reference within a document) -class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcFacilityPartTypeSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcFacilityPartTypeSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. /// /// NOTE Corresponding ISO 10303 name: fill_style_select. Please refer to ISO/IS 10303-46:1994 for /// the final definition of the formal standard. /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. /// /// NOTE: Corresponding ISO 10303 type: geometric_set_select. Please refer to ISO/IS 10303-42:1994, p. 169 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 2x. -class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. /// /// SELECT @@ -287,15 +353,27 @@ class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInter /// IfcVirtualGridIntersection /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcImpactProtectionDeviceTypeSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcImpactProtectionDeviceTypeSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcInterferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcInterferenceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. /// /// It is the collection of all those items, that are assigned to a single layer. These items are representation items or complete representations (IfcRepresentationItem, IfcRepresentation). If an IfcRepresentation is referenced, all IfcRepresentationItem within its set of Items are assigned to the same layer. @@ -303,7 +381,10 @@ class IFC_PARSE_API IfcInterferenceSelect : public virtual IfcUtil::IfcBaseInter /// NOTE: Corresponding ISO 10303 name: layered_item. It was called layered_things in the ISO/CD version and had been renamed to layered_item in the ISO/IS final version. Please refer to ISO/IS 10303-46:1994, p. 13 for the final definition of the formal standard. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. /// /// HISTORY: New Select Type in IFC2x @@ -314,7 +395,10 @@ class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface {} /// IfcLibraryReference (for reference into a library of information by location) /// /// Generally, it is expected that selection will be IfcLibraryReference and only rarely IfcLibraryInformation. IfcLibraryInformation should only be selected in circumstances where there could be a need to indicate the libraries that will be used without making individual references. This may occur for higher level objects such as a project or building. -class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. /// /// The light distribution provides the luminous intensity distribution according to some standardized light distribution curves. @@ -337,9 +421,15 @@ class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface /// directions covers all cases. /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcLinearAxisSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcLinearAxisSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcMaterialSelect provides selection of either a material /// definition or a material usage definition that can be assigned to /// an element, a resource or another entity within IFC. @@ -366,7 +456,10 @@ class IFC_PARSE_API IfcLinearAxisSelect : public virtual IfcUtil::IfcBaseInterfa /// /// IFC2x4 CHANGE The select now includes two new abstract entities IfcMaterialDefinition /// and IfcMaterialUsageDefinition with upward compatibility. The use of IfcMaterialList is deprecated from IFC2x4 onwards. -class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). /// /// NOTE IfcMeasureValue is a select data type for most basic measure types coming from ISO 10303-41. Select item IfcNonNegativeLengthMeasure is in addition to ISO 10303-41. @@ -376,7 +469,10 @@ class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface /// HISTORY New type in IFC Release 1.5.1. /// /// IFC 2x4 change: added IfcNonNegativeLengthMeasure -class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. /// /// HISTORY: New type in IFC Release 2.0 @@ -389,23 +485,38 @@ class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { /// IfcTable /// IfcText /// IfcTimeSeries -class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// /// HISTORY  New select type in IFC Release 2.0. -class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. /// SELECT /// @@ -413,7 +524,10 @@ class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseIn /// IfcVertexPoint /// /// HISTORY  New select type in IFC2x Edition 3. -class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The presentation style select is a selection of one of many kinds of styles, a different one for each kind of geometric representation item to be styled. /// /// NOTE Corresponding ISO 10303 name: presentation_style_Select. Please refer to ISO/IS @@ -422,7 +536,10 @@ class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInter /// HISTORY New type in IFC2x2. /// /// IFC2x4 CHANGE The select type has been deprecated. -class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcProcessSelectprovides the option to either /// select a process or activity occurrence, IfcProcess, /// or a process or activity type, IfcTypeProcess. @@ -433,9 +550,15 @@ class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBase /// IfcTypeProcess /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcProductSelectprovides the option to either select a /// product occurrence, IfcProduct, or a product type, /// IfcTypeProduct. @@ -445,13 +568,22 @@ class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::Ifc /// IfcTypeProduct /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// /// HISTORY  New Select type in IFC2x4. -class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, /// IfcTypeResource. @@ -461,13 +593,22 @@ class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInt /// IfcTypeResource /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < ¥. /// /// A shell of dimensionality 0 is represented by a graph consisting of a single vertex. The vertex shall not have any associated edges. @@ -479,7 +620,10 @@ class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInter /// NOTE  Corresponding ISO 10303 type: shell. Please refer to ISO/IS 10303-42:1994, p. 127 for the final definition of the formal standard. Only the select items closed_shell (IfcClosedShell) and open_shell (IfcOpenShell) have been incorporated in the current IFC release. /// /// HISTORY  New type in IFC2x. -class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcSimpleValue is a select type for selecting between simple value types. /// /// SELECT @@ -499,7 +643,10 @@ class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface {}; /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. -class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. /// /// Definition from ISO: The size (or width) measure value is given in the global drawing length units. @@ -512,7 +659,10 @@ class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface {} /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. -class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. /// SELECT /// @@ -520,7 +670,10 @@ class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcClosedShell /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: The /// IfcSpaceBoundarySelectselects either an internal space /// for internal or external space boundaries, or an external spatial @@ -533,9 +686,15 @@ class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface { /// /// HISTORY New select type /// in IFC2x4. -class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcSpatialReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSpatialReferenceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. /// /// NOTE: The two select types relate to the different ways to specifiy the sharpness (or shininess) of the specular part of the reflectance equation. It relates to the attributes: @@ -546,7 +705,10 @@ class IFC_PARSE_API IfcSpatialReferenceSelect : public virtual IfcUtil::IfcBaseI /// For each surface side style only one of the two methods is needed for calculating the specular part of the equation. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of /// IfcStructuralItem or IfcBuildingElement. The @@ -556,7 +718,10 @@ class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBase /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The style assignment select is a selection of two wasy of assigning presentation styles to an IfcStyledItem. /// /// by directly assigning presentation styles as subtypes of IfcPresentationStyle @@ -567,7 +732,10 @@ class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUt /// NOTE The select type has been introduced to provide an upward compatible improvement for assigning styles to a styled items. /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcStyleAssignmentSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcStyleAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface /// and subtypes) within a geometric model, or a face with associated surface geometry and coordinates (IfcFaceSurface) within a topological model. /// SELECT @@ -577,7 +745,10 @@ class IFC_PARSE_API IfcStyleAssignmentSelect : public virtual IfcUtil::IfcBaseIn /// IfcFaceBasedSurfaceModel (a connected face set, representing a faceted surface as an approximation of a non planar, non rectangular bounded surface) /// /// HISTORY  New select type in IFC2x3. -class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. /// /// The select type only includes the IfcSurfaceStyleRendering (which is the equivalent to surface_style_rendering) from the select type surface_style_element_select. In addition it has the IfcSurfaceStyleLighting, which holds the exact physically based lighting properties for lighting based calculation algorithms (as the opposite to the rendering based calculation), the IfcSurfaceStyleRefraction (for more advanced refraction indices) and IfcSurfaceStyleWithTextures (to allow for image textures applied to surfaces). In addition an IfcExternallyDefinedSurfaceStyle can be selected that points into an external material library. @@ -587,7 +758,10 @@ class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInt /// NOTE: Corresponding ISO 10303 type: surface_style_element_select. Please refer to ISO/IS 10303-46:1994, p. 85 for the final definition of the formal standard. /// /// HISTORY: New Select type in IFC2x2. -class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. /// /// NOTE  IfcTextFontSelect is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation. Corresponding ISO 10303 name: font_select. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard. @@ -595,22 +769,37 @@ class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBa /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. -class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 -class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcTransportElementTypeSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTransportElementTypeSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. /// /// NOTE Corresponding ISO 10303 type: trimming_select, please refer to ISO/IS 10303-42:1994, p. 20 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.0 -class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. /// /// NOTE: Select item IfcMonetaryUnit is an addition to ISO 10303-41. @@ -624,7 +813,10 @@ class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface /// IfcMonetaryUnit: A unit for defining currencies. /// /// HISTORY: New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. /// @@ -635,7 +827,10 @@ class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface {}; /// IfcDerivedMeasureValue A select type for derived measure types. /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. /// @@ -644,11 +839,17 @@ class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface {}; /// definition of the formal standard. /// HISTORY New Type in IFC Release /// 1.5 -class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; class IFC_PARSE_API IfcActionRequestTypeEnum : public IfcUtil::IfcBaseType { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. /// HISTORY: New Enumeration in IFC2x4. diff --git a/src/ifcparse/Ifc4x3_rc3.cpp b/src/ifcparse/Ifc4x3_rc3.cpp index 771363aeae..70e25bb91c 100644 --- a/src/ifcparse/Ifc4x3_rc3.cpp +++ b/src/ifcparse/Ifc4x3_rc3.cpp @@ -1290,6 +1290,70 @@ extern enumeration_type* IFC4X3_RC3_IfcWindowTypePartitioningEnum_type; extern enumeration_type* IFC4X3_RC3_IfcWorkCalendarTypeEnum_type; extern enumeration_type* IFC4X3_RC3_IfcWorkPlanTypeEnum_type; extern enumeration_type* IFC4X3_RC3_IfcWorkScheduleTypeEnum_type; +extern select_type* IFC4X3_RC3_IfcActorSelect_type; +extern select_type* IFC4X3_RC3_IfcAppliedValueSelect_type; +extern select_type* IFC4X3_RC3_IfcAxis2Placement_type; +extern select_type* IFC4X3_RC3_IfcBendingParameterSelect_type; +extern select_type* IFC4X3_RC3_IfcBooleanOperand_type; +extern select_type* IFC4X3_RC3_IfcClassificationReferenceSelect_type; +extern select_type* IFC4X3_RC3_IfcClassificationSelect_type; +extern select_type* IFC4X3_RC3_IfcColour_type; +extern select_type* IFC4X3_RC3_IfcColourOrFactor_type; +extern select_type* IFC4X3_RC3_IfcCoordinateReferenceSystemSelect_type; +extern select_type* IFC4X3_RC3_IfcCsgSelect_type; +extern select_type* IFC4X3_RC3_IfcCurveFontOrScaledCurveFontSelect_type; +extern select_type* IFC4X3_RC3_IfcCurveMeasureSelect_type; +extern select_type* IFC4X3_RC3_IfcCurveOnSurface_type; +extern select_type* IFC4X3_RC3_IfcCurveOrEdgeCurve_type; +extern select_type* IFC4X3_RC3_IfcCurveStyleFontSelect_type; +extern select_type* IFC4X3_RC3_IfcDefinitionSelect_type; +extern select_type* IFC4X3_RC3_IfcDerivedMeasureValue_type; +extern select_type* IFC4X3_RC3_IfcDocumentSelect_type; +extern select_type* IFC4X3_RC3_IfcFacilityPartTypeSelect_type; +extern select_type* IFC4X3_RC3_IfcFillStyleSelect_type; +extern select_type* IFC4X3_RC3_IfcGeometricSetSelect_type; +extern select_type* IFC4X3_RC3_IfcGridPlacementDirectionSelect_type; +extern select_type* IFC4X3_RC3_IfcHatchLineDistanceSelect_type; +extern select_type* IFC4X3_RC3_IfcImpactProtectionDeviceTypeSelect_type; +extern select_type* IFC4X3_RC3_IfcInterferenceSelect_type; +extern select_type* IFC4X3_RC3_IfcLayeredItem_type; +extern select_type* IFC4X3_RC3_IfcLibrarySelect_type; +extern select_type* IFC4X3_RC3_IfcLightDistributionDataSourceSelect_type; +extern select_type* IFC4X3_RC3_IfcMaterialSelect_type; +extern select_type* IFC4X3_RC3_IfcMeasureValue_type; +extern select_type* IFC4X3_RC3_IfcMetricValueSelect_type; +extern select_type* IFC4X3_RC3_IfcModulusOfRotationalSubgradeReactionSelect_type; +extern select_type* IFC4X3_RC3_IfcModulusOfSubgradeReactionSelect_type; +extern select_type* IFC4X3_RC3_IfcModulusOfTranslationalSubgradeReactionSelect_type; +extern select_type* IFC4X3_RC3_IfcObjectReferenceSelect_type; +extern select_type* IFC4X3_RC3_IfcPointOrVertexPoint_type; +extern select_type* IFC4X3_RC3_IfcProcessSelect_type; +extern select_type* IFC4X3_RC3_IfcProductRepresentationSelect_type; +extern select_type* IFC4X3_RC3_IfcProductSelect_type; +extern select_type* IFC4X3_RC3_IfcPropertySetDefinitionSelect_type; +extern select_type* IFC4X3_RC3_IfcResourceObjectSelect_type; +extern select_type* IFC4X3_RC3_IfcResourceSelect_type; +extern select_type* IFC4X3_RC3_IfcRotationalStiffnessSelect_type; +extern select_type* IFC4X3_RC3_IfcSegmentIndexSelect_type; +extern select_type* IFC4X3_RC3_IfcShell_type; +extern select_type* IFC4X3_RC3_IfcSimpleValue_type; +extern select_type* IFC4X3_RC3_IfcSizeSelect_type; +extern select_type* IFC4X3_RC3_IfcSolidOrShell_type; +extern select_type* IFC4X3_RC3_IfcSpaceBoundarySelect_type; +extern select_type* IFC4X3_RC3_IfcSpatialReferenceSelect_type; +extern select_type* IFC4X3_RC3_IfcSpecularHighlightSelect_type; +extern select_type* IFC4X3_RC3_IfcStructuralActivityAssignmentSelect_type; +extern select_type* IFC4X3_RC3_IfcSurfaceOrFaceSurface_type; +extern select_type* IFC4X3_RC3_IfcSurfaceStyleElementSelect_type; +extern select_type* IFC4X3_RC3_IfcTextFontSelect_type; +extern select_type* IFC4X3_RC3_IfcTimeOrRatioSelect_type; +extern select_type* IFC4X3_RC3_IfcTranslationalStiffnessSelect_type; +extern select_type* IFC4X3_RC3_IfcTransportElementTypeSelect_type; +extern select_type* IFC4X3_RC3_IfcTrimmingSelect_type; +extern select_type* IFC4X3_RC3_IfcUnit_type; +extern select_type* IFC4X3_RC3_IfcValue_type; +extern select_type* IFC4X3_RC3_IfcVectorOrDirection_type; +extern select_type* IFC4X3_RC3_IfcWarpingStiffnessSelect_type; const IfcParse::enumeration_type& Ifc4x3_rc3::IfcActionRequestTypeEnum::declaration() const { return *IFC4X3_RC3_IfcActionRequestTypeEnum_type; } @@ -12024,6 +12088,134 @@ Ifc4x3_rc3::IfcWorkScheduleTypeEnum::operator Ifc4x3_rc3::IfcWorkScheduleTypeEnu return FromString((std::string) *data_->getArgument(0)); } +const IfcParse::select_type& Ifc4x3_rc3::IfcActorSelect::Class() { return *IFC4X3_RC3_IfcActorSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcAppliedValueSelect::Class() { return *IFC4X3_RC3_IfcAppliedValueSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcAxis2Placement::Class() { return *IFC4X3_RC3_IfcAxis2Placement_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcBendingParameterSelect::Class() { return *IFC4X3_RC3_IfcBendingParameterSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcBooleanOperand::Class() { return *IFC4X3_RC3_IfcBooleanOperand_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcClassificationReferenceSelect::Class() { return *IFC4X3_RC3_IfcClassificationReferenceSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcClassificationSelect::Class() { return *IFC4X3_RC3_IfcClassificationSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcColour::Class() { return *IFC4X3_RC3_IfcColour_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcColourOrFactor::Class() { return *IFC4X3_RC3_IfcColourOrFactor_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcCoordinateReferenceSystemSelect::Class() { return *IFC4X3_RC3_IfcCoordinateReferenceSystemSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcCsgSelect::Class() { return *IFC4X3_RC3_IfcCsgSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcCurveFontOrScaledCurveFontSelect::Class() { return *IFC4X3_RC3_IfcCurveFontOrScaledCurveFontSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcCurveMeasureSelect::Class() { return *IFC4X3_RC3_IfcCurveMeasureSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcCurveOnSurface::Class() { return *IFC4X3_RC3_IfcCurveOnSurface_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcCurveOrEdgeCurve::Class() { return *IFC4X3_RC3_IfcCurveOrEdgeCurve_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcCurveStyleFontSelect::Class() { return *IFC4X3_RC3_IfcCurveStyleFontSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcDefinitionSelect::Class() { return *IFC4X3_RC3_IfcDefinitionSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcDerivedMeasureValue::Class() { return *IFC4X3_RC3_IfcDerivedMeasureValue_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcDocumentSelect::Class() { return *IFC4X3_RC3_IfcDocumentSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcFacilityPartTypeSelect::Class() { return *IFC4X3_RC3_IfcFacilityPartTypeSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcFillStyleSelect::Class() { return *IFC4X3_RC3_IfcFillStyleSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcGeometricSetSelect::Class() { return *IFC4X3_RC3_IfcGeometricSetSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcGridPlacementDirectionSelect::Class() { return *IFC4X3_RC3_IfcGridPlacementDirectionSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcHatchLineDistanceSelect::Class() { return *IFC4X3_RC3_IfcHatchLineDistanceSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect::Class() { return *IFC4X3_RC3_IfcImpactProtectionDeviceTypeSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcInterferenceSelect::Class() { return *IFC4X3_RC3_IfcInterferenceSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcLayeredItem::Class() { return *IFC4X3_RC3_IfcLayeredItem_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcLibrarySelect::Class() { return *IFC4X3_RC3_IfcLibrarySelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcLightDistributionDataSourceSelect::Class() { return *IFC4X3_RC3_IfcLightDistributionDataSourceSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcMaterialSelect::Class() { return *IFC4X3_RC3_IfcMaterialSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcMeasureValue::Class() { return *IFC4X3_RC3_IfcMeasureValue_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcMetricValueSelect::Class() { return *IFC4X3_RC3_IfcMetricValueSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect::Class() { return *IFC4X3_RC3_IfcModulusOfRotationalSubgradeReactionSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect::Class() { return *IFC4X3_RC3_IfcModulusOfSubgradeReactionSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect::Class() { return *IFC4X3_RC3_IfcModulusOfTranslationalSubgradeReactionSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcObjectReferenceSelect::Class() { return *IFC4X3_RC3_IfcObjectReferenceSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcPointOrVertexPoint::Class() { return *IFC4X3_RC3_IfcPointOrVertexPoint_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcProcessSelect::Class() { return *IFC4X3_RC3_IfcProcessSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcProductRepresentationSelect::Class() { return *IFC4X3_RC3_IfcProductRepresentationSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcProductSelect::Class() { return *IFC4X3_RC3_IfcProductSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcPropertySetDefinitionSelect::Class() { return *IFC4X3_RC3_IfcPropertySetDefinitionSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcResourceObjectSelect::Class() { return *IFC4X3_RC3_IfcResourceObjectSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcResourceSelect::Class() { return *IFC4X3_RC3_IfcResourceSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcRotationalStiffnessSelect::Class() { return *IFC4X3_RC3_IfcRotationalStiffnessSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcSegmentIndexSelect::Class() { return *IFC4X3_RC3_IfcSegmentIndexSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcShell::Class() { return *IFC4X3_RC3_IfcShell_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcSimpleValue::Class() { return *IFC4X3_RC3_IfcSimpleValue_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcSizeSelect::Class() { return *IFC4X3_RC3_IfcSizeSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcSolidOrShell::Class() { return *IFC4X3_RC3_IfcSolidOrShell_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcSpaceBoundarySelect::Class() { return *IFC4X3_RC3_IfcSpaceBoundarySelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcSpatialReferenceSelect::Class() { return *IFC4X3_RC3_IfcSpatialReferenceSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcSpecularHighlightSelect::Class() { return *IFC4X3_RC3_IfcSpecularHighlightSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcStructuralActivityAssignmentSelect::Class() { return *IFC4X3_RC3_IfcStructuralActivityAssignmentSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcSurfaceOrFaceSurface::Class() { return *IFC4X3_RC3_IfcSurfaceOrFaceSurface_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcSurfaceStyleElementSelect::Class() { return *IFC4X3_RC3_IfcSurfaceStyleElementSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcTextFontSelect::Class() { return *IFC4X3_RC3_IfcTextFontSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcTimeOrRatioSelect::Class() { return *IFC4X3_RC3_IfcTimeOrRatioSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcTranslationalStiffnessSelect::Class() { return *IFC4X3_RC3_IfcTranslationalStiffnessSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcTransportElementTypeSelect::Class() { return *IFC4X3_RC3_IfcTransportElementTypeSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcTrimmingSelect::Class() { return *IFC4X3_RC3_IfcTrimmingSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcUnit::Class() { return *IFC4X3_RC3_IfcUnit_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcValue::Class() { return *IFC4X3_RC3_IfcValue_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcVectorOrDirection::Class() { return *IFC4X3_RC3_IfcVectorOrDirection_type; } + +const IfcParse::select_type& Ifc4x3_rc3::IfcWarpingStiffnessSelect::Class() { return *IFC4X3_RC3_IfcWarpingStiffnessSelect_type; } + // Function implementations for IfcAbsorbedDoseMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcAbsorbedDoseMeasure::Class() { return *IFC4X3_RC3_IfcAbsorbedDoseMeasure_type; } @@ -12951,7 +13143,7 @@ Ifc4x3_rc3::IfcActionRequest::IfcActionRequest(IfcEntityInstanceData* e) : IfcCo Ifc4x3_rc3::IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3_rc3::IfcActionRequestTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcActionRequest_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v7_PredefinedType,::Ifc4x3_rc3::IfcActionRequestTypeEnum::ToString(*v7_PredefinedType))));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Status));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_LongDescription));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcActor -::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcActorSelect>(); } +::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } void Ifc4x3_rc3::IfcActor::setTheActor(::Ifc4x3_rc3::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4x3_rc3::IfcRelAssignsToActor::list::ptr Ifc4x3_rc3::IfcActor::IsActingUpon() const { return data_->getInverse(IFC4X3_RC3_IfcRelAssignsToActor_type, 6)->as(); } @@ -13169,7 +13361,7 @@ Ifc4x3_rc3::IfcAlignmentHorizontal::IfcAlignmentHorizontal(IfcEntityInstanceData Ifc4x3_rc3::IfcAlignmentHorizontal::IfcAlignmentHorizontal(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation) : IfcLinearElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAlignmentHorizontal_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} } // Function implementations for IfcAlignmentHorizontalSegment -::Ifc4x3_rc3::IfcCartesianPoint* Ifc4x3_rc3::IfcAlignmentHorizontalSegment::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcCartesianPoint>(); } +::Ifc4x3_rc3::IfcCartesianPoint* Ifc4x3_rc3::IfcAlignmentHorizontalSegment::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcCartesianPoint>(true); } void Ifc4x3_rc3::IfcAlignmentHorizontalSegment::setStartPoint(::Ifc4x3_rc3::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc4x3_rc3::IfcAlignmentHorizontalSegment::StartDirection() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc3::IfcAlignmentHorizontalSegment::setStartDirection(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -13203,7 +13395,7 @@ Ifc4x3_rc3::IfcAlignmentParameterSegment::IfcAlignmentParameterSegment(IfcEntity Ifc4x3_rc3::IfcAlignmentParameterSegment::IfcAlignmentParameterSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAlignmentParameterSegment_type); if (v1_StartTag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_StartTag));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_EndTag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_EndTag));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcAlignmentSegment -::Ifc4x3_rc3::IfcAlignmentParameterSegment* Ifc4x3_rc3::IfcAlignmentSegment::DesignParameters() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc3::IfcAlignmentParameterSegment>(); } +::Ifc4x3_rc3::IfcAlignmentParameterSegment* Ifc4x3_rc3::IfcAlignmentSegment::DesignParameters() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc3::IfcAlignmentParameterSegment>(true); } void Ifc4x3_rc3::IfcAlignmentSegment::setDesignParameters(::Ifc4x3_rc3::IfcAlignmentParameterSegment* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -13254,7 +13446,7 @@ Ifc4x3_rc3::IfcAnnotation::IfcAnnotation(IfcEntityInstanceData* e) : IfcProduct( Ifc4x3_rc3::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_rc3::IfcAnnotationTypeEnum::Value > v8_PredefinedType) : IfcProduct((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAnnotation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_PredefinedType,::Ifc4x3_rc3::IfcAnnotationTypeEnum::ToString(*v8_PredefinedType))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcAnnotationFillArea -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCurve>(); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcAnnotationFillArea::setOuterBoundary(::Ifc4x3_rc3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcCurve >::ptr > Ifc4x3_rc3::IfcAnnotationFillArea::InnerBoundaries() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc3::IfcCurve >(); } void Ifc4x3_rc3::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcCurve >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(1,attr);} } @@ -13266,7 +13458,7 @@ Ifc4x3_rc3::IfcAnnotationFillArea::IfcAnnotationFillArea(IfcEntityInstanceData* Ifc4x3_rc3::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc4x3_rc3::IfcCurve* v1_OuterBoundary, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcCurve >::ptr > v2_InnerBoundaries) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAnnotationFillArea_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_OuterBoundary));data_->setArgument(0,attr);} if (v2_InnerBoundaries) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_InnerBoundaries)->generalize());data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcApplication -::Ifc4x3_rc3::IfcOrganization* Ifc4x3_rc3::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcOrganization>(); } +::Ifc4x3_rc3::IfcOrganization* Ifc4x3_rc3::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcOrganization>(true); } void Ifc4x3_rc3::IfcApplication::setApplicationDeveloper(::Ifc4x3_rc3::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } std::string Ifc4x3_rc3::IfcApplication::Version() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcApplication::setVersion(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13286,9 +13478,9 @@ boost::optional< std::string > Ifc4x3_rc3::IfcAppliedValue::Name() const { if(!d void Ifc4x3_rc3::IfcAppliedValue::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcAppliedValue::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcAppliedValue::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4x3_rc3::IfcAppliedValueSelect* Ifc4x3_rc3::IfcAppliedValue::AppliedValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcAppliedValueSelect>(); } +::Ifc4x3_rc3::IfcAppliedValueSelect* Ifc4x3_rc3::IfcAppliedValue::AppliedValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcAppliedValueSelect>(true); } void Ifc4x3_rc3::IfcAppliedValue::setAppliedValue(::Ifc4x3_rc3::IfcAppliedValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc3::IfcMeasureWithUnit* Ifc4x3_rc3::IfcAppliedValue::UnitBasis() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcMeasureWithUnit>(); } +::Ifc4x3_rc3::IfcMeasureWithUnit* Ifc4x3_rc3::IfcAppliedValue::UnitBasis() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcMeasureWithUnit>(true); } void Ifc4x3_rc3::IfcAppliedValue::setUnitBasis(::Ifc4x3_rc3::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcAppliedValue::ApplicableDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc3::IfcAppliedValue::setApplicableDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -13325,9 +13517,9 @@ boost::optional< std::string > Ifc4x3_rc3::IfcApproval::Level() const { if(!data void Ifc4x3_rc3::IfcApproval::setLevel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcApproval::Qualifier() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4x3_rc3::IfcApproval::setQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } -::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcApproval::RequestingApproval() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc3::IfcActorSelect>(); } +::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcApproval::RequestingApproval() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } void Ifc4x3_rc3::IfcApproval::setRequestingApproval(::Ifc4x3_rc3::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcApproval::GivingApproval() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcActorSelect>(); } +::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcApproval::GivingApproval() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } void Ifc4x3_rc3::IfcApproval::setGivingApproval(::Ifc4x3_rc3::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } ::Ifc4x3_rc3::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc3::IfcApproval::HasExternalReferences() const { return data_->getInverse(IFC4X3_RC3_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -13342,7 +13534,7 @@ Ifc4x3_rc3::IfcApproval::IfcApproval(IfcEntityInstanceData* e) : IfcUtil::IfcBas Ifc4x3_rc3::IfcApproval::IfcApproval(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_TimeOfApproval, boost::optional< std::string > v5_Status, boost::optional< std::string > v6_Level, boost::optional< std::string > v7_Qualifier, ::Ifc4x3_rc3::IfcActorSelect* v8_RequestingApproval, ::Ifc4x3_rc3::IfcActorSelect* v9_GivingApproval) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcApproval_type); if (v1_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Name));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_TimeOfApproval) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_TimeOfApproval));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Status));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Level) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Level));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Qualifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Qualifier));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_RequestingApproval));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_GivingApproval));data_->setArgument(8,attr);} } // Function implementations for IfcApprovalRelationship -::Ifc4x3_rc3::IfcApproval* Ifc4x3_rc3::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcApproval>(); } +::Ifc4x3_rc3::IfcApproval* Ifc4x3_rc3::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcApproval>(true); } void Ifc4x3_rc3::IfcApprovalRelationship::setRelatingApproval(::Ifc4x3_rc3::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4x3_rc3::IfcApproval >::ptr Ifc4x3_rc3::IfcApprovalRelationship::RelatedApprovals() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc3::IfcApproval >(); } void Ifc4x3_rc3::IfcApprovalRelationship::setRelatedApprovals(aggregate_of< ::Ifc4x3_rc3::IfcApproval >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -13354,7 +13546,7 @@ Ifc4x3_rc3::IfcApprovalRelationship::IfcApprovalRelationship(IfcEntityInstanceDa Ifc4x3_rc3::IfcApprovalRelationship::IfcApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcApproval* v3_RelatingApproval, aggregate_of< ::Ifc4x3_rc3::IfcApproval >::ptr v4_RelatedApprovals) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingApproval));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedApprovals)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcArbitraryClosedProfileDef -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcCurve>(); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcArbitraryClosedProfileDef::setOuterCurve(::Ifc4x3_rc3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -13364,7 +13556,7 @@ Ifc4x3_rc3::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcEntity Ifc4x3_rc3::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcCurve* v3_OuterCurve) : IfcProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcArbitraryClosedProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4x3_rc3::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_OuterCurve));data_->setArgument(2,attr);} } // Function implementations for IfcArbitraryOpenProfileDef -::Ifc4x3_rc3::IfcBoundedCurve* Ifc4x3_rc3::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcBoundedCurve>(); } +::Ifc4x3_rc3::IfcBoundedCurve* Ifc4x3_rc3::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcBoundedCurve>(true); } void Ifc4x3_rc3::IfcArbitraryOpenProfileDef::setCurve(::Ifc4x3_rc3::IfcBoundedCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -13386,21 +13578,21 @@ Ifc4x3_rc3::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::I // Function implementations for IfcAsset boost::optional< std::string > Ifc4x3_rc3::IfcAsset::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x3_rc3::IfcAsset::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4x3_rc3::IfcCostValue* Ifc4x3_rc3::IfcAsset::OriginalValue() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcCostValue>(); } +::Ifc4x3_rc3::IfcCostValue* Ifc4x3_rc3::IfcAsset::OriginalValue() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcCostValue>(true); } void Ifc4x3_rc3::IfcAsset::setOriginalValue(::Ifc4x3_rc3::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4x3_rc3::IfcCostValue* Ifc4x3_rc3::IfcAsset::CurrentValue() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc3::IfcCostValue>(); } +::Ifc4x3_rc3::IfcCostValue* Ifc4x3_rc3::IfcAsset::CurrentValue() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc3::IfcCostValue>(true); } void Ifc4x3_rc3::IfcAsset::setCurrentValue(::Ifc4x3_rc3::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -::Ifc4x3_rc3::IfcCostValue* Ifc4x3_rc3::IfcAsset::TotalReplacementCost() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcCostValue>(); } +::Ifc4x3_rc3::IfcCostValue* Ifc4x3_rc3::IfcAsset::TotalReplacementCost() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcCostValue>(true); } void Ifc4x3_rc3::IfcAsset::setTotalReplacementCost(::Ifc4x3_rc3::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcAsset::Owner() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc3::IfcActorSelect>(); } +::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcAsset::Owner() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } void Ifc4x3_rc3::IfcAsset::setOwner(::Ifc4x3_rc3::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcAsset::User() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc3::IfcActorSelect>(); } +::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcAsset::User() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } void Ifc4x3_rc3::IfcAsset::setUser(::Ifc4x3_rc3::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -::Ifc4x3_rc3::IfcPerson* Ifc4x3_rc3::IfcAsset::ResponsiblePerson() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc3::IfcPerson>(); } +::Ifc4x3_rc3::IfcPerson* Ifc4x3_rc3::IfcAsset::ResponsiblePerson() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc3::IfcPerson>(true); } void Ifc4x3_rc3::IfcAsset::setResponsiblePerson(::Ifc4x3_rc3::IfcPerson* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcAsset::IncorporationDate() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } void Ifc4x3_rc3::IfcAsset::setIncorporationDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } -::Ifc4x3_rc3::IfcCostValue* Ifc4x3_rc3::IfcAsset::DepreciatedValue() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x3_rc3::IfcCostValue>(); } +::Ifc4x3_rc3::IfcCostValue* Ifc4x3_rc3::IfcAsset::DepreciatedValue() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x3_rc3::IfcCostValue>(true); } void Ifc4x3_rc3::IfcAsset::setDepreciatedValue(::Ifc4x3_rc3::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } @@ -13462,7 +13654,7 @@ Ifc4x3_rc3::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(IfcEntityIn Ifc4x3_rc3::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAudioVisualApplianceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcAxis1Placement -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcAxis1Placement::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcDirection>(); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcAxis1Placement::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcAxis1Placement::setAxis(::Ifc4x3_rc3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13472,7 +13664,7 @@ Ifc4x3_rc3::IfcAxis1Placement::IfcAxis1Placement(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc3::IfcAxis1Placement::IfcAxis1Placement(::Ifc4x3_rc3::IfcPoint* v1_Location, ::Ifc4x3_rc3::IfcDirection* v2_Axis) : IfcPlacement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAxis1Placement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Location));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Axis));data_->setArgument(1,attr);} } // Function implementations for IfcAxis2Placement2D -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcAxis2Placement2D::RefDirection() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcDirection>(); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcAxis2Placement2D::RefDirection() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcAxis2Placement2D::setRefDirection(::Ifc4x3_rc3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13482,9 +13674,9 @@ Ifc4x3_rc3::IfcAxis2Placement2D::IfcAxis2Placement2D(IfcEntityInstanceData* e) : Ifc4x3_rc3::IfcAxis2Placement2D::IfcAxis2Placement2D(::Ifc4x3_rc3::IfcPoint* v1_Location, ::Ifc4x3_rc3::IfcDirection* v2_RefDirection) : IfcPlacement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAxis2Placement2D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Location));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RefDirection));data_->setArgument(1,attr);} } // Function implementations for IfcAxis2Placement3D -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcAxis2Placement3D::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcDirection>(); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcAxis2Placement3D::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcAxis2Placement3D::setAxis(::Ifc4x3_rc3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcAxis2Placement3D::RefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcDirection>(); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcAxis2Placement3D::RefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcAxis2Placement3D::setRefDirection(::Ifc4x3_rc3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -13494,9 +13686,9 @@ Ifc4x3_rc3::IfcAxis2Placement3D::IfcAxis2Placement3D(IfcEntityInstanceData* e) : Ifc4x3_rc3::IfcAxis2Placement3D::IfcAxis2Placement3D(::Ifc4x3_rc3::IfcPoint* v1_Location, ::Ifc4x3_rc3::IfcDirection* v2_Axis, ::Ifc4x3_rc3::IfcDirection* v3_RefDirection) : IfcPlacement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcAxis2Placement3D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Location));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Axis));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RefDirection));data_->setArgument(2,attr);} } // Function implementations for IfcAxis2PlacementLinear -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcAxis2PlacementLinear::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcDirection>(); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcAxis2PlacementLinear::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcAxis2PlacementLinear::setAxis(::Ifc4x3_rc3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcAxis2PlacementLinear::RefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcDirection>(); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcAxis2PlacementLinear::RefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcAxis2PlacementLinear::setRefDirection(::Ifc4x3_rc3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -13682,9 +13874,9 @@ Ifc4x3_rc3::IfcBooleanClippingResult::IfcBooleanClippingResult(::Ifc4x3_rc3::Ifc // Function implementations for IfcBooleanResult ::Ifc4x3_rc3::IfcBooleanOperator::Value Ifc4x3_rc3::IfcBooleanResult::Operator() const { return ::Ifc4x3_rc3::IfcBooleanOperator::FromString(*data_->getArgument(0)); } void Ifc4x3_rc3::IfcBooleanResult::setOperator(::Ifc4x3_rc3::IfcBooleanOperator::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcBooleanOperator::ToString(v)));data_->setArgument(0,attr);} } -::Ifc4x3_rc3::IfcBooleanOperand* Ifc4x3_rc3::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcBooleanOperand>(); } +::Ifc4x3_rc3::IfcBooleanOperand* Ifc4x3_rc3::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcBooleanOperand>(true); } void Ifc4x3_rc3::IfcBooleanResult::setFirstOperand(::Ifc4x3_rc3::IfcBooleanOperand* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc3::IfcBooleanOperand* Ifc4x3_rc3::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcBooleanOperand>(); } +::Ifc4x3_rc3::IfcBooleanOperand* Ifc4x3_rc3::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcBooleanOperand>(true); } void Ifc4x3_rc3::IfcBooleanResult::setSecondOperand(::Ifc4x3_rc3::IfcBooleanOperand* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -13720,17 +13912,17 @@ Ifc4x3_rc3::IfcBoundaryCurve::IfcBoundaryCurve(IfcEntityInstanceData* e) : IfcCo Ifc4x3_rc3::IfcBoundaryCurve::IfcBoundaryCurve(aggregate_of< ::Ifc4x3_rc3::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurveOnSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBoundaryCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Segments)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SelfIntersect));data_->setArgument(1,attr);} } // Function implementations for IfcBoundaryEdgeCondition -::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3_rc3::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthX(::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3_rc3::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthY(::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3_rc3::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthZ(::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3_rc3::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3_rc3::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3_rc3::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -13740,11 +13932,11 @@ Ifc4x3_rc3::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(IfcEntityInstance Ifc4x3_rc3::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect* v2_TranslationalStiffnessByLengthX, ::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect* v3_TranslationalStiffnessByLengthY, ::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect* v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect* v5_RotationalStiffnessByLengthX, ::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect* v6_RotationalStiffnessByLengthY, ::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect* v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBoundaryEdgeCondition_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TranslationalStiffnessByLengthX));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TranslationalStiffnessByLengthY));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TranslationalStiffnessByLengthZ));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RotationalStiffnessByLengthX));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RotationalStiffnessByLengthY));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RotationalStiffnessByLengthZ));data_->setArgument(6,attr);} } // Function implementations for IfcBoundaryFaceCondition -::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3_rc3::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaX(::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3_rc3::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaY(::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3_rc3::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -13754,17 +13946,17 @@ Ifc4x3_rc3::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(IfcEntityInstance Ifc4x3_rc3::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect* v2_TranslationalStiffnessByAreaX, ::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect* v3_TranslationalStiffnessByAreaY, ::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect* v4_TranslationalStiffnessByAreaZ) : IfcBoundaryCondition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBoundaryFaceCondition_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TranslationalStiffnessByAreaX));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TranslationalStiffnessByAreaY));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TranslationalStiffnessByAreaZ));data_->setArgument(3,attr);} } // Function implementations for IfcBoundaryNodeCondition -::Ifc4x3_rc3::IfcTranslationalStiffnessSelect* Ifc4x3_rc3::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcTranslationalStiffnessSelect>(); } +::Ifc4x3_rc3::IfcTranslationalStiffnessSelect* Ifc4x3_rc3::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3_rc3::IfcBoundaryNodeCondition::setTranslationalStiffnessX(::Ifc4x3_rc3::IfcTranslationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc3::IfcTranslationalStiffnessSelect* Ifc4x3_rc3::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcTranslationalStiffnessSelect>(); } +::Ifc4x3_rc3::IfcTranslationalStiffnessSelect* Ifc4x3_rc3::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3_rc3::IfcBoundaryNodeCondition::setTranslationalStiffnessY(::Ifc4x3_rc3::IfcTranslationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc3::IfcTranslationalStiffnessSelect* Ifc4x3_rc3::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcTranslationalStiffnessSelect>(); } +::Ifc4x3_rc3::IfcTranslationalStiffnessSelect* Ifc4x3_rc3::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3_rc3::IfcBoundaryNodeCondition::setTranslationalStiffnessZ(::Ifc4x3_rc3::IfcTranslationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc3::IfcRotationalStiffnessSelect* Ifc4x3_rc3::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcRotationalStiffnessSelect>(); } +::Ifc4x3_rc3::IfcRotationalStiffnessSelect* Ifc4x3_rc3::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcRotationalStiffnessSelect>(true); } void Ifc4x3_rc3::IfcBoundaryNodeCondition::setRotationalStiffnessX(::Ifc4x3_rc3::IfcRotationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc3::IfcRotationalStiffnessSelect* Ifc4x3_rc3::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcRotationalStiffnessSelect>(); } +::Ifc4x3_rc3::IfcRotationalStiffnessSelect* Ifc4x3_rc3::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcRotationalStiffnessSelect>(true); } void Ifc4x3_rc3::IfcBoundaryNodeCondition::setRotationalStiffnessY(::Ifc4x3_rc3::IfcRotationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc3::IfcRotationalStiffnessSelect* Ifc4x3_rc3::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcRotationalStiffnessSelect>(); } +::Ifc4x3_rc3::IfcRotationalStiffnessSelect* Ifc4x3_rc3::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcRotationalStiffnessSelect>(true); } void Ifc4x3_rc3::IfcBoundaryNodeCondition::setRotationalStiffnessZ(::Ifc4x3_rc3::IfcRotationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -13774,7 +13966,7 @@ Ifc4x3_rc3::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(IfcEntityInstance Ifc4x3_rc3::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ) : IfcBoundaryCondition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBoundaryNodeCondition_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TranslationalStiffnessX));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TranslationalStiffnessY));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TranslationalStiffnessZ));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RotationalStiffnessX));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RotationalStiffnessY));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RotationalStiffnessZ));data_->setArgument(6,attr);} } // Function implementations for IfcBoundaryNodeConditionWarping -::Ifc4x3_rc3::IfcWarpingStiffnessSelect* Ifc4x3_rc3::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc3::IfcWarpingStiffnessSelect>(); } +::Ifc4x3_rc3::IfcWarpingStiffnessSelect* Ifc4x3_rc3::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc3::IfcWarpingStiffnessSelect>(true); } void Ifc4x3_rc3::IfcBoundaryNodeConditionWarping::setWarpingStiffness(::Ifc4x3_rc3::IfcWarpingStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -13800,7 +13992,7 @@ Ifc4x3_rc3::IfcBoundedSurface::IfcBoundedSurface(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc3::IfcBoundedSurface::IfcBoundedSurface() : IfcSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBoundedSurface_type); } // Function implementations for IfcBoundingBox -::Ifc4x3_rc3::IfcCartesianPoint* Ifc4x3_rc3::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCartesianPoint>(); } +::Ifc4x3_rc3::IfcCartesianPoint* Ifc4x3_rc3::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCartesianPoint>(true); } void Ifc4x3_rc3::IfcBoundingBox::setCorner(::Ifc4x3_rc3::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x3_rc3::IfcBoundingBox::XDim() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcBoundingBox::setXDim(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13816,7 +14008,7 @@ Ifc4x3_rc3::IfcBoundingBox::IfcBoundingBox(IfcEntityInstanceData* e) : IfcGeomet Ifc4x3_rc3::IfcBoundingBox::IfcBoundingBox(::Ifc4x3_rc3::IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcBoundingBox_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Corner));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_XDim));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_YDim));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ZDim));data_->setArgument(3,attr);} } // Function implementations for IfcBoxedHalfSpace -::Ifc4x3_rc3::IfcBoundingBox* Ifc4x3_rc3::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcBoundingBox>(); } +::Ifc4x3_rc3::IfcBoundingBox* Ifc4x3_rc3::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcBoundingBox>(true); } void Ifc4x3_rc3::IfcBoxedHalfSpace::setEnclosure(::Ifc4x3_rc3::IfcBoundingBox* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -13840,7 +14032,7 @@ boost::optional< double > Ifc4x3_rc3::IfcBuilding::ElevationOfRefHeight() const void Ifc4x3_rc3::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc3::IfcBuilding::ElevationOfTerrain() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } void Ifc4x3_rc3::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } -::Ifc4x3_rc3::IfcPostalAddress* Ifc4x3_rc3::IfcBuilding::BuildingAddress() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc3::IfcPostalAddress>(); } +::Ifc4x3_rc3::IfcPostalAddress* Ifc4x3_rc3::IfcBuilding::BuildingAddress() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc3::IfcPostalAddress>(true); } void Ifc4x3_rc3::IfcBuilding::setBuildingAddress(::Ifc4x3_rc3::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } @@ -14120,11 +14312,11 @@ Ifc4x3_rc3::IfcCartesianPointList3D::IfcCartesianPointList3D(IfcEntityInstanceDa Ifc4x3_rc3::IfcCartesianPointList3D::IfcCartesianPointList3D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCartesianPointList3D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CoordList));data_->setArgument(0,attr);} if (v2_TagList) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_TagList));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcCartesianTransformationOperator -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcCartesianTransformationOperator::Axis1() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcDirection>(); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcCartesianTransformationOperator::Axis1() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcCartesianTransformationOperator::setAxis1(::Ifc4x3_rc3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcCartesianTransformationOperator::Axis2() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcDirection>(); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcCartesianTransformationOperator::Axis2() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcCartesianTransformationOperator::setAxis2(::Ifc4x3_rc3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc3::IfcCartesianPoint* Ifc4x3_rc3::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcCartesianPoint>(); } +::Ifc4x3_rc3::IfcCartesianPoint* Ifc4x3_rc3::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcCartesianPoint>(true); } void Ifc4x3_rc3::IfcCartesianTransformationOperator::setLocalOrigin(::Ifc4x3_rc3::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc3::IfcCartesianTransformationOperator::Scale() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4x3_rc3::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } @@ -14154,7 +14346,7 @@ Ifc4x3_rc3::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransfor Ifc4x3_rc3::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(::Ifc4x3_rc3::IfcDirection* v1_Axis1, ::Ifc4x3_rc3::IfcDirection* v2_Axis2, ::Ifc4x3_rc3::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2) : IfcCartesianTransformationOperator2D((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCartesianTransformationOperator2DnonUniform_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Axis1));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Axis2));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_LocalOrigin));data_->setArgument(2,attr);} if (v4_Scale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Scale));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Scale2) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Scale2));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcCartesianTransformationOperator3D -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcCartesianTransformationOperator3D::Axis3() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcDirection>(); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcCartesianTransformationOperator3D::Axis3() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcCartesianTransformationOperator3D::setAxis3(::Ifc4x3_rc3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -14296,7 +14488,7 @@ Ifc4x3_rc3::IfcClassification::IfcClassification(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc3::IfcClassification::IfcClassification(boost::optional< std::string > v1_Source, boost::optional< std::string > v2_Edition, boost::optional< std::string > v3_EditionDate, std::string v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Location, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcClassification_type); if (v1_Source) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Source));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Edition) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Edition));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EditionDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EditionDate));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Name));data_->setArgument(3,attr);} if (v5_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Description));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Location));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ReferenceTokens) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ReferenceTokens));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcClassificationReference -::Ifc4x3_rc3::IfcClassificationReferenceSelect* Ifc4x3_rc3::IfcClassificationReference::ReferencedSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcClassificationReferenceSelect>(); } +::Ifc4x3_rc3::IfcClassificationReferenceSelect* Ifc4x3_rc3::IfcClassificationReference::ReferencedSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcClassificationReferenceSelect>(true); } void Ifc4x3_rc3::IfcClassificationReference::setReferencedSource(::Ifc4x3_rc3::IfcClassificationReferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcClassificationReference::Description() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc3::IfcClassificationReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -14480,7 +14672,7 @@ Ifc4x3_rc3::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(aggregate_of< // Function implementations for IfcCompositeCurveSegment bool Ifc4x3_rc3::IfcCompositeCurveSegment::SameSense() const { bool v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcCompositeCurveSegment::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcCurve>(); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcCompositeCurveSegment::setParentCurve(::Ifc4x3_rc3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -14542,7 +14734,7 @@ Ifc4x3_rc3::IfcCondenserType::IfcCondenserType(IfcEntityInstanceData* e) : IfcEn Ifc4x3_rc3::IfcCondenserType::IfcCondenserType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCondenserTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCondenserType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc3::IfcCondenserTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcConic -::Ifc4x3_rc3::IfcAxis2Placement* Ifc4x3_rc3::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcAxis2Placement>(); } +::Ifc4x3_rc3::IfcAxis2Placement* Ifc4x3_rc3::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcAxis2Placement>(true); } void Ifc4x3_rc3::IfcConic::setPosition(::Ifc4x3_rc3::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -14562,9 +14754,9 @@ Ifc4x3_rc3::IfcConnectedFaceSet::IfcConnectedFaceSet(IfcEntityInstanceData* e) : Ifc4x3_rc3::IfcConnectedFaceSet::IfcConnectedFaceSet(aggregate_of< ::Ifc4x3_rc3::IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcConnectedFaceSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CfsFaces)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcConnectionCurveGeometry -::Ifc4x3_rc3::IfcCurveOrEdgeCurve* Ifc4x3_rc3::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCurveOrEdgeCurve>(); } +::Ifc4x3_rc3::IfcCurveOrEdgeCurve* Ifc4x3_rc3::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCurveOrEdgeCurve>(true); } void Ifc4x3_rc3::IfcConnectionCurveGeometry::setCurveOnRelatingElement(::Ifc4x3_rc3::IfcCurveOrEdgeCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc3::IfcCurveOrEdgeCurve* Ifc4x3_rc3::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcCurveOrEdgeCurve>(); } +::Ifc4x3_rc3::IfcCurveOrEdgeCurve* Ifc4x3_rc3::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcCurveOrEdgeCurve>(true); } void Ifc4x3_rc3::IfcConnectionCurveGeometry::setCurveOnRelatedElement(::Ifc4x3_rc3::IfcCurveOrEdgeCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -14596,9 +14788,9 @@ Ifc4x3_rc3::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcEn Ifc4x3_rc3::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(::Ifc4x3_rc3::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_rc3::IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcConnectionPointEccentricity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_PointOnRelatingElement));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PointOnRelatedElement));data_->setArgument(1,attr);} if (v3_EccentricityInX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EccentricityInX));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_EccentricityInY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_EccentricityInY));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_EccentricityInZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_EccentricityInZ));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcConnectionPointGeometry -::Ifc4x3_rc3::IfcPointOrVertexPoint* Ifc4x3_rc3::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcPointOrVertexPoint>(); } +::Ifc4x3_rc3::IfcPointOrVertexPoint* Ifc4x3_rc3::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcPointOrVertexPoint>(true); } void Ifc4x3_rc3::IfcConnectionPointGeometry::setPointOnRelatingElement(::Ifc4x3_rc3::IfcPointOrVertexPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc3::IfcPointOrVertexPoint* Ifc4x3_rc3::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcPointOrVertexPoint>(); } +::Ifc4x3_rc3::IfcPointOrVertexPoint* Ifc4x3_rc3::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcPointOrVertexPoint>(true); } void Ifc4x3_rc3::IfcConnectionPointGeometry::setPointOnRelatedElement(::Ifc4x3_rc3::IfcPointOrVertexPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -14608,9 +14800,9 @@ Ifc4x3_rc3::IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcEntityInst Ifc4x3_rc3::IfcConnectionPointGeometry::IfcConnectionPointGeometry(::Ifc4x3_rc3::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_rc3::IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcConnectionPointGeometry_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_PointOnRelatingElement));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PointOnRelatedElement));data_->setArgument(1,attr);} } // Function implementations for IfcConnectionSurfaceGeometry -::Ifc4x3_rc3::IfcSurfaceOrFaceSurface* Ifc4x3_rc3::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcSurfaceOrFaceSurface>(); } +::Ifc4x3_rc3::IfcSurfaceOrFaceSurface* Ifc4x3_rc3::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcSurfaceOrFaceSurface>(true); } void Ifc4x3_rc3::IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(::Ifc4x3_rc3::IfcSurfaceOrFaceSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc3::IfcSurfaceOrFaceSurface* Ifc4x3_rc3::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcSurfaceOrFaceSurface>(); } +::Ifc4x3_rc3::IfcSurfaceOrFaceSurface* Ifc4x3_rc3::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcSurfaceOrFaceSurface>(true); } void Ifc4x3_rc3::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(::Ifc4x3_rc3::IfcSurfaceOrFaceSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -14620,9 +14812,9 @@ Ifc4x3_rc3::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcEntity Ifc4x3_rc3::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(::Ifc4x3_rc3::IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, ::Ifc4x3_rc3::IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcConnectionSurfaceGeometry_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SurfaceOnRelatingElement));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SurfaceOnRelatedElement));data_->setArgument(1,attr);} } // Function implementations for IfcConnectionVolumeGeometry -::Ifc4x3_rc3::IfcSolidOrShell* Ifc4x3_rc3::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcSolidOrShell>(); } +::Ifc4x3_rc3::IfcSolidOrShell* Ifc4x3_rc3::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcSolidOrShell>(true); } void Ifc4x3_rc3::IfcConnectionVolumeGeometry::setVolumeOnRelatingElement(::Ifc4x3_rc3::IfcSolidOrShell* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc3::IfcSolidOrShell* Ifc4x3_rc3::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcSolidOrShell>(); } +::Ifc4x3_rc3::IfcSolidOrShell* Ifc4x3_rc3::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcSolidOrShell>(true); } void Ifc4x3_rc3::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(::Ifc4x3_rc3::IfcSolidOrShell* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -14640,7 +14832,7 @@ void Ifc4x3_rc3::IfcConstraint::setDescription(boost::optional< std::string > v) void Ifc4x3_rc3::IfcConstraint::setConstraintGrade(::Ifc4x3_rc3::IfcConstraintEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcConstraintEnum::ToString(v)));data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcConstraint::ConstraintSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x3_rc3::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } -::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcConstraint::CreatingActor() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcActorSelect>(); } +::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcConstraint::CreatingActor() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } void Ifc4x3_rc3::IfcConstraint::setCreatingActor(::Ifc4x3_rc3::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcConstraint::CreationTime() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x3_rc3::IfcConstraint::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } @@ -14716,11 +14908,11 @@ Ifc4x3_rc3::IfcConstructionProductResourceType::IfcConstructionProductResourceTy Ifc4x3_rc3::IfcConstructionProductResourceType::IfcConstructionProductResourceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcConstructionProductResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcConstructionResource -::Ifc4x3_rc3::IfcResourceTime* Ifc4x3_rc3::IfcConstructionResource::Usage() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc3::IfcResourceTime>(); } +::Ifc4x3_rc3::IfcResourceTime* Ifc4x3_rc3::IfcConstructionResource::Usage() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc3::IfcResourceTime>(true); } void Ifc4x3_rc3::IfcConstructionResource::setUsage(::Ifc4x3_rc3::IfcResourceTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > Ifc4x3_rc3::IfcConstructionResource::BaseCosts() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x3_rc3::IfcAppliedValue >(); } void Ifc4x3_rc3::IfcConstructionResource::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } -::Ifc4x3_rc3::IfcPhysicalQuantity* Ifc4x3_rc3::IfcConstructionResource::BaseQuantity() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc3::IfcPhysicalQuantity>(); } +::Ifc4x3_rc3::IfcPhysicalQuantity* Ifc4x3_rc3::IfcConstructionResource::BaseQuantity() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc3::IfcPhysicalQuantity>(true); } void Ifc4x3_rc3::IfcConstructionResource::setBaseQuantity(::Ifc4x3_rc3::IfcPhysicalQuantity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -14732,7 +14924,7 @@ Ifc4x3_rc3::IfcConstructionResource::IfcConstructionResource(std::string v1_Glob // Function implementations for IfcConstructionResourceType boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > Ifc4x3_rc3::IfcConstructionResourceType::BaseCosts() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x3_rc3::IfcAppliedValue >(); } void Ifc4x3_rc3::IfcConstructionResourceType::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(9,attr);} } -::Ifc4x3_rc3::IfcPhysicalQuantity* Ifc4x3_rc3::IfcConstructionResourceType::BaseQuantity() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc3::IfcPhysicalQuantity>(); } +::Ifc4x3_rc3::IfcPhysicalQuantity* Ifc4x3_rc3::IfcConstructionResourceType::BaseQuantity() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc3::IfcPhysicalQuantity>(true); } void Ifc4x3_rc3::IfcConstructionResourceType::setBaseQuantity(::Ifc4x3_rc3::IfcPhysicalQuantity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -14750,7 +14942,7 @@ boost::optional< std::string > Ifc4x3_rc3::IfcContext::Phase() const { if(!data_ void Ifc4x3_rc3::IfcContext::setPhase(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationContext >::ptr > Ifc4x3_rc3::IfcContext::RepresentationContexts() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc3::IfcRepresentationContext >(); } void Ifc4x3_rc3::IfcContext::setRepresentationContexts(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationContext >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } -::Ifc4x3_rc3::IfcUnitAssignment* Ifc4x3_rc3::IfcContext::UnitsInContext() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcUnitAssignment>(); } +::Ifc4x3_rc3::IfcUnitAssignment* Ifc4x3_rc3::IfcContext::UnitsInContext() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcUnitAssignment>(true); } void Ifc4x3_rc3::IfcContext::setUnitsInContext(::Ifc4x3_rc3::IfcUnitAssignment* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } ::Ifc4x3_rc3::IfcRelDefinesByProperties::list::ptr Ifc4x3_rc3::IfcContext::IsDefinedBy() const { return data_->getInverse(IFC4X3_RC3_IfcRelDefinesByProperties_type, 4)->as(); } @@ -14806,7 +14998,7 @@ Ifc4x3_rc3::IfcControllerType::IfcControllerType(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcConversionBasedUnit std::string Ifc4x3_rc3::IfcConversionBasedUnit::Name() const { std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc3::IfcConversionBasedUnit::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc3::IfcMeasureWithUnit* Ifc4x3_rc3::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcMeasureWithUnit>(); } +::Ifc4x3_rc3::IfcMeasureWithUnit* Ifc4x3_rc3::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcMeasureWithUnit>(true); } void Ifc4x3_rc3::IfcConversionBasedUnit::setConversionFactor(::Ifc4x3_rc3::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3_rc3::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc3::IfcConversionBasedUnit::HasExternalReference() const { return data_->getInverse(IFC4X3_RC3_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -14887,9 +15079,9 @@ Ifc4x3_rc3::IfcCoolingTowerType::IfcCoolingTowerType(IfcEntityInstanceData* e) : Ifc4x3_rc3::IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCoolingTowerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcCoordinateOperation -::Ifc4x3_rc3::IfcCoordinateReferenceSystemSelect* Ifc4x3_rc3::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCoordinateReferenceSystemSelect>(); } +::Ifc4x3_rc3::IfcCoordinateReferenceSystemSelect* Ifc4x3_rc3::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCoordinateReferenceSystemSelect>(true); } void Ifc4x3_rc3::IfcCoordinateOperation::setSourceCRS(::Ifc4x3_rc3::IfcCoordinateReferenceSystemSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc3::IfcCoordinateReferenceSystem* Ifc4x3_rc3::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcCoordinateReferenceSystem>(); } +::Ifc4x3_rc3::IfcCoordinateReferenceSystem* Ifc4x3_rc3::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcCoordinateReferenceSystem>(true); } void Ifc4x3_rc3::IfcCoordinateOperation::setTargetCRS(::Ifc4x3_rc3::IfcCoordinateReferenceSystem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15028,7 +15220,7 @@ Ifc4x3_rc3::IfcCrewResourceType::IfcCrewResourceType(IfcEntityInstanceData* e) : Ifc4x3_rc3::IfcCrewResourceType::IfcCrewResourceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCrewResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4x3_rc3::IfcCrewResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcCsgPrimitive3D -::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(); } +::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(true); } void Ifc4x3_rc3::IfcCsgPrimitive3D::setPosition(::Ifc4x3_rc3::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -15038,7 +15230,7 @@ Ifc4x3_rc3::IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc3::IfcCsgPrimitive3D::IfcCsgPrimitive3D(::Ifc4x3_rc3::IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCsgPrimitive3D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);} } // Function implementations for IfcCsgSolid -::Ifc4x3_rc3::IfcCsgSelect* Ifc4x3_rc3::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCsgSelect>(); } +::Ifc4x3_rc3::IfcCsgSelect* Ifc4x3_rc3::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCsgSelect>(true); } void Ifc4x3_rc3::IfcCsgSolid::setTreeRootExpression(::Ifc4x3_rc3::IfcCsgSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -15048,15 +15240,15 @@ Ifc4x3_rc3::IfcCsgSolid::IfcCsgSolid(IfcEntityInstanceData* e) : IfcSolidModel(( Ifc4x3_rc3::IfcCsgSolid::IfcCsgSolid(::Ifc4x3_rc3::IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCsgSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TreeRootExpression));data_->setArgument(0,attr);} } // Function implementations for IfcCurrencyRelationship -::Ifc4x3_rc3::IfcMonetaryUnit* Ifc4x3_rc3::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcMonetaryUnit>(); } +::Ifc4x3_rc3::IfcMonetaryUnit* Ifc4x3_rc3::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcMonetaryUnit>(true); } void Ifc4x3_rc3::IfcCurrencyRelationship::setRelatingMonetaryUnit(::Ifc4x3_rc3::IfcMonetaryUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc3::IfcMonetaryUnit* Ifc4x3_rc3::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcMonetaryUnit>(); } +::Ifc4x3_rc3::IfcMonetaryUnit* Ifc4x3_rc3::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcMonetaryUnit>(true); } void Ifc4x3_rc3::IfcCurrencyRelationship::setRelatedMonetaryUnit(::Ifc4x3_rc3::IfcMonetaryUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } double Ifc4x3_rc3::IfcCurrencyRelationship::ExchangeRate() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc3::IfcCurrencyRelationship::setExchangeRate(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcCurrencyRelationship::RateDateTime() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x3_rc3::IfcCurrencyRelationship::setRateDateTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4x3_rc3::IfcLibraryInformation* Ifc4x3_rc3::IfcCurrencyRelationship::RateSource() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcLibraryInformation>(); } +::Ifc4x3_rc3::IfcLibraryInformation* Ifc4x3_rc3::IfcCurrencyRelationship::RateSource() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcLibraryInformation>(true); } void Ifc4x3_rc3::IfcCurrencyRelationship::setRateSource(::Ifc4x3_rc3::IfcLibraryInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -15094,9 +15286,9 @@ Ifc4x3_rc3::IfcCurve::IfcCurve(IfcEntityInstanceData* e) : IfcGeometricRepresent Ifc4x3_rc3::IfcCurve::IfcCurve() : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCurve_type); } // Function implementations for IfcCurveBoundedPlane -::Ifc4x3_rc3::IfcPlane* Ifc4x3_rc3::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcPlane>(); } +::Ifc4x3_rc3::IfcPlane* Ifc4x3_rc3::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcPlane>(true); } void Ifc4x3_rc3::IfcCurveBoundedPlane::setBasisSurface(::Ifc4x3_rc3::IfcPlane* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcCurve>(); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcCurveBoundedPlane::setOuterBoundary(::Ifc4x3_rc3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x3_rc3::IfcCurve >::ptr Ifc4x3_rc3::IfcCurveBoundedPlane::InnerBoundaries() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc3::IfcCurve >(); } void Ifc4x3_rc3::IfcCurveBoundedPlane::setInnerBoundaries(aggregate_of< ::Ifc4x3_rc3::IfcCurve >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } @@ -15108,7 +15300,7 @@ Ifc4x3_rc3::IfcCurveBoundedPlane::IfcCurveBoundedPlane(IfcEntityInstanceData* e) Ifc4x3_rc3::IfcCurveBoundedPlane::IfcCurveBoundedPlane(::Ifc4x3_rc3::IfcPlane* v1_BasisSurface, ::Ifc4x3_rc3::IfcCurve* v2_OuterBoundary, aggregate_of< ::Ifc4x3_rc3::IfcCurve >::ptr v3_InnerBoundaries) : IfcBoundedSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCurveBoundedPlane_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisSurface));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OuterBoundary));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_InnerBoundaries)->generalize());data_->setArgument(2,attr);} } // Function implementations for IfcCurveBoundedSurface -::Ifc4x3_rc3::IfcSurface* Ifc4x3_rc3::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcSurface>(); } +::Ifc4x3_rc3::IfcSurface* Ifc4x3_rc3::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcSurface>(true); } void Ifc4x3_rc3::IfcCurveBoundedSurface::setBasisSurface(::Ifc4x3_rc3::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x3_rc3::IfcBoundaryCurve >::ptr Ifc4x3_rc3::IfcCurveBoundedSurface::Boundaries() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc3::IfcBoundaryCurve >(); } void Ifc4x3_rc3::IfcCurveBoundedSurface::setBoundaries(aggregate_of< ::Ifc4x3_rc3::IfcBoundaryCurve >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -15122,13 +15314,13 @@ Ifc4x3_rc3::IfcCurveBoundedSurface::IfcCurveBoundedSurface(IfcEntityInstanceData Ifc4x3_rc3::IfcCurveBoundedSurface::IfcCurveBoundedSurface(::Ifc4x3_rc3::IfcSurface* v1_BasisSurface, aggregate_of< ::Ifc4x3_rc3::IfcBoundaryCurve >::ptr v2_Boundaries, bool v3_ImplicitOuter) : IfcBoundedSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCurveBoundedSurface_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisSurface));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Boundaries)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ImplicitOuter));data_->setArgument(2,attr);} } // Function implementations for IfcCurveSegment -::Ifc4x3_rc3::IfcPlacement* Ifc4x3_rc3::IfcCurveSegment::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcPlacement>(); } +::Ifc4x3_rc3::IfcPlacement* Ifc4x3_rc3::IfcCurveSegment::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcPlacement>(true); } void Ifc4x3_rc3::IfcCurveSegment::setPlacement(::Ifc4x3_rc3::IfcPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc3::IfcCurveMeasureSelect* Ifc4x3_rc3::IfcCurveSegment::SegmentStart() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcCurveMeasureSelect>(); } +::Ifc4x3_rc3::IfcCurveMeasureSelect* Ifc4x3_rc3::IfcCurveSegment::SegmentStart() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcCurveMeasureSelect>(true); } void Ifc4x3_rc3::IfcCurveSegment::setSegmentStart(::Ifc4x3_rc3::IfcCurveMeasureSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc3::IfcCurveMeasureSelect* Ifc4x3_rc3::IfcCurveSegment::SegmentLength() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcCurveMeasureSelect>(); } +::Ifc4x3_rc3::IfcCurveMeasureSelect* Ifc4x3_rc3::IfcCurveSegment::SegmentLength() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcCurveMeasureSelect>(true); } void Ifc4x3_rc3::IfcCurveSegment::setSegmentLength(::Ifc4x3_rc3::IfcCurveMeasureSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcCurve>(); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcCurveSegment::setParentCurve(::Ifc4x3_rc3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -15138,11 +15330,11 @@ Ifc4x3_rc3::IfcCurveSegment::IfcCurveSegment(IfcEntityInstanceData* e) : IfcSegm Ifc4x3_rc3::IfcCurveSegment::IfcCurveSegment(::Ifc4x3_rc3::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_rc3::IfcPlacement* v2_Placement, ::Ifc4x3_rc3::IfcCurveMeasureSelect* v3_SegmentStart, ::Ifc4x3_rc3::IfcCurveMeasureSelect* v4_SegmentLength, ::Ifc4x3_rc3::IfcCurve* v5_ParentCurve) : IfcSegment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcCurveSegment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_Transition,::Ifc4x3_rc3::IfcTransitionCode::ToString(v1_Transition))));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Placement));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SegmentStart));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SegmentLength));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ParentCurve));data_->setArgument(4,attr);} } // Function implementations for IfcCurveStyle -::Ifc4x3_rc3::IfcCurveFontOrScaledCurveFontSelect* Ifc4x3_rc3::IfcCurveStyle::CurveFont() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcCurveFontOrScaledCurveFontSelect>(); } +::Ifc4x3_rc3::IfcCurveFontOrScaledCurveFontSelect* Ifc4x3_rc3::IfcCurveStyle::CurveFont() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcCurveFontOrScaledCurveFontSelect>(true); } void Ifc4x3_rc3::IfcCurveStyle::setCurveFont(::Ifc4x3_rc3::IfcCurveFontOrScaledCurveFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc3::IfcSizeSelect* Ifc4x3_rc3::IfcCurveStyle::CurveWidth() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcSizeSelect>(); } +::Ifc4x3_rc3::IfcSizeSelect* Ifc4x3_rc3::IfcCurveStyle::CurveWidth() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcSizeSelect>(true); } void Ifc4x3_rc3::IfcCurveStyle::setCurveWidth(::Ifc4x3_rc3::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc3::IfcColour* Ifc4x3_rc3::IfcCurveStyle::CurveColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcColour>(); } +::Ifc4x3_rc3::IfcColour* Ifc4x3_rc3::IfcCurveStyle::CurveColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcColour>(true); } void Ifc4x3_rc3::IfcCurveStyle::setCurveColour(::Ifc4x3_rc3::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< bool > Ifc4x3_rc3::IfcCurveStyle::ModelOrDraughting() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } bool v = *data_->getArgument(4); return v; } void Ifc4x3_rc3::IfcCurveStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -15168,7 +15360,7 @@ Ifc4x3_rc3::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > // Function implementations for IfcCurveStyleFontAndScaling boost::optional< std::string > Ifc4x3_rc3::IfcCurveStyleFontAndScaling::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc3::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } -::Ifc4x3_rc3::IfcCurveStyleFontSelect* Ifc4x3_rc3::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcCurveStyleFontSelect>(); } +::Ifc4x3_rc3::IfcCurveStyleFontSelect* Ifc4x3_rc3::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcCurveStyleFontSelect>(true); } void Ifc4x3_rc3::IfcCurveStyleFontAndScaling::setCurveFont(::Ifc4x3_rc3::IfcCurveStyleFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } double Ifc4x3_rc3::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = *data_->getArgument(2); return v; } void Ifc4x3_rc3::IfcCurveStyleFontAndScaling::setCurveFontScaling(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -15238,9 +15430,9 @@ Ifc4x3_rc3::IfcDeepFoundationType::IfcDeepFoundationType(IfcEntityInstanceData* Ifc4x3_rc3::IfcDeepFoundationType::IfcDeepFoundationType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDeepFoundationType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcDerivedProfileDef -::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcProfileDef>(); } +::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcProfileDef>(true); } void Ifc4x3_rc3::IfcDerivedProfileDef::setParentProfile(::Ifc4x3_rc3::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc3::IfcCartesianTransformationOperator2D* Ifc4x3_rc3::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcCartesianTransformationOperator2D>(); } +::Ifc4x3_rc3::IfcCartesianTransformationOperator2D* Ifc4x3_rc3::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcCartesianTransformationOperator2D>(true); } void Ifc4x3_rc3::IfcDerivedProfileDef::setOperator(::Ifc4x3_rc3::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcDerivedProfileDef::Label() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc3::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -15266,7 +15458,7 @@ Ifc4x3_rc3::IfcDerivedUnit::IfcDerivedUnit(IfcEntityInstanceData* e) : IfcUtil:: Ifc4x3_rc3::IfcDerivedUnit::IfcDerivedUnit(aggregate_of< ::Ifc4x3_rc3::IfcDerivedUnitElement >::ptr v1_Elements, ::Ifc4x3_rc3::IfcDerivedUnitEnum::Value v2_UnitType, boost::optional< std::string > v3_UserDefinedType) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDerivedUnit_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_UnitType,::Ifc4x3_rc3::IfcDerivedUnitEnum::ToString(v2_UnitType))));data_->setArgument(1,attr);} if (v3_UserDefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UserDefinedType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcDerivedUnitElement -::Ifc4x3_rc3::IfcNamedUnit* Ifc4x3_rc3::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcNamedUnit>(); } +::Ifc4x3_rc3::IfcNamedUnit* Ifc4x3_rc3::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcNamedUnit>(true); } void Ifc4x3_rc3::IfcDerivedUnitElement::setUnit(::Ifc4x3_rc3::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } int Ifc4x3_rc3::IfcDerivedUnitElement::Exponent() const { int v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcDerivedUnitElement::setExponent(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15310,11 +15502,11 @@ Ifc4x3_rc3::IfcDirection::IfcDirection(IfcEntityInstanceData* e) : IfcGeometricR Ifc4x3_rc3::IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionRatios) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDirection_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_DirectionRatios));data_->setArgument(0,attr);} } // Function implementations for IfcDirectrixCurveSweptAreaSolid -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcCurve>(); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::setDirectrix(::Ifc4x3_rc3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc3::IfcCurveMeasureSelect* Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::StartParam() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcCurveMeasureSelect>(); } +::Ifc4x3_rc3::IfcCurveMeasureSelect* Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::StartParam() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcCurveMeasureSelect>(true); } void Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::setStartParam(::Ifc4x3_rc3::IfcCurveMeasureSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc3::IfcCurveMeasureSelect* Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::EndParam() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcCurveMeasureSelect>(); } +::Ifc4x3_rc3::IfcCurveMeasureSelect* Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::EndParam() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcCurveMeasureSelect>(true); } void Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::setEndParam(::Ifc4x3_rc3::IfcCurveMeasureSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -15332,11 +15524,11 @@ Ifc4x3_rc3::IfcDirectrixDerivedReferenceSweptAreaSolid::IfcDirectrixDerivedRefer Ifc4x3_rc3::IfcDirectrixDerivedReferenceSweptAreaSolid::IfcDirectrixDerivedReferenceSweptAreaSolid(::Ifc4x3_rc3::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc3::IfcCurve* v3_Directrix, ::Ifc4x3_rc3::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_rc3::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3_rc3::IfcDirection* v6_FixedReference) : IfcFixedReferenceSweptAreaSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDirectrixDerivedReferenceSweptAreaSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Directrix));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_StartParam));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_EndParam));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_FixedReference));data_->setArgument(5,attr);} } // Function implementations for IfcDirectrixDistanceSweptAreaSolid -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcCurve>(); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::setDirectrix(::Ifc4x3_rc3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc3::IfcPointByDistanceExpression* Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::StartDistance() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcPointByDistanceExpression>(); } +::Ifc4x3_rc3::IfcPointByDistanceExpression* Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::StartDistance() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcPointByDistanceExpression>(true); } void Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::setStartDistance(::Ifc4x3_rc3::IfcPointByDistanceExpression* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc3::IfcPointByDistanceExpression* Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::EndDistance() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcPointByDistanceExpression>(); } +::Ifc4x3_rc3::IfcPointByDistanceExpression* Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::EndDistance() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcPointByDistanceExpression>(true); } void Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::setEndDistance(::Ifc4x3_rc3::IfcPointByDistanceExpression* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -15507,7 +15699,7 @@ boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::Scope() const void Ifc4x3_rc3::IfcDocumentInformation::setScope(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::Revision() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } void Ifc4x3_rc3::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } -::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcActorSelect>(); } +::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } void Ifc4x3_rc3::IfcDocumentInformation::setDocumentOwner(::Ifc4x3_rc3::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc3::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(9); return v; } void Ifc4x3_rc3::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } @@ -15537,7 +15729,7 @@ Ifc4x3_rc3::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData Ifc4x3_rc3::IfcDocumentInformation::IfcDocumentInformation(std::string v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_Location, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, ::Ifc4x3_rc3::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of_instance::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< ::Ifc4x3_rc3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc3::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x3_rc3::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x3_rc3::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcDocumentInformationRelationship -::Ifc4x3_rc3::IfcDocumentInformation* Ifc4x3_rc3::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcDocumentInformation>(); } +::Ifc4x3_rc3::IfcDocumentInformation* Ifc4x3_rc3::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcDocumentInformation>(true); } void Ifc4x3_rc3::IfcDocumentInformationRelationship::setRelatingDocument(::Ifc4x3_rc3::IfcDocumentInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4x3_rc3::IfcDocumentInformation >::ptr Ifc4x3_rc3::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc3::IfcDocumentInformation >(); } void Ifc4x3_rc3::IfcDocumentInformationRelationship::setRelatedDocuments(aggregate_of< ::Ifc4x3_rc3::IfcDocumentInformation >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -15553,7 +15745,7 @@ Ifc4x3_rc3::IfcDocumentInformationRelationship::IfcDocumentInformationRelationsh // Function implementations for IfcDocumentReference boost::optional< std::string > Ifc4x3_rc3::IfcDocumentReference::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x3_rc3::IfcDocumentReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } -::Ifc4x3_rc3::IfcDocumentInformation* Ifc4x3_rc3::IfcDocumentReference::ReferencedDocument() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcDocumentInformation>(); } +::Ifc4x3_rc3::IfcDocumentInformation* Ifc4x3_rc3::IfcDocumentReference::ReferencedDocument() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcDocumentInformation>(true); } void Ifc4x3_rc3::IfcDocumentReference::setReferencedDocument(::Ifc4x3_rc3::IfcDocumentInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4x3_rc3::IfcRelAssociatesDocument::list::ptr Ifc4x3_rc3::IfcDocumentReference::DocumentRefForObjects() const { return data_->getInverse(IFC4X3_RC3_IfcRelAssociatesDocument_type, 5)->as(); } @@ -15602,7 +15794,7 @@ boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::CasingThickness() void Ifc4x3_rc3::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::CasingDepth() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } void Ifc4x3_rc3::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } -::Ifc4x3_rc3::IfcShapeAspect* Ifc4x3_rc3::IfcDoorLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(14)))->as<::Ifc4x3_rc3::IfcShapeAspect>(); } +::Ifc4x3_rc3::IfcShapeAspect* Ifc4x3_rc3::IfcDoorLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(14)))->as<::Ifc4x3_rc3::IfcShapeAspect>(true); } void Ifc4x3_rc3::IfcDoorLiningProperties::setShapeAspectStyle(::Ifc4x3_rc3::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(14,attr);} } boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } void Ifc4x3_rc3::IfcDoorLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } @@ -15624,7 +15816,7 @@ boost::optional< double > Ifc4x3_rc3::IfcDoorPanelProperties::PanelWidth() const void Ifc4x3_rc3::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } ::Ifc4x3_rc3::IfcDoorPanelPositionEnum::Value Ifc4x3_rc3::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x3_rc3::IfcDoorPanelPositionEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc3::IfcDoorPanelProperties::setPanelPosition(::Ifc4x3_rc3::IfcDoorPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcDoorPanelPositionEnum::ToString(v)));data_->setArgument(7,attr);} } -::Ifc4x3_rc3::IfcShapeAspect* Ifc4x3_rc3::IfcDoorPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcShapeAspect>(); } +::Ifc4x3_rc3::IfcShapeAspect* Ifc4x3_rc3::IfcDoorPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcShapeAspect>(true); } void Ifc4x3_rc3::IfcDoorPanelProperties::setShapeAspectStyle(::Ifc4x3_rc3::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -15778,9 +15970,9 @@ Ifc4x3_rc3::IfcEarthworksFill::IfcEarthworksFill(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc3::IfcEarthworksFill::IfcEarthworksFill(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType) : IfcEarthworksElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcEarthworksFill_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4x3_rc3::IfcEarthworksFillTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcEdge -::Ifc4x3_rc3::IfcVertex* Ifc4x3_rc3::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcVertex>(); } +::Ifc4x3_rc3::IfcVertex* Ifc4x3_rc3::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcVertex>(true); } void Ifc4x3_rc3::IfcEdge::setEdgeStart(::Ifc4x3_rc3::IfcVertex* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc3::IfcVertex* Ifc4x3_rc3::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcVertex>(); } +::Ifc4x3_rc3::IfcVertex* Ifc4x3_rc3::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcVertex>(true); } void Ifc4x3_rc3::IfcEdge::setEdgeEnd(::Ifc4x3_rc3::IfcVertex* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15790,7 +15982,7 @@ Ifc4x3_rc3::IfcEdge::IfcEdge(IfcEntityInstanceData* e) : IfcTopologicalRepresent Ifc4x3_rc3::IfcEdge::IfcEdge(::Ifc4x3_rc3::IfcVertex* v1_EdgeStart, ::Ifc4x3_rc3::IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcEdge_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_EdgeStart));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EdgeEnd));data_->setArgument(1,attr);} } // Function implementations for IfcEdgeCurve -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcCurve>(); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcEdgeCurve::setEdgeGeometry(::Ifc4x3_rc3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } bool Ifc4x3_rc3::IfcEdgeCurve::SameSense() const { bool v = *data_->getArgument(3); return v; } void Ifc4x3_rc3::IfcEdgeCurve::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16033,7 +16225,7 @@ Ifc4x3_rc3::IfcElementType::IfcElementType(IfcEntityInstanceData* e) : IfcTypePr Ifc4x3_rc3::IfcElementType::IfcElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcElementarySurface -::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(); } +::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(true); } void Ifc4x3_rc3::IfcElementarySurface::setPosition(::Ifc4x3_rc3::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -16149,7 +16341,7 @@ boost::optional< ::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Value > Ifc4x3_rc3::IfcE void Ifc4x3_rc3::IfcEvent::setEventTriggerType(boost::optional< ::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcEventTriggerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcEvent::UserDefinedEventTriggerType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } void Ifc4x3_rc3::IfcEvent::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } -::Ifc4x3_rc3::IfcEventTime* Ifc4x3_rc3::IfcEvent::EventOccurenceTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc3::IfcEventTime>(); } +::Ifc4x3_rc3::IfcEventTime* Ifc4x3_rc3::IfcEvent::EventOccurenceTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc3::IfcEventTime>(true); } void Ifc4x3_rc3::IfcEvent::setEventOccurenceTime(::Ifc4x3_rc3::IfcEventTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -16226,7 +16418,7 @@ Ifc4x3_rc3::IfcExternalReference::IfcExternalReference(IfcEntityInstanceData* e) Ifc4x3_rc3::IfcExternalReference::IfcExternalReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcExternalReference_type); if (v1_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Location));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Identification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcExternalReferenceRelationship -::Ifc4x3_rc3::IfcExternalReference* Ifc4x3_rc3::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcExternalReference>(); } +::Ifc4x3_rc3::IfcExternalReference* Ifc4x3_rc3::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcExternalReference>(true); } void Ifc4x3_rc3::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x3_rc3::IfcExternalReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of_instance::ptr Ifc4x3_rc3::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } void Ifc4x3_rc3::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16281,7 +16473,7 @@ Ifc4x3_rc3::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(IfcEntity Ifc4x3_rc3::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcExternallyDefinedTextFont_type); if (v1_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Location));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Identification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcExtrudedAreaSolid -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcDirection>(); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcExtrudedAreaSolid::setExtrudedDirection(::Ifc4x3_rc3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc4x3_rc3::IfcExtrudedAreaSolid::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc3::IfcExtrudedAreaSolid::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16293,7 +16485,7 @@ Ifc4x3_rc3::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcEntityInstanceData* e) Ifc4x3_rc3::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(::Ifc4x3_rc3::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc3::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcExtrudedAreaSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ExtrudedDirection));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);} } // Function implementations for IfcExtrudedAreaSolidTapered -::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcProfileDef>(); } +::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcProfileDef>(true); } void Ifc4x3_rc3::IfcExtrudedAreaSolidTapered::setEndSweptArea(::Ifc4x3_rc3::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -16324,7 +16516,7 @@ Ifc4x3_rc3::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(IfcEntityInstance Ifc4x3_rc3::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(aggregate_of< ::Ifc4x3_rc3::IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcFaceBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_FbsmFaces)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcFaceBound -::Ifc4x3_rc3::IfcLoop* Ifc4x3_rc3::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcLoop>(); } +::Ifc4x3_rc3::IfcLoop* Ifc4x3_rc3::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcLoop>(true); } void Ifc4x3_rc3::IfcFaceBound::setBound(::Ifc4x3_rc3::IfcLoop* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } bool Ifc4x3_rc3::IfcFaceBound::Orientation() const { bool v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcFaceBound::setOrientation(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -16344,7 +16536,7 @@ Ifc4x3_rc3::IfcFaceOuterBound::IfcFaceOuterBound(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc3::IfcFaceOuterBound::IfcFaceOuterBound(::Ifc4x3_rc3::IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcFaceOuterBound_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Bound));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Orientation));data_->setArgument(1,attr);} } // Function implementations for IfcFaceSurface -::Ifc4x3_rc3::IfcSurface* Ifc4x3_rc3::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcSurface>(); } +::Ifc4x3_rc3::IfcSurface* Ifc4x3_rc3::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcSurface>(true); } void Ifc4x3_rc3::IfcFaceSurface::setFaceSurface(::Ifc4x3_rc3::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } bool Ifc4x3_rc3::IfcFaceSurface::SameSense() const { bool v = *data_->getArgument(2); return v; } void Ifc4x3_rc3::IfcFaceSurface::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -16382,7 +16574,7 @@ Ifc4x3_rc3::IfcFacility::IfcFacility(IfcEntityInstanceData* e) : IfcSpatialStruc Ifc4x3_rc3::IfcFacility::IfcFacility(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialStructureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcFacility_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_LongName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongName));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_CompositionType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_CompositionType,::Ifc4x3_rc3::IfcElementCompositionEnum::ToString(*v9_CompositionType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcFacilityPart -::Ifc4x3_rc3::IfcFacilityPartTypeSelect* Ifc4x3_rc3::IfcFacilityPart::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc3::IfcFacilityPartTypeSelect>(); } +::Ifc4x3_rc3::IfcFacilityPartTypeSelect* Ifc4x3_rc3::IfcFacilityPart::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc3::IfcFacilityPartTypeSelect>(true); } void Ifc4x3_rc3::IfcFacilityPart::setPredefinedType(::Ifc4x3_rc3::IfcFacilityPartTypeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } ::Ifc4x3_rc3::IfcFacilityUsageEnum::Value Ifc4x3_rc3::IfcFacilityPart::UsageType() const { return ::Ifc4x3_rc3::IfcFacilityUsageEnum::FromString(*data_->getArgument(10)); } void Ifc4x3_rc3::IfcFacilityPart::setUsageType(::Ifc4x3_rc3::IfcFacilityUsageEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcFacilityUsageEnum::ToString(v)));data_->setArgument(10,attr);} } @@ -16492,13 +16684,13 @@ Ifc4x3_rc3::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData* e) : IfcPr Ifc4x3_rc3::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of_instance::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelOrDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelOrDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcFillAreaStyleHatching -::Ifc4x3_rc3::IfcCurveStyle* Ifc4x3_rc3::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCurveStyle>(); } +::Ifc4x3_rc3::IfcCurveStyle* Ifc4x3_rc3::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCurveStyle>(true); } void Ifc4x3_rc3::IfcFillAreaStyleHatching::setHatchLineAppearance(::Ifc4x3_rc3::IfcCurveStyle* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc3::IfcHatchLineDistanceSelect* Ifc4x3_rc3::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcHatchLineDistanceSelect>(); } +::Ifc4x3_rc3::IfcHatchLineDistanceSelect* Ifc4x3_rc3::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcHatchLineDistanceSelect>(true); } void Ifc4x3_rc3::IfcFillAreaStyleHatching::setStartOfNextHatchLine(::Ifc4x3_rc3::IfcHatchLineDistanceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc3::IfcCartesianPoint* Ifc4x3_rc3::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcCartesianPoint>(); } +::Ifc4x3_rc3::IfcCartesianPoint* Ifc4x3_rc3::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcCartesianPoint>(true); } void Ifc4x3_rc3::IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(::Ifc4x3_rc3::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc3::IfcCartesianPoint* Ifc4x3_rc3::IfcFillAreaStyleHatching::PatternStart() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcCartesianPoint>(); } +::Ifc4x3_rc3::IfcCartesianPoint* Ifc4x3_rc3::IfcFillAreaStyleHatching::PatternStart() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcCartesianPoint>(true); } void Ifc4x3_rc3::IfcFillAreaStyleHatching::setPatternStart(::Ifc4x3_rc3::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } double Ifc4x3_rc3::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc3::IfcFillAreaStyleHatching::setHatchLineAngle(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -16564,7 +16756,7 @@ Ifc4x3_rc3::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(IfcEn Ifc4x3_rc3::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcFireSuppressionTerminalType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcFixedReferenceSweptAreaSolid -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcDirection>(); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcFixedReferenceSweptAreaSolid::setFixedReference(::Ifc4x3_rc3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -16816,9 +17008,9 @@ int Ifc4x3_rc3::IfcGeometricRepresentationContext::CoordinateSpaceDimension() co void Ifc4x3_rc3::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc3::IfcGeometricRepresentationContext::Precision() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4x3_rc3::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } -::Ifc4x3_rc3::IfcAxis2Placement* Ifc4x3_rc3::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcAxis2Placement>(); } +::Ifc4x3_rc3::IfcAxis2Placement* Ifc4x3_rc3::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcAxis2Placement>(true); } void Ifc4x3_rc3::IfcGeometricRepresentationContext::setWorldCoordinateSystem(::Ifc4x3_rc3::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcGeometricRepresentationContext::TrueNorth() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcDirection>(); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcGeometricRepresentationContext::TrueNorth() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcGeometricRepresentationContext::setTrueNorth(::Ifc4x3_rc3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4x3_rc3::IfcGeometricRepresentationSubContext::list::ptr Ifc4x3_rc3::IfcGeometricRepresentationContext::HasSubContexts() const { return data_->getInverse(IFC4X3_RC3_IfcGeometricRepresentationSubContext_type, 6)->as(); } @@ -16838,7 +17030,7 @@ Ifc4x3_rc3::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem(IfcEn Ifc4x3_rc3::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcGeometricRepresentationItem_type); } // Function implementations for IfcGeometricRepresentationSubContext -::Ifc4x3_rc3::IfcGeometricRepresentationContext* Ifc4x3_rc3::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcGeometricRepresentationContext>(); } +::Ifc4x3_rc3::IfcGeometricRepresentationContext* Ifc4x3_rc3::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcGeometricRepresentationContext>(true); } void Ifc4x3_rc3::IfcGeometricRepresentationSubContext::setParentContext(::Ifc4x3_rc3::IfcGeometricRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc3::IfcGeometricRepresentationSubContext::TargetScale() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4x3_rc3::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } @@ -16904,9 +17096,9 @@ Ifc4x3_rc3::IfcGeotechnicalStratum::IfcGeotechnicalStratum(IfcEntityInstanceData Ifc4x3_rc3::IfcGeotechnicalStratum::IfcGeotechnicalStratum(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcGeotechnicalStratum_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcGradientCurve -::Ifc4x3_rc3::IfcBoundedCurve* Ifc4x3_rc3::IfcGradientCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcBoundedCurve>(); } +::Ifc4x3_rc3::IfcBoundedCurve* Ifc4x3_rc3::IfcGradientCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcBoundedCurve>(true); } void Ifc4x3_rc3::IfcGradientCurve::setBaseCurve(::Ifc4x3_rc3::IfcBoundedCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc3::IfcPlacement* Ifc4x3_rc3::IfcGradientCurve::EndPoint() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcPlacement>(); } +::Ifc4x3_rc3::IfcPlacement* Ifc4x3_rc3::IfcGradientCurve::EndPoint() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcPlacement>(true); } void Ifc4x3_rc3::IfcGradientCurve::setEndPoint(::Ifc4x3_rc3::IfcPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16934,7 +17126,7 @@ Ifc4x3_rc3::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHist // Function implementations for IfcGridAxis boost::optional< std::string > Ifc4x3_rc3::IfcGridAxis::AxisTag() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc3::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcCurve>(); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcGridAxis::setAxisCurve(::Ifc4x3_rc3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } bool Ifc4x3_rc3::IfcGridAxis::SameSense() const { bool v = *data_->getArgument(2); return v; } void Ifc4x3_rc3::IfcGridAxis::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -16950,9 +17142,9 @@ Ifc4x3_rc3::IfcGridAxis::IfcGridAxis(IfcEntityInstanceData* e) : IfcUtil::IfcBas Ifc4x3_rc3::IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, ::Ifc4x3_rc3::IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcGridAxis_type); if (v1_AxisTag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_AxisTag));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_AxisCurve));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SameSense));data_->setArgument(2,attr);} } // Function implementations for IfcGridPlacement -::Ifc4x3_rc3::IfcVirtualGridIntersection* Ifc4x3_rc3::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcVirtualGridIntersection>(); } +::Ifc4x3_rc3::IfcVirtualGridIntersection* Ifc4x3_rc3::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcVirtualGridIntersection>(true); } void Ifc4x3_rc3::IfcGridPlacement::setPlacementLocation(::Ifc4x3_rc3::IfcVirtualGridIntersection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc3::IfcGridPlacementDirectionSelect* Ifc4x3_rc3::IfcGridPlacement::PlacementRefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcGridPlacementDirectionSelect>(); } +::Ifc4x3_rc3::IfcGridPlacementDirectionSelect* Ifc4x3_rc3::IfcGridPlacement::PlacementRefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcGridPlacementDirectionSelect>(true); } void Ifc4x3_rc3::IfcGridPlacement::setPlacementRefDirection(::Ifc4x3_rc3::IfcGridPlacementDirectionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -16971,7 +17163,7 @@ Ifc4x3_rc3::IfcGroup::IfcGroup(IfcEntityInstanceData* e) : IfcObject((IfcEntityI Ifc4x3_rc3::IfcGroup::IfcGroup(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcGroup_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcHalfSpaceSolid -::Ifc4x3_rc3::IfcSurface* Ifc4x3_rc3::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcSurface>(); } +::Ifc4x3_rc3::IfcSurface* Ifc4x3_rc3::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcSurface>(true); } void Ifc4x3_rc3::IfcHalfSpaceSolid::setBaseSurface(::Ifc4x3_rc3::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } bool Ifc4x3_rc3::IfcHalfSpaceSolid::AgreementFlag() const { bool v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcHalfSpaceSolid::setAgreementFlag(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17055,7 +17247,7 @@ Ifc4x3_rc3::IfcImageTexture::IfcImageTexture(IfcEntityInstanceData* e) : IfcSurf Ifc4x3_rc3::IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) : IfcSurfaceTexture((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcImageTexture_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_RepeatS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RepeatT));data_->setArgument(1,attr);} if (v3_Mode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Mode));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TextureTransform));data_->setArgument(3,attr);} if (v5_Parameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Parameter));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_URLReference));data_->setArgument(5,attr);} } // Function implementations for IfcImpactProtectionDevice -::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc3::IfcImpactProtectionDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect>(); } +::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc3::IfcImpactProtectionDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect>(true); } void Ifc4x3_rc3::IfcImpactProtectionDevice::setPredefinedType(::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -17065,7 +17257,7 @@ Ifc4x3_rc3::IfcImpactProtectionDevice::IfcImpactProtectionDevice(IfcEntityInstan Ifc4x3_rc3::IfcImpactProtectionDevice::IfcImpactProtectionDevice(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect* v9_PredefinedType) : IfcElementComponent((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcImpactProtectionDevice_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_PredefinedType));data_->setArgument(8,attr);} } // Function implementations for IfcImpactProtectionDeviceType -::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc3::IfcImpactProtectionDeviceType::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect>(); } +::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc3::IfcImpactProtectionDeviceType::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect>(true); } void Ifc4x3_rc3::IfcImpactProtectionDeviceType::setPredefinedType(::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -17085,11 +17277,11 @@ Ifc4x3_rc3::IfcInclinedReferenceSweptAreaSolid::IfcInclinedReferenceSweptAreaSol Ifc4x3_rc3::IfcInclinedReferenceSweptAreaSolid::IfcInclinedReferenceSweptAreaSolid(::Ifc4x3_rc3::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc3::IfcCurve* v3_Directrix, ::Ifc4x3_rc3::IfcPointByDistanceExpression* v4_StartDistance, ::Ifc4x3_rc3::IfcPointByDistanceExpression* v5_EndDistance, boost::optional< bool > v6_FixedAxisVertical) : IfcDirectrixDistanceSweptAreaSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcInclinedReferenceSweptAreaSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Directrix));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_StartDistance));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_EndDistance));data_->setArgument(4,attr);} if (v6_FixedAxisVertical) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_FixedAxisVertical));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } } // Function implementations for IfcIndexedColourMap -::Ifc4x3_rc3::IfcTessellatedFaceSet* Ifc4x3_rc3::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcTessellatedFaceSet>(); } +::Ifc4x3_rc3::IfcTessellatedFaceSet* Ifc4x3_rc3::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcTessellatedFaceSet>(true); } void Ifc4x3_rc3::IfcIndexedColourMap::setMappedTo(::Ifc4x3_rc3::IfcTessellatedFaceSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4x3_rc3::IfcIndexedColourMap::Opacity() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcIndexedColourMap::setOpacity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4x3_rc3::IfcColourRgbList* Ifc4x3_rc3::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcColourRgbList>(); } +::Ifc4x3_rc3::IfcColourRgbList* Ifc4x3_rc3::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcColourRgbList>(true); } void Ifc4x3_rc3::IfcIndexedColourMap::setColours(::Ifc4x3_rc3::IfcColourRgbList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } std::vector< int > /*[1:?]*/ Ifc4x3_rc3::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } void Ifc4x3_rc3::IfcIndexedColourMap::setColourIndex(std::vector< int > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17101,7 +17293,7 @@ Ifc4x3_rc3::IfcIndexedColourMap::IfcIndexedColourMap(IfcEntityInstanceData* e) : Ifc4x3_rc3::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3_rc3::IfcTessellatedFaceSet* v1_MappedTo, boost::optional< double > v2_Opacity, ::Ifc4x3_rc3::IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcIndexedColourMap_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MappedTo));data_->setArgument(0,attr);} if (v2_Opacity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Opacity));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Colours));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ColourIndex));data_->setArgument(3,attr);} } // Function implementations for IfcIndexedPolyCurve -::Ifc4x3_rc3::IfcCartesianPointList* Ifc4x3_rc3::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCartesianPointList>(); } +::Ifc4x3_rc3::IfcCartesianPointList* Ifc4x3_rc3::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCartesianPointList>(true); } void Ifc4x3_rc3::IfcIndexedPolyCurve::setPoints(::Ifc4x3_rc3::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc3::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } @@ -17136,9 +17328,9 @@ Ifc4x3_rc3::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(I Ifc4x3_rc3::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) : IfcIndexedPolygonalFace((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcIndexedPolygonalFaceWithVoids_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CoordIndex));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_InnerCoordIndices));data_->setArgument(1,attr);} } // Function implementations for IfcIndexedTextureMap -::Ifc4x3_rc3::IfcTessellatedFaceSet* Ifc4x3_rc3::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcTessellatedFaceSet>(); } +::Ifc4x3_rc3::IfcTessellatedFaceSet* Ifc4x3_rc3::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcTessellatedFaceSet>(true); } void Ifc4x3_rc3::IfcIndexedTextureMap::setMappedTo(::Ifc4x3_rc3::IfcTessellatedFaceSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc3::IfcTextureVertexList* Ifc4x3_rc3::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcTextureVertexList>(); } +::Ifc4x3_rc3::IfcTextureVertexList* Ifc4x3_rc3::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcTextureVertexList>(true); } void Ifc4x3_rc3::IfcIndexedTextureMap::setTexCoords(::Ifc4x3_rc3::IfcTextureVertexList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -17188,15 +17380,15 @@ Ifc4x3_rc3::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4x3_rc3::IfcCurve* v // Function implementations for IfcInventory boost::optional< ::Ifc4x3_rc3::IfcInventoryTypeEnum::Value > Ifc4x3_rc3::IfcInventory::PredefinedType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcInventoryTypeEnum::FromString(*data_->getArgument(5)); } void Ifc4x3_rc3::IfcInventory::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcInventoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcInventoryTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } -::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcInventory::Jurisdiction() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcActorSelect>(); } +::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcInventory::Jurisdiction() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } void Ifc4x3_rc3::IfcInventory::setJurisdiction(::Ifc4x3_rc3::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPerson >::ptr > Ifc4x3_rc3::IfcInventory::ResponsiblePersons() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc3::IfcPerson >(); } void Ifc4x3_rc3::IfcInventory::setResponsiblePersons(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcInventory::LastUpdateDate() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc4x3_rc3::IfcInventory::setLastUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } -::Ifc4x3_rc3::IfcCostValue* Ifc4x3_rc3::IfcInventory::CurrentValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc3::IfcCostValue>(); } +::Ifc4x3_rc3::IfcCostValue* Ifc4x3_rc3::IfcInventory::CurrentValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc3::IfcCostValue>(true); } void Ifc4x3_rc3::IfcInventory::setCurrentValue(::Ifc4x3_rc3::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -::Ifc4x3_rc3::IfcCostValue* Ifc4x3_rc3::IfcInventory::OriginalValue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc3::IfcCostValue>(); } +::Ifc4x3_rc3::IfcCostValue* Ifc4x3_rc3::IfcInventory::OriginalValue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc3::IfcCostValue>(true); } void Ifc4x3_rc3::IfcInventory::setOriginalValue(::Ifc4x3_rc3::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -17308,7 +17500,7 @@ Ifc4x3_rc3::IfcLaborResourceType::IfcLaborResourceType(IfcEntityInstanceData* e) Ifc4x3_rc3::IfcLaborResourceType::IfcLaborResourceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcLaborResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4x3_rc3::IfcLaborResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcLagTime -::Ifc4x3_rc3::IfcTimeOrRatioSelect* Ifc4x3_rc3::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcTimeOrRatioSelect>(); } +::Ifc4x3_rc3::IfcTimeOrRatioSelect* Ifc4x3_rc3::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcTimeOrRatioSelect>(true); } void Ifc4x3_rc3::IfcLagTime::setLagValue(::Ifc4x3_rc3::IfcTimeOrRatioSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3_rc3::IfcTaskDurationEnum::Value Ifc4x3_rc3::IfcLagTime::DurationType() const { return ::Ifc4x3_rc3::IfcTaskDurationEnum::FromString(*data_->getArgument(4)); } void Ifc4x3_rc3::IfcLagTime::setDurationType(::Ifc4x3_rc3::IfcTaskDurationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcTaskDurationEnum::ToString(v)));data_->setArgument(4,attr);} } @@ -17344,7 +17536,7 @@ std::string Ifc4x3_rc3::IfcLibraryInformation::Name() const { std::string v = * void Ifc4x3_rc3::IfcLibraryInformation::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcLibraryInformation::Version() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcLibraryInformation::Publisher() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcActorSelect>(); } +::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcLibraryInformation::Publisher() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } void Ifc4x3_rc3::IfcLibraryInformation::setPublisher(::Ifc4x3_rc3::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcLibraryInformation::VersionDate() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x3_rc3::IfcLibraryInformation::setVersionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } @@ -17366,7 +17558,7 @@ boost::optional< std::string > Ifc4x3_rc3::IfcLibraryReference::Description() co void Ifc4x3_rc3::IfcLibraryReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcLibraryReference::Language() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc3::IfcLibraryReference::setLanguage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc4x3_rc3::IfcLibraryInformation* Ifc4x3_rc3::IfcLibraryReference::ReferencedLibrary() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcLibraryInformation>(); } +::Ifc4x3_rc3::IfcLibraryInformation* Ifc4x3_rc3::IfcLibraryReference::ReferencedLibrary() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcLibraryInformation>(true); } void Ifc4x3_rc3::IfcLibraryReference::setReferencedLibrary(::Ifc4x3_rc3::IfcLibraryInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4x3_rc3::IfcRelAssociatesLibrary::list::ptr Ifc4x3_rc3::IfcLibraryReference::LibraryRefForObjects() const { return data_->getInverse(IFC4X3_RC3_IfcRelAssociatesLibrary_type, 5)->as(); } @@ -17425,7 +17617,7 @@ Ifc4x3_rc3::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4x // Function implementations for IfcLightSource boost::optional< std::string > Ifc4x3_rc3::IfcLightSource::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc3::IfcLightSource::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } -::Ifc4x3_rc3::IfcColourRgb* Ifc4x3_rc3::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcColourRgb>(); } +::Ifc4x3_rc3::IfcColourRgb* Ifc4x3_rc3::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcColourRgb>(true); } void Ifc4x3_rc3::IfcLightSource::setLightColour(::Ifc4x3_rc3::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc3::IfcLightSource::AmbientIntensity() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } void Ifc4x3_rc3::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } @@ -17447,7 +17639,7 @@ Ifc4x3_rc3::IfcLightSourceAmbient::IfcLightSourceAmbient(IfcEntityInstanceData* Ifc4x3_rc3::IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcLightSource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcLightSourceAmbient_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcLightSourceDirectional -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcDirection>(); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcLightSourceDirectional::setOrientation(::Ifc4x3_rc3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -17457,9 +17649,9 @@ Ifc4x3_rc3::IfcLightSourceDirectional::IfcLightSourceDirectional(IfcEntityInstan Ifc4x3_rc3::IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc3::IfcDirection* v5_Orientation) : IfcLightSource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcLightSourceDirectional_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Orientation));data_->setArgument(4,attr);} } // Function implementations for IfcLightSourceGoniometric -::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(); } +::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(true); } void Ifc4x3_rc3::IfcLightSourceGoniometric::setPosition(::Ifc4x3_rc3::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc3::IfcColourRgb* Ifc4x3_rc3::IfcLightSourceGoniometric::ColourAppearance() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcColourRgb>(); } +::Ifc4x3_rc3::IfcColourRgb* Ifc4x3_rc3::IfcLightSourceGoniometric::ColourAppearance() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcColourRgb>(true); } void Ifc4x3_rc3::IfcLightSourceGoniometric::setColourAppearance(::Ifc4x3_rc3::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } double Ifc4x3_rc3::IfcLightSourceGoniometric::ColourTemperature() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc3::IfcLightSourceGoniometric::setColourTemperature(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -17467,7 +17659,7 @@ double Ifc4x3_rc3::IfcLightSourceGoniometric::LuminousFlux() const { double v = void Ifc4x3_rc3::IfcLightSourceGoniometric::setLuminousFlux(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x3_rc3::IfcLightEmissionSourceEnum::Value Ifc4x3_rc3::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4x3_rc3::IfcLightEmissionSourceEnum::FromString(*data_->getArgument(8)); } void Ifc4x3_rc3::IfcLightSourceGoniometric::setLightEmissionSource(::Ifc4x3_rc3::IfcLightEmissionSourceEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcLightEmissionSourceEnum::ToString(v)));data_->setArgument(8,attr);} } -::Ifc4x3_rc3::IfcLightDistributionDataSourceSelect* Ifc4x3_rc3::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc3::IfcLightDistributionDataSourceSelect>(); } +::Ifc4x3_rc3::IfcLightDistributionDataSourceSelect* Ifc4x3_rc3::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc3::IfcLightDistributionDataSourceSelect>(true); } void Ifc4x3_rc3::IfcLightSourceGoniometric::setLightDistributionDataSource(::Ifc4x3_rc3::IfcLightDistributionDataSourceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -17477,7 +17669,7 @@ Ifc4x3_rc3::IfcLightSourceGoniometric::IfcLightSourceGoniometric(IfcEntityInstan Ifc4x3_rc3::IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc3::IfcAxis2Placement3D* v5_Position, ::Ifc4x3_rc3::IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_rc3::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_rc3::IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcLightSourceGoniometric_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Position));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ColourAppearance));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ColourTemperature));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LuminousFlux));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_LightEmissionSource,::Ifc4x3_rc3::IfcLightEmissionSourceEnum::ToString(v9_LightEmissionSource))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_LightDistributionDataSource));data_->setArgument(9,attr);} } // Function implementations for IfcLightSourcePositional -::Ifc4x3_rc3::IfcCartesianPoint* Ifc4x3_rc3::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcCartesianPoint>(); } +::Ifc4x3_rc3::IfcCartesianPoint* Ifc4x3_rc3::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcCartesianPoint>(true); } void Ifc4x3_rc3::IfcLightSourcePositional::setPosition(::Ifc4x3_rc3::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } double Ifc4x3_rc3::IfcLightSourcePositional::Radius() const { double v = *data_->getArgument(5); return v; } void Ifc4x3_rc3::IfcLightSourcePositional::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17495,7 +17687,7 @@ Ifc4x3_rc3::IfcLightSourcePositional::IfcLightSourcePositional(IfcEntityInstance Ifc4x3_rc3::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc3::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) : IfcLightSource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcLightSourcePositional_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Position));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Radius));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConstantAttenuation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_DistanceAttenuation));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_QuadricAttenuation));data_->setArgument(8,attr);} } // Function implementations for IfcLightSourceSpot -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc3::IfcDirection>(); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcLightSourceSpot::setOrientation(::Ifc4x3_rc3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc3::IfcLightSourceSpot::ConcentrationExponent() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } void Ifc4x3_rc3::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } @@ -17511,9 +17703,9 @@ Ifc4x3_rc3::IfcLightSourceSpot::IfcLightSourceSpot(IfcEntityInstanceData* e) : I Ifc4x3_rc3::IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc3::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_rc3::IfcDirection* v10_Orientation, boost::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) : IfcLightSourcePositional((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcLightSourceSpot_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Position));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Radius));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConstantAttenuation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_DistanceAttenuation));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_QuadricAttenuation));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_Orientation));data_->setArgument(9,attr);} if (v11_ConcentrationExponent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_ConcentrationExponent));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_SpreadAngle));data_->setArgument(11,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v13_BeamWidthAngle));data_->setArgument(12,attr);} } // Function implementations for IfcLine -::Ifc4x3_rc3::IfcCartesianPoint* Ifc4x3_rc3::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCartesianPoint>(); } +::Ifc4x3_rc3::IfcCartesianPoint* Ifc4x3_rc3::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCartesianPoint>(true); } void Ifc4x3_rc3::IfcLine::setPnt(::Ifc4x3_rc3::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc3::IfcVector* Ifc4x3_rc3::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcVector>(); } +::Ifc4x3_rc3::IfcVector* Ifc4x3_rc3::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcVector>(true); } void Ifc4x3_rc3::IfcLine::setDir(::Ifc4x3_rc3::IfcVector* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17531,9 +17723,9 @@ Ifc4x3_rc3::IfcLinearElement::IfcLinearElement(IfcEntityInstanceData* e) : IfcPr Ifc4x3_rc3::IfcLinearElement::IfcLinearElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation) : IfcProduct((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcLinearElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} } // Function implementations for IfcLinearPlacement -::Ifc4x3_rc3::IfcAxis2PlacementLinear* Ifc4x3_rc3::IfcLinearPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcAxis2PlacementLinear>(); } +::Ifc4x3_rc3::IfcAxis2PlacementLinear* Ifc4x3_rc3::IfcLinearPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcAxis2PlacementLinear>(true); } void Ifc4x3_rc3::IfcLinearPlacement::setRelativePlacement(::Ifc4x3_rc3::IfcAxis2PlacementLinear* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcLinearPlacement::CartesianPosition() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(); } +::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcLinearPlacement::CartesianPosition() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(true); } void Ifc4x3_rc3::IfcLinearPlacement::setCartesianPosition(::Ifc4x3_rc3::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -17571,7 +17763,7 @@ Ifc4x3_rc3::IfcLiquidTerminalType::IfcLiquidTerminalType(IfcEntityInstanceData* Ifc4x3_rc3::IfcLiquidTerminalType::IfcLiquidTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcLiquidTerminalType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcLocalPlacement -::Ifc4x3_rc3::IfcAxis2Placement* Ifc4x3_rc3::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcAxis2Placement>(); } +::Ifc4x3_rc3::IfcAxis2Placement* Ifc4x3_rc3::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcAxis2Placement>(true); } void Ifc4x3_rc3::IfcLocalPlacement::setRelativePlacement(::Ifc4x3_rc3::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17589,7 +17781,7 @@ Ifc4x3_rc3::IfcLoop::IfcLoop(IfcEntityInstanceData* e) : IfcTopologicalRepresent Ifc4x3_rc3::IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcLoop_type); } // Function implementations for IfcManifoldSolidBrep -::Ifc4x3_rc3::IfcClosedShell* Ifc4x3_rc3::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcClosedShell>(); } +::Ifc4x3_rc3::IfcClosedShell* Ifc4x3_rc3::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcClosedShell>(true); } void Ifc4x3_rc3::IfcManifoldSolidBrep::setOuter(::Ifc4x3_rc3::IfcClosedShell* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -17623,9 +17815,9 @@ Ifc4x3_rc3::IfcMapConversion::IfcMapConversion(IfcEntityInstanceData* e) : IfcCo Ifc4x3_rc3::IfcMapConversion::IfcMapConversion(::Ifc4x3_rc3::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_rc3::IfcCoordinateReferenceSystem* v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, boost::optional< double > v6_XAxisAbscissa, boost::optional< double > v7_XAxisOrdinate, boost::optional< double > v8_Scale, boost::optional< double > v9_ScaleY, boost::optional< double > v10_ScaleZ) : IfcCoordinateOperation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcMapConversion_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SourceCRS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TargetCRS));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Eastings));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Northings));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_OrthogonalHeight));data_->setArgument(4,attr);} if (v6_XAxisAbscissa) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_XAxisAbscissa));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_XAxisOrdinate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_XAxisOrdinate));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Scale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Scale));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ScaleY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ScaleY));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_ScaleZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_ScaleZ));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcMappedItem -::Ifc4x3_rc3::IfcRepresentationMap* Ifc4x3_rc3::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcRepresentationMap>(); } +::Ifc4x3_rc3::IfcRepresentationMap* Ifc4x3_rc3::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcRepresentationMap>(true); } void Ifc4x3_rc3::IfcMappedItem::setMappingSource(::Ifc4x3_rc3::IfcRepresentationMap* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc3::IfcCartesianTransformationOperator* Ifc4x3_rc3::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcCartesianTransformationOperator>(); } +::Ifc4x3_rc3::IfcCartesianTransformationOperator* Ifc4x3_rc3::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcCartesianTransformationOperator>(true); } void Ifc4x3_rc3::IfcMappedItem::setMappingTarget(::Ifc4x3_rc3::IfcCartesianTransformationOperator* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17664,7 +17856,7 @@ Ifc4x3_rc3::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std:: // Function implementations for IfcMaterialClassificationRelationship aggregate_of_instance::ptr Ifc4x3_rc3::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } void Ifc4x3_rc3::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc3::IfcMaterial* Ifc4x3_rc3::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcMaterial>(); } +::Ifc4x3_rc3::IfcMaterial* Ifc4x3_rc3::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcMaterial>(true); } void Ifc4x3_rc3::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x3_rc3::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17678,7 +17870,7 @@ boost::optional< std::string > Ifc4x3_rc3::IfcMaterialConstituent::Name() const void Ifc4x3_rc3::IfcMaterialConstituent::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcMaterialConstituent::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcMaterialConstituent::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4x3_rc3::IfcMaterial* Ifc4x3_rc3::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcMaterial>(); } +::Ifc4x3_rc3::IfcMaterial* Ifc4x3_rc3::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcMaterial>(true); } void Ifc4x3_rc3::IfcMaterialConstituent::setMaterial(::Ifc4x3_rc3::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc3::IfcMaterialConstituent::Fraction() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4x3_rc3::IfcMaterialConstituent::setFraction(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } @@ -17718,7 +17910,7 @@ Ifc4x3_rc3::IfcMaterialDefinition::IfcMaterialDefinition(IfcEntityInstanceData* Ifc4x3_rc3::IfcMaterialDefinition::IfcMaterialDefinition() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcMaterialDefinition_type); } // Function implementations for IfcMaterialDefinitionRepresentation -::Ifc4x3_rc3::IfcMaterial* Ifc4x3_rc3::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcMaterial>(); } +::Ifc4x3_rc3::IfcMaterial* Ifc4x3_rc3::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcMaterial>(true); } void Ifc4x3_rc3::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(::Ifc4x3_rc3::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17728,7 +17920,7 @@ Ifc4x3_rc3::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresenta Ifc4x3_rc3::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcRepresentation >::ptr v3_Representations, ::Ifc4x3_rc3::IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcMaterialDefinitionRepresentation_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Representations)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RepresentedMaterial));data_->setArgument(3,attr);} } // Function implementations for IfcMaterialLayer -::Ifc4x3_rc3::IfcMaterial* Ifc4x3_rc3::IfcMaterialLayer::Material() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcMaterial>(); } +::Ifc4x3_rc3::IfcMaterial* Ifc4x3_rc3::IfcMaterialLayer::Material() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcMaterial>(true); } void Ifc4x3_rc3::IfcMaterialLayer::setMaterial(::Ifc4x3_rc3::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x3_rc3::IfcMaterialLayer::LayerThickness() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcMaterialLayer::setLayerThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17765,7 +17957,7 @@ Ifc4x3_rc3::IfcMaterialLayerSet::IfcMaterialLayerSet(IfcEntityInstanceData* e) : Ifc4x3_rc3::IfcMaterialLayerSet::IfcMaterialLayerSet(aggregate_of< ::Ifc4x3_rc3::IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName, boost::optional< std::string > v3_Description) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcMaterialLayerSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialLayers)->generalize());data_->setArgument(0,attr);} if (v2_LayerSetName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_LayerSetName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialLayerSetUsage -::Ifc4x3_rc3::IfcMaterialLayerSet* Ifc4x3_rc3::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcMaterialLayerSet>(); } +::Ifc4x3_rc3::IfcMaterialLayerSet* Ifc4x3_rc3::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcMaterialLayerSet>(true); } void Ifc4x3_rc3::IfcMaterialLayerSetUsage::setForLayerSet(::Ifc4x3_rc3::IfcMaterialLayerSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4x3_rc3::IfcLayerSetDirectionEnum::Value Ifc4x3_rc3::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4x3_rc3::IfcLayerSetDirectionEnum::FromString(*data_->getArgument(1)); } void Ifc4x3_rc3::IfcMaterialLayerSetUsage::setLayerSetDirection(::Ifc4x3_rc3::IfcLayerSetDirectionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcLayerSetDirectionEnum::ToString(v)));data_->setArgument(1,attr);} } @@ -17809,9 +18001,9 @@ boost::optional< std::string > Ifc4x3_rc3::IfcMaterialProfile::Name() const { if void Ifc4x3_rc3::IfcMaterialProfile::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcMaterialProfile::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcMaterialProfile::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4x3_rc3::IfcMaterial* Ifc4x3_rc3::IfcMaterialProfile::Material() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcMaterial>(); } +::Ifc4x3_rc3::IfcMaterial* Ifc4x3_rc3::IfcMaterialProfile::Material() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcMaterial>(true); } void Ifc4x3_rc3::IfcMaterialProfile::setMaterial(::Ifc4x3_rc3::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcProfileDef>(); } +::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcProfileDef>(true); } void Ifc4x3_rc3::IfcMaterialProfile::setProfile(::Ifc4x3_rc3::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< int > Ifc4x3_rc3::IfcMaterialProfile::Priority() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } void Ifc4x3_rc3::IfcMaterialProfile::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -17832,7 +18024,7 @@ boost::optional< std::string > Ifc4x3_rc3::IfcMaterialProfileSet::Description() void Ifc4x3_rc3::IfcMaterialProfileSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x3_rc3::IfcMaterialProfile >::ptr Ifc4x3_rc3::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc3::IfcMaterialProfile >(); } void Ifc4x3_rc3::IfcMaterialProfileSet::setMaterialProfiles(aggregate_of< ::Ifc4x3_rc3::IfcMaterialProfile >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } -::Ifc4x3_rc3::IfcCompositeProfileDef* Ifc4x3_rc3::IfcMaterialProfileSet::CompositeProfile() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcCompositeProfileDef>(); } +::Ifc4x3_rc3::IfcCompositeProfileDef* Ifc4x3_rc3::IfcMaterialProfileSet::CompositeProfile() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcCompositeProfileDef>(true); } void Ifc4x3_rc3::IfcMaterialProfileSet::setCompositeProfile(::Ifc4x3_rc3::IfcCompositeProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17842,7 +18034,7 @@ Ifc4x3_rc3::IfcMaterialProfileSet::IfcMaterialProfileSet(IfcEntityInstanceData* Ifc4x3_rc3::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcMaterialProfile >::ptr v3_MaterialProfiles, ::Ifc4x3_rc3::IfcCompositeProfileDef* v4_CompositeProfile) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcMaterialProfileSet_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_MaterialProfiles)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_CompositeProfile));data_->setArgument(3,attr);} } // Function implementations for IfcMaterialProfileSetUsage -::Ifc4x3_rc3::IfcMaterialProfileSet* Ifc4x3_rc3::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcMaterialProfileSet>(); } +::Ifc4x3_rc3::IfcMaterialProfileSet* Ifc4x3_rc3::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcMaterialProfileSet>(true); } void Ifc4x3_rc3::IfcMaterialProfileSetUsage::setForProfileSet(::Ifc4x3_rc3::IfcMaterialProfileSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< int > Ifc4x3_rc3::IfcMaterialProfileSetUsage::CardinalPoint() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } int v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcMaterialProfileSetUsage::setCardinalPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } @@ -17856,7 +18048,7 @@ Ifc4x3_rc3::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(IfcEntityInst Ifc4x3_rc3::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4x3_rc3::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent) : IfcMaterialUsageDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcMaterialProfileSetUsage_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ForProfileSet));data_->setArgument(0,attr);} if (v2_CardinalPoint) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_CardinalPoint));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ReferenceExtent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ReferenceExtent));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialProfileSetUsageTapering -::Ifc4x3_rc3::IfcMaterialProfileSet* Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcMaterialProfileSet>(); } +::Ifc4x3_rc3::IfcMaterialProfileSet* Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcMaterialProfileSet>(true); } void Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(::Ifc4x3_rc3::IfcMaterialProfileSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< int > Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } void Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -17878,7 +18070,7 @@ Ifc4x3_rc3::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(IfcEnti Ifc4x3_rc3::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcMaterial* v3_Material, ::Ifc4x3_rc3::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) : IfcMaterialProfile((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcMaterialProfileWithOffsets_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Material));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Profile));data_->setArgument(3,attr);} if (v5_Priority) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Priority));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Category));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_OffsetValues));data_->setArgument(6,attr);} } // Function implementations for IfcMaterialProperties -::Ifc4x3_rc3::IfcMaterialDefinition* Ifc4x3_rc3::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcMaterialDefinition>(); } +::Ifc4x3_rc3::IfcMaterialDefinition* Ifc4x3_rc3::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcMaterialDefinition>(true); } void Ifc4x3_rc3::IfcMaterialProperties::setMaterial(::Ifc4x3_rc3::IfcMaterialDefinition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17888,7 +18080,7 @@ Ifc4x3_rc3::IfcMaterialProperties::IfcMaterialProperties(IfcEntityInstanceData* Ifc4x3_rc3::IfcMaterialProperties::IfcMaterialProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcProperty >::ptr v3_Properties, ::Ifc4x3_rc3::IfcMaterialDefinition* v4_Material) : IfcExtendedProperties((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcMaterialProperties_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Properties)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Material));data_->setArgument(3,attr);} } // Function implementations for IfcMaterialRelationship -::Ifc4x3_rc3::IfcMaterial* Ifc4x3_rc3::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcMaterial>(); } +::Ifc4x3_rc3::IfcMaterial* Ifc4x3_rc3::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcMaterial>(true); } void Ifc4x3_rc3::IfcMaterialRelationship::setRelatingMaterial(::Ifc4x3_rc3::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4x3_rc3::IfcMaterial >::ptr Ifc4x3_rc3::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc3::IfcMaterial >(); } void Ifc4x3_rc3::IfcMaterialRelationship::setRelatedMaterials(aggregate_of< ::Ifc4x3_rc3::IfcMaterial >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -17911,9 +18103,9 @@ Ifc4x3_rc3::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition(IfcEntityInst Ifc4x3_rc3::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcMaterialUsageDefinition_type); } // Function implementations for IfcMeasureWithUnit -::Ifc4x3_rc3::IfcValue* Ifc4x3_rc3::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcValue>(); } +::Ifc4x3_rc3::IfcValue* Ifc4x3_rc3::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcValue>(true); } void Ifc4x3_rc3::IfcMeasureWithUnit::setValueComponent(::Ifc4x3_rc3::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcUnit>(); } +::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcUnit>(true); } void Ifc4x3_rc3::IfcMeasureWithUnit::setUnitComponent(::Ifc4x3_rc3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -18003,9 +18195,9 @@ Ifc4x3_rc3::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc4x3_rc3:: void Ifc4x3_rc3::IfcMetric::setBenchmark(::Ifc4x3_rc3::IfcBenchmarkEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcBenchmarkEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcMetric::ValueSource() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc4x3_rc3::IfcMetric::setValueSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } -::Ifc4x3_rc3::IfcMetricValueSelect* Ifc4x3_rc3::IfcMetric::DataValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc3::IfcMetricValueSelect>(); } +::Ifc4x3_rc3::IfcMetricValueSelect* Ifc4x3_rc3::IfcMetric::DataValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc3::IfcMetricValueSelect>(true); } void Ifc4x3_rc3::IfcMetric::setDataValue(::Ifc4x3_rc3::IfcMetricValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -::Ifc4x3_rc3::IfcReference* Ifc4x3_rc3::IfcMetric::ReferencePath() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc3::IfcReference>(); } +::Ifc4x3_rc3::IfcReference* Ifc4x3_rc3::IfcMetric::ReferencePath() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc3::IfcReference>(true); } void Ifc4x3_rc3::IfcMetric::setReferencePath(::Ifc4x3_rc3::IfcReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -18093,7 +18285,7 @@ Ifc4x3_rc3::IfcMotorConnectionType::IfcMotorConnectionType(IfcEntityInstanceData Ifc4x3_rc3::IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcMotorConnectionType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcNamedUnit -::Ifc4x3_rc3::IfcDimensionalExponents* Ifc4x3_rc3::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcDimensionalExponents>(); } +::Ifc4x3_rc3::IfcDimensionalExponents* Ifc4x3_rc3::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcDimensionalExponents>(true); } void Ifc4x3_rc3::IfcNamedUnit::setDimensions(::Ifc4x3_rc3::IfcDimensionalExponents* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4x3_rc3::IfcUnitEnum::Value Ifc4x3_rc3::IfcNamedUnit::UnitType() const { return ::Ifc4x3_rc3::IfcUnitEnum::FromString(*data_->getArgument(1)); } void Ifc4x3_rc3::IfcNamedUnit::setUnitType(::Ifc4x3_rc3::IfcUnitEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcUnitEnum::ToString(v)));data_->setArgument(1,attr);} } @@ -18154,7 +18346,7 @@ Ifc4x3_rc3::IfcObjectDefinition::IfcObjectDefinition(IfcEntityInstanceData* e) : Ifc4x3_rc3::IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcObjectDefinition_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcObjectPlacement -::Ifc4x3_rc3::IfcObjectPlacement* Ifc4x3_rc3::IfcObjectPlacement::PlacementRelTo() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcObjectPlacement>(); } +::Ifc4x3_rc3::IfcObjectPlacement* Ifc4x3_rc3::IfcObjectPlacement::PlacementRelTo() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcObjectPlacement>(true); } void Ifc4x3_rc3::IfcObjectPlacement::setPlacementRelTo(::Ifc4x3_rc3::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4x3_rc3::IfcProduct::list::ptr Ifc4x3_rc3::IfcObjectPlacement::PlacesObject() const { return data_->getInverse(IFC4X3_RC3_IfcProduct_type, 5)->as(); } @@ -18191,7 +18383,7 @@ Ifc4x3_rc3::IfcOccupant::IfcOccupant(IfcEntityInstanceData* e) : IfcActor((IfcEn Ifc4x3_rc3::IfcOccupant::IfcOccupant(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcActorSelect* v6_TheActor, boost::optional< ::Ifc4x3_rc3::IfcOccupantTypeEnum::Value > v7_PredefinedType) : IfcActor((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcOccupant_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_TheActor));data_->setArgument(5,attr);} if (v7_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v7_PredefinedType,::Ifc4x3_rc3::IfcOccupantTypeEnum::ToString(*v7_PredefinedType))));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcOffsetCurve -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcOffsetCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCurve>(); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcOffsetCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcOffsetCurve::setBasisCurve(::Ifc4x3_rc3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -18217,7 +18409,7 @@ double Ifc4x3_rc3::IfcOffsetCurve3D::Distance() const { double v = *data_->getA void Ifc4x3_rc3::IfcOffsetCurve3D::setDistance(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::logic::tribool Ifc4x3_rc3::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = *data_->getArgument(2); return v; } void Ifc4x3_rc3::IfcOffsetCurve3D::setSelfIntersect(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcDirection>(); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcOffsetCurve3D::setRefDirection(::Ifc4x3_rc3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -18303,7 +18495,7 @@ Ifc4x3_rc3::IfcOrganization::IfcOrganization(IfcEntityInstanceData* e) : IfcUtil Ifc4x3_rc3::IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorRole >::ptr > v4_Roles, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcOrganization_type); if (v1_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identification));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Roles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Roles)->generalize());data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Addresses) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Addresses)->generalize());data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcOrganizationRelationship -::Ifc4x3_rc3::IfcOrganization* Ifc4x3_rc3::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcOrganization>(); } +::Ifc4x3_rc3::IfcOrganization* Ifc4x3_rc3::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcOrganization>(true); } void Ifc4x3_rc3::IfcOrganizationRelationship::setRelatingOrganization(::Ifc4x3_rc3::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4x3_rc3::IfcOrganization >::ptr Ifc4x3_rc3::IfcOrganizationRelationship::RelatedOrganizations() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc3::IfcOrganization >(); } void Ifc4x3_rc3::IfcOrganizationRelationship::setRelatedOrganizations(aggregate_of< ::Ifc4x3_rc3::IfcOrganization >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -18315,7 +18507,7 @@ Ifc4x3_rc3::IfcOrganizationRelationship::IfcOrganizationRelationship(IfcEntityIn Ifc4x3_rc3::IfcOrganizationRelationship::IfcOrganizationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcOrganization* v3_RelatingOrganization, aggregate_of< ::Ifc4x3_rc3::IfcOrganization >::ptr v4_RelatedOrganizations) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcOrganizationRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingOrganization));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedOrganizations)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcOrientedEdge -::Ifc4x3_rc3::IfcEdge* Ifc4x3_rc3::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcEdge>(); } +::Ifc4x3_rc3::IfcEdge* Ifc4x3_rc3::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcEdge>(true); } void Ifc4x3_rc3::IfcOrientedEdge::setEdgeElement(::Ifc4x3_rc3::IfcEdge* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } bool Ifc4x3_rc3::IfcOrientedEdge::Orientation() const { bool v = *data_->getArgument(3); return v; } void Ifc4x3_rc3::IfcOrientedEdge::setOrientation(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -18355,9 +18547,9 @@ Ifc4x3_rc3::IfcOutletType::IfcOutletType(IfcEntityInstanceData* e) : IfcFlowTerm Ifc4x3_rc3::IfcOutletType::IfcOutletType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcOutletTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcOutletType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc3::IfcOutletTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcOwnerHistory -::Ifc4x3_rc3::IfcPersonAndOrganization* Ifc4x3_rc3::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcPersonAndOrganization>(); } +::Ifc4x3_rc3::IfcPersonAndOrganization* Ifc4x3_rc3::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcPersonAndOrganization>(true); } void Ifc4x3_rc3::IfcOwnerHistory::setOwningUser(::Ifc4x3_rc3::IfcPersonAndOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc3::IfcApplication* Ifc4x3_rc3::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcApplication>(); } +::Ifc4x3_rc3::IfcApplication* Ifc4x3_rc3::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcApplication>(true); } void Ifc4x3_rc3::IfcOwnerHistory::setOwningApplication(::Ifc4x3_rc3::IfcApplication* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< ::Ifc4x3_rc3::IfcStateEnum::Value > Ifc4x3_rc3::IfcOwnerHistory::State() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcStateEnum::FromString(*data_->getArgument(2)); } void Ifc4x3_rc3::IfcOwnerHistory::setState(boost::optional< ::Ifc4x3_rc3::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcStateEnum::ToString(*v)));data_->setArgument(2,attr);} } @@ -18365,9 +18557,9 @@ boost::optional< ::Ifc4x3_rc3::IfcChangeActionEnum::Value > Ifc4x3_rc3::IfcOwner void Ifc4x3_rc3::IfcOwnerHistory::setChangeAction(boost::optional< ::Ifc4x3_rc3::IfcChangeActionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcChangeActionEnum::ToString(*v)));data_->setArgument(3,attr);} } boost::optional< int > Ifc4x3_rc3::IfcOwnerHistory::LastModifiedDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } void Ifc4x3_rc3::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc4x3_rc3::IfcPersonAndOrganization* Ifc4x3_rc3::IfcOwnerHistory::LastModifyingUser() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcPersonAndOrganization>(); } +::Ifc4x3_rc3::IfcPersonAndOrganization* Ifc4x3_rc3::IfcOwnerHistory::LastModifyingUser() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcPersonAndOrganization>(true); } void Ifc4x3_rc3::IfcOwnerHistory::setLastModifyingUser(::Ifc4x3_rc3::IfcPersonAndOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc3::IfcApplication* Ifc4x3_rc3::IfcOwnerHistory::LastModifyingApplication() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcApplication>(); } +::Ifc4x3_rc3::IfcApplication* Ifc4x3_rc3::IfcOwnerHistory::LastModifyingApplication() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcApplication>(true); } void Ifc4x3_rc3::IfcOwnerHistory::setLastModifyingApplication(::Ifc4x3_rc3::IfcApplication* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } int Ifc4x3_rc3::IfcOwnerHistory::CreationDate() const { int v = *data_->getArgument(7); return v; } void Ifc4x3_rc3::IfcOwnerHistory::setCreationDate(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -18379,7 +18571,7 @@ Ifc4x3_rc3::IfcOwnerHistory::IfcOwnerHistory(IfcEntityInstanceData* e) : IfcUtil Ifc4x3_rc3::IfcOwnerHistory::IfcOwnerHistory(::Ifc4x3_rc3::IfcPersonAndOrganization* v1_OwningUser, ::Ifc4x3_rc3::IfcApplication* v2_OwningApplication, boost::optional< ::Ifc4x3_rc3::IfcStateEnum::Value > v3_State, boost::optional< ::Ifc4x3_rc3::IfcChangeActionEnum::Value > v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, ::Ifc4x3_rc3::IfcPersonAndOrganization* v6_LastModifyingUser, ::Ifc4x3_rc3::IfcApplication* v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcOwnerHistory_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_OwningUser));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwningApplication));data_->setArgument(1,attr);} if (v3_State) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v3_State,::Ifc4x3_rc3::IfcStateEnum::ToString(*v3_State))));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_ChangeAction) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v4_ChangeAction,::Ifc4x3_rc3::IfcChangeActionEnum::ToString(*v4_ChangeAction))));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_LastModifiedDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_LastModifiedDate));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LastModifyingUser));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LastModifyingApplication));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_CreationDate));data_->setArgument(7,attr);} } // Function implementations for IfcParameterizedProfileDef -::Ifc4x3_rc3::IfcAxis2Placement2D* Ifc4x3_rc3::IfcParameterizedProfileDef::Position() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcAxis2Placement2D>(); } +::Ifc4x3_rc3::IfcAxis2Placement2D* Ifc4x3_rc3::IfcParameterizedProfileDef::Position() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcAxis2Placement2D>(true); } void Ifc4x3_rc3::IfcParameterizedProfileDef::setPosition(::Ifc4x3_rc3::IfcAxis2Placement2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -18419,9 +18611,9 @@ Ifc4x3_rc3::IfcPavementType::IfcPavementType(IfcEntityInstanceData* e) : IfcBuil Ifc4x3_rc3::IfcPavementType::IfcPavementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPavementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPavementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc3::IfcPavementTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcPcurve -::Ifc4x3_rc3::IfcSurface* Ifc4x3_rc3::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcSurface>(); } +::Ifc4x3_rc3::IfcSurface* Ifc4x3_rc3::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcSurface>(true); } void Ifc4x3_rc3::IfcPcurve::setBasisSurface(::Ifc4x3_rc3::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcCurve>(); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcPcurve::setReferenceCurve(::Ifc4x3_rc3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -18451,7 +18643,7 @@ boost::optional< double > Ifc4x3_rc3::IfcPermeableCoveringProperties::FrameDepth void Ifc4x3_rc3::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc3::IfcPermeableCoveringProperties::FrameThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4x3_rc3::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } -::Ifc4x3_rc3::IfcShapeAspect* Ifc4x3_rc3::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcShapeAspect>(); } +::Ifc4x3_rc3::IfcShapeAspect* Ifc4x3_rc3::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcShapeAspect>(true); } void Ifc4x3_rc3::IfcPermeableCoveringProperties::setShapeAspectStyle(::Ifc4x3_rc3::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -18500,9 +18692,9 @@ Ifc4x3_rc3::IfcPerson::IfcPerson(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEnt Ifc4x3_rc3::IfcPerson::IfcPerson(boost::optional< std::string > v1_Identification, boost::optional< std::string > v2_FamilyName, boost::optional< std::string > v3_GivenName, boost::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorRole >::ptr > v7_Roles, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPerson_type); if (v1_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identification));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_FamilyName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_FamilyName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_GivenName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_GivenName));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_MiddleNames) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_MiddleNames));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_PrefixTitles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_PrefixTitles));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_SuffixTitles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_SuffixTitles));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Roles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Roles)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Addresses) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Addresses)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcPersonAndOrganization -::Ifc4x3_rc3::IfcPerson* Ifc4x3_rc3::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcPerson>(); } +::Ifc4x3_rc3::IfcPerson* Ifc4x3_rc3::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcPerson>(true); } void Ifc4x3_rc3::IfcPersonAndOrganization::setThePerson(::Ifc4x3_rc3::IfcPerson* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc3::IfcOrganization* Ifc4x3_rc3::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcOrganization>(); } +::Ifc4x3_rc3::IfcOrganization* Ifc4x3_rc3::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcOrganization>(true); } void Ifc4x3_rc3::IfcPersonAndOrganization::setTheOrganization(::Ifc4x3_rc3::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorRole >::ptr > Ifc4x3_rc3::IfcPersonAndOrganization::Roles() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc3::IfcActorRole >(); } void Ifc4x3_rc3::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(2,attr);} } @@ -18544,7 +18736,7 @@ Ifc4x3_rc3::IfcPhysicalQuantity::IfcPhysicalQuantity(IfcEntityInstanceData* e) : Ifc4x3_rc3::IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPhysicalQuantity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcPhysicalSimpleQuantity -::Ifc4x3_rc3::IfcNamedUnit* Ifc4x3_rc3::IfcPhysicalSimpleQuantity::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcNamedUnit>(); } +::Ifc4x3_rc3::IfcNamedUnit* Ifc4x3_rc3::IfcPhysicalSimpleQuantity::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcNamedUnit>(true); } void Ifc4x3_rc3::IfcPhysicalSimpleQuantity::setUnit(::Ifc4x3_rc3::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -18632,7 +18824,7 @@ Ifc4x3_rc3::IfcPixelTexture::IfcPixelTexture(IfcEntityInstanceData* e) : IfcSurf Ifc4x3_rc3::IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) : IfcSurfaceTexture((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPixelTexture_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_RepeatS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RepeatT));data_->setArgument(1,attr);} if (v3_Mode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Mode));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TextureTransform));data_->setArgument(3,attr);} if (v5_Parameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Parameter));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Width));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Height));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_ColourComponents));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_Pixel));data_->setArgument(8,attr);} } // Function implementations for IfcPlacement -::Ifc4x3_rc3::IfcPoint* Ifc4x3_rc3::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcPoint>(); } +::Ifc4x3_rc3::IfcPoint* Ifc4x3_rc3::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcPoint>(true); } void Ifc4x3_rc3::IfcPlacement::setLocation(::Ifc4x3_rc3::IfcPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -18642,7 +18834,7 @@ Ifc4x3_rc3::IfcPlacement::IfcPlacement(IfcEntityInstanceData* e) : IfcGeometricR Ifc4x3_rc3::IfcPlacement::IfcPlacement(::Ifc4x3_rc3::IfcPoint* v1_Location) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPlacement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Location));data_->setArgument(0,attr);} } // Function implementations for IfcPlanarBox -::Ifc4x3_rc3::IfcAxis2Placement* Ifc4x3_rc3::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcAxis2Placement>(); } +::Ifc4x3_rc3::IfcAxis2Placement* Ifc4x3_rc3::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcAxis2Placement>(true); } void Ifc4x3_rc3::IfcPlanarBox::setPlacement(::Ifc4x3_rc3::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -18716,7 +18908,7 @@ Ifc4x3_rc3::IfcPoint::IfcPoint(IfcEntityInstanceData* e) : IfcGeometricRepresent Ifc4x3_rc3::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPoint_type); } // Function implementations for IfcPointByDistanceExpression -::Ifc4x3_rc3::IfcCurveMeasureSelect* Ifc4x3_rc3::IfcPointByDistanceExpression::DistanceAlong() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCurveMeasureSelect>(); } +::Ifc4x3_rc3::IfcCurveMeasureSelect* Ifc4x3_rc3::IfcPointByDistanceExpression::DistanceAlong() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCurveMeasureSelect>(true); } void Ifc4x3_rc3::IfcPointByDistanceExpression::setDistanceAlong(::Ifc4x3_rc3::IfcCurveMeasureSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4x3_rc3::IfcPointByDistanceExpression::OffsetLateral() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcPointByDistanceExpression::setOffsetLateral(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } @@ -18724,7 +18916,7 @@ boost::optional< double > Ifc4x3_rc3::IfcPointByDistanceExpression::OffsetVertic void Ifc4x3_rc3::IfcPointByDistanceExpression::setOffsetVertical(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc3::IfcPointByDistanceExpression::OffsetLongitudinal() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4x3_rc3::IfcPointByDistanceExpression::setOffsetLongitudinal(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcPointByDistanceExpression::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcCurve>(); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcPointByDistanceExpression::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcPointByDistanceExpression::setBasisCurve(::Ifc4x3_rc3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -18734,7 +18926,7 @@ Ifc4x3_rc3::IfcPointByDistanceExpression::IfcPointByDistanceExpression(IfcEntity Ifc4x3_rc3::IfcPointByDistanceExpression::IfcPointByDistanceExpression(::Ifc4x3_rc3::IfcCurveMeasureSelect* v1_DistanceAlong, boost::optional< double > v2_OffsetLateral, boost::optional< double > v3_OffsetVertical, boost::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_rc3::IfcCurve* v5_BasisCurve) : IfcPoint((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPointByDistanceExpression_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_DistanceAlong));data_->setArgument(0,attr);} if (v2_OffsetLateral) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_OffsetLateral));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_OffsetVertical) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_OffsetVertical));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_OffsetLongitudinal) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_OffsetLongitudinal));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_BasisCurve));data_->setArgument(4,attr);} } // Function implementations for IfcPointOnCurve -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCurve>(); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcPointOnCurve::setBasisCurve(::Ifc4x3_rc3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x3_rc3::IfcPointOnCurve::PointParameter() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcPointOnCurve::setPointParameter(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -18746,7 +18938,7 @@ Ifc4x3_rc3::IfcPointOnCurve::IfcPointOnCurve(IfcEntityInstanceData* e) : IfcPoin Ifc4x3_rc3::IfcPointOnCurve::IfcPointOnCurve(::Ifc4x3_rc3::IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPointOnCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PointParameter));data_->setArgument(1,attr);} } // Function implementations for IfcPointOnSurface -::Ifc4x3_rc3::IfcSurface* Ifc4x3_rc3::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcSurface>(); } +::Ifc4x3_rc3::IfcSurface* Ifc4x3_rc3::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcSurface>(true); } void Ifc4x3_rc3::IfcPointOnSurface::setBasisSurface(::Ifc4x3_rc3::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x3_rc3::IfcPointOnSurface::PointParameterU() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcPointOnSurface::setPointParameterU(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -18770,9 +18962,9 @@ Ifc4x3_rc3::IfcPolyLoop::IfcPolyLoop(IfcEntityInstanceData* e) : IfcLoop((IfcEnt Ifc4x3_rc3::IfcPolyLoop::IfcPolyLoop(aggregate_of< ::Ifc4x3_rc3::IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPolyLoop_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Polygon)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcPolygonalBoundedHalfSpace -::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(); } +::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(true); } void Ifc4x3_rc3::IfcPolygonalBoundedHalfSpace::setPosition(::Ifc4x3_rc3::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc3::IfcBoundedCurve* Ifc4x3_rc3::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcBoundedCurve>(); } +::Ifc4x3_rc3::IfcBoundedCurve* Ifc4x3_rc3::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcBoundedCurve>(true); } void Ifc4x3_rc3::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(::Ifc4x3_rc3::IfcBoundedCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -18806,7 +18998,7 @@ Ifc4x3_rc3::IfcPolyline::IfcPolyline(IfcEntityInstanceData* e) : IfcBoundedCurve Ifc4x3_rc3::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc4x3_rc3::IfcCartesianPoint >::ptr v1_Points) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPolyline_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcPolynomialCurve -::Ifc4x3_rc3::IfcPlacement* Ifc4x3_rc3::IfcPolynomialCurve::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcPlacement>(); } +::Ifc4x3_rc3::IfcPlacement* Ifc4x3_rc3::IfcPolynomialCurve::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcPlacement>(true); } void Ifc4x3_rc3::IfcPolynomialCurve::setPosition(::Ifc4x3_rc3::IfcPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_rc3::IfcPolynomialCurve::CoefficientsX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcPolynomialCurve::setCoefficientsX(boost::optional< std::vector< double > /*[2:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } @@ -19000,9 +19192,9 @@ Ifc4x3_rc3::IfcProcess::IfcProcess(IfcEntityInstanceData* e) : IfcObject((IfcEnt Ifc4x3_rc3::IfcProcess::IfcProcess(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcProcess_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcProduct -::Ifc4x3_rc3::IfcObjectPlacement* Ifc4x3_rc3::IfcProduct::ObjectPlacement() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcObjectPlacement>(); } +::Ifc4x3_rc3::IfcObjectPlacement* Ifc4x3_rc3::IfcProduct::ObjectPlacement() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcObjectPlacement>(true); } void Ifc4x3_rc3::IfcProduct::setObjectPlacement(::Ifc4x3_rc3::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc3::IfcProductRepresentation* Ifc4x3_rc3::IfcProduct::Representation() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcProductRepresentation>(); } +::Ifc4x3_rc3::IfcProductRepresentation* Ifc4x3_rc3::IfcProduct::Representation() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcProductRepresentation>(true); } void Ifc4x3_rc3::IfcProduct::setRepresentation(::Ifc4x3_rc3::IfcProductRepresentation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } ::Ifc4x3_rc3::IfcRelAssignsToProduct::list::ptr Ifc4x3_rc3::IfcProduct::ReferencedBy() const { return data_->getInverse(IFC4X3_RC3_IfcRelAssignsToProduct_type, 6)->as(); } @@ -19053,7 +19245,7 @@ Ifc4x3_rc3::IfcProfileDef::IfcProfileDef(IfcEntityInstanceData* e) : IfcUtil::If Ifc4x3_rc3::IfcProfileDef::IfcProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4x3_rc3::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcProfileProperties -::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcProfileDef>(); } +::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcProfileDef>(true); } void Ifc4x3_rc3::IfcProfileProperties::setProfileDefinition(::Ifc4x3_rc3::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19097,7 +19289,7 @@ boost::optional< std::string > Ifc4x3_rc3::IfcProjectedCRS::MapProjection() cons void Ifc4x3_rc3::IfcProjectedCRS::setMapProjection(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcProjectedCRS::MapZone() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x3_rc3::IfcProjectedCRS::setMapZone(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4x3_rc3::IfcNamedUnit* Ifc4x3_rc3::IfcProjectedCRS::MapUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcNamedUnit>(); } +::Ifc4x3_rc3::IfcNamedUnit* Ifc4x3_rc3::IfcProjectedCRS::MapUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcNamedUnit>(true); } void Ifc4x3_rc3::IfcProjectedCRS::setMapUnit(::Ifc4x3_rc3::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -19144,13 +19336,13 @@ Ifc4x3_rc3::IfcPropertyAbstraction::IfcPropertyAbstraction(IfcEntityInstanceData Ifc4x3_rc3::IfcPropertyAbstraction::IfcPropertyAbstraction() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPropertyAbstraction_type); } // Function implementations for IfcPropertyBoundedValue -::Ifc4x3_rc3::IfcValue* Ifc4x3_rc3::IfcPropertyBoundedValue::UpperBoundValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcValue>(); } +::Ifc4x3_rc3::IfcValue* Ifc4x3_rc3::IfcPropertyBoundedValue::UpperBoundValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcValue>(true); } void Ifc4x3_rc3::IfcPropertyBoundedValue::setUpperBoundValue(::Ifc4x3_rc3::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc3::IfcValue* Ifc4x3_rc3::IfcPropertyBoundedValue::LowerBoundValue() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcValue>(); } +::Ifc4x3_rc3::IfcValue* Ifc4x3_rc3::IfcPropertyBoundedValue::LowerBoundValue() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcValue>(true); } void Ifc4x3_rc3::IfcPropertyBoundedValue::setLowerBoundValue(::Ifc4x3_rc3::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcPropertyBoundedValue::Unit() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcUnit>(); } +::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcPropertyBoundedValue::Unit() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcUnit>(true); } void Ifc4x3_rc3::IfcPropertyBoundedValue::setUnit(::Ifc4x3_rc3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc3::IfcValue* Ifc4x3_rc3::IfcPropertyBoundedValue::SetPointValue() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcValue>(); } +::Ifc4x3_rc3::IfcValue* Ifc4x3_rc3::IfcPropertyBoundedValue::SetPointValue() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcValue>(true); } void Ifc4x3_rc3::IfcPropertyBoundedValue::setSetPointValue(::Ifc4x3_rc3::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -19170,9 +19362,9 @@ Ifc4x3_rc3::IfcPropertyDefinition::IfcPropertyDefinition(IfcEntityInstanceData* Ifc4x3_rc3::IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPropertyDefinition_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPropertyDependencyRelationship -::Ifc4x3_rc3::IfcProperty* Ifc4x3_rc3::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcProperty>(); } +::Ifc4x3_rc3::IfcProperty* Ifc4x3_rc3::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcProperty>(true); } void Ifc4x3_rc3::IfcPropertyDependencyRelationship::setDependingProperty(::Ifc4x3_rc3::IfcProperty* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc3::IfcProperty* Ifc4x3_rc3::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcProperty>(); } +::Ifc4x3_rc3::IfcProperty* Ifc4x3_rc3::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcProperty>(true); } void Ifc4x3_rc3::IfcPropertyDependencyRelationship::setDependantProperty(::Ifc4x3_rc3::IfcProperty* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcPropertyDependencyRelationship::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc3::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -19186,7 +19378,7 @@ Ifc4x3_rc3::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship // Function implementations for IfcPropertyEnumeratedValue boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc3::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } void Ifc4x3_rc3::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x3_rc3::IfcPropertyEnumeration* Ifc4x3_rc3::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcPropertyEnumeration>(); } +::Ifc4x3_rc3::IfcPropertyEnumeration* Ifc4x3_rc3::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcPropertyEnumeration>(true); } void Ifc4x3_rc3::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_rc3::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19200,7 +19392,7 @@ std::string Ifc4x3_rc3::IfcPropertyEnumeration::Name() const { std::string v = void Ifc4x3_rc3::IfcPropertyEnumeration::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of_instance::ptr Ifc4x3_rc3::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcPropertyEnumeration::setEnumerationValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcUnit>(); } +::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcUnit>(true); } void Ifc4x3_rc3::IfcPropertyEnumeration::setUnit(::Ifc4x3_rc3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -19212,7 +19404,7 @@ Ifc4x3_rc3::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, // Function implementations for IfcPropertyListValue boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc3::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } void Ifc4x3_rc3::IfcPropertyListValue::setListValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcUnit>(); } +::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcUnit>(true); } void Ifc4x3_rc3::IfcPropertyListValue::setUnit(::Ifc4x3_rc3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19224,7 +19416,7 @@ Ifc4x3_rc3::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boos // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4x3_rc3::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc3::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x3_rc3::IfcObjectReferenceSelect* Ifc4x3_rc3::IfcPropertyReferenceValue::PropertyReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcObjectReferenceSelect>(); } +::Ifc4x3_rc3::IfcObjectReferenceSelect* Ifc4x3_rc3::IfcPropertyReferenceValue::PropertyReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcObjectReferenceSelect>(true); } void Ifc4x3_rc3::IfcPropertyReferenceValue::setPropertyReference(::Ifc4x3_rc3::IfcObjectReferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19270,9 +19462,9 @@ Ifc4x3_rc3::IfcPropertySetTemplate::IfcPropertySetTemplate(IfcEntityInstanceData Ifc4x3_rc3::IfcPropertySetTemplate::IfcPropertySetTemplate(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_ApplicableEntity, aggregate_of< ::Ifc4x3_rc3::IfcPropertyTemplate >::ptr v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcPropertySetTemplate_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_TemplateType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v5_TemplateType,::Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::ToString(*v5_TemplateType))));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ApplicableEntity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ApplicableEntity));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_HasPropertyTemplates)->generalize());data_->setArgument(6,attr);} } // Function implementations for IfcPropertySingleValue -::Ifc4x3_rc3::IfcValue* Ifc4x3_rc3::IfcPropertySingleValue::NominalValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcValue>(); } +::Ifc4x3_rc3::IfcValue* Ifc4x3_rc3::IfcPropertySingleValue::NominalValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcValue>(true); } void Ifc4x3_rc3::IfcPropertySingleValue::setNominalValue(::Ifc4x3_rc3::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcPropertySingleValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcUnit>(); } +::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcPropertySingleValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcUnit>(true); } void Ifc4x3_rc3::IfcPropertySingleValue::setUnit(::Ifc4x3_rc3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19288,9 +19480,9 @@ boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc3::IfcPropertyTableValue: void Ifc4x3_rc3::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc3::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcUnit>(); } +::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcUnit>(true); } void Ifc4x3_rc3::IfcPropertyTableValue::setDefiningUnit(::Ifc4x3_rc3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcPropertyTableValue::DefinedUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcUnit>(); } +::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcPropertyTableValue::DefinedUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcUnit>(true); } void Ifc4x3_rc3::IfcPropertyTableValue::setDefinedUnit(::Ifc4x3_rc3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4x3_rc3::IfcCurveInterpolationEnum::Value > Ifc4x3_rc3::IfcPropertyTableValue::CurveInterpolation() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCurveInterpolationEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc3::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4x3_rc3::IfcCurveInterpolationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcCurveInterpolationEnum::ToString(*v)));data_->setArgument(7,attr);} } @@ -19622,7 +19814,7 @@ Ifc4x3_rc3::IfcRectangularPyramid::IfcRectangularPyramid(IfcEntityInstanceData* Ifc4x3_rc3::IfcRectangularPyramid::IfcRectangularPyramid(::Ifc4x3_rc3::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRectangularPyramid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_XLength));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_YLength));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Height));data_->setArgument(3,attr);} } // Function implementations for IfcRectangularTrimmedSurface -::Ifc4x3_rc3::IfcSurface* Ifc4x3_rc3::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcSurface>(); } +::Ifc4x3_rc3::IfcSurface* Ifc4x3_rc3::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcSurface>(true); } void Ifc4x3_rc3::IfcRectangularTrimmedSurface::setBasisSurface(::Ifc4x3_rc3::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x3_rc3::IfcRectangularTrimmedSurface::U1() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcRectangularTrimmedSurface::setU1(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -19676,7 +19868,7 @@ boost::optional< std::string > Ifc4x3_rc3::IfcReference::InstanceName() const { void Ifc4x3_rc3::IfcReference::setInstanceName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc3::IfcReference::ListPositions() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } void Ifc4x3_rc3::IfcReference::setListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } -::Ifc4x3_rc3::IfcReference* Ifc4x3_rc3::IfcReference::InnerReference() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcReference>(); } +::Ifc4x3_rc3::IfcReference* Ifc4x3_rc3::IfcReference::InnerReference() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcReference>(true); } void Ifc4x3_rc3::IfcReference::setInnerReference(::Ifc4x3_rc3::IfcReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -19866,7 +20058,7 @@ Ifc4x3_rc3::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData Ifc4x3_rc3::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< aggregate_of_instance::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcRelAggregates -::Ifc4x3_rc3::IfcObjectDefinition* Ifc4x3_rc3::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcObjectDefinition>(); } +::Ifc4x3_rc3::IfcObjectDefinition* Ifc4x3_rc3::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcObjectDefinition>(true); } void Ifc4x3_rc3::IfcRelAggregates::setRelatingObject(::Ifc4x3_rc3::IfcObjectDefinition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr Ifc4x3_rc3::IfcRelAggregates::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc3::IfcObjectDefinition >(); } void Ifc4x3_rc3::IfcRelAggregates::setRelatedObjects(aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -19890,9 +20082,9 @@ Ifc4x3_rc3::IfcRelAssigns::IfcRelAssigns(IfcEntityInstanceData* e) : IfcRelation Ifc4x3_rc3::IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssigns_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3_rc3::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } } // Function implementations for IfcRelAssignsToActor -::Ifc4x3_rc3::IfcActor* Ifc4x3_rc3::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcActor>(); } +::Ifc4x3_rc3::IfcActor* Ifc4x3_rc3::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcActor>(true); } void Ifc4x3_rc3::IfcRelAssignsToActor::setRelatingActor(::Ifc4x3_rc3::IfcActor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4x3_rc3::IfcActorRole* Ifc4x3_rc3::IfcRelAssignsToActor::ActingRole() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc3::IfcActorRole>(); } +::Ifc4x3_rc3::IfcActorRole* Ifc4x3_rc3::IfcRelAssignsToActor::ActingRole() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc3::IfcActorRole>(true); } void Ifc4x3_rc3::IfcRelAssignsToActor::setActingRole(::Ifc4x3_rc3::IfcActorRole* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -19902,7 +20094,7 @@ Ifc4x3_rc3::IfcRelAssignsToActor::IfcRelAssignsToActor(IfcEntityInstanceData* e) Ifc4x3_rc3::IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcActor* v7_RelatingActor, ::Ifc4x3_rc3::IfcActorRole* v8_ActingRole) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssignsToActor_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3_rc3::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingActor));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_ActingRole));data_->setArgument(7,attr);} } // Function implementations for IfcRelAssignsToControl -::Ifc4x3_rc3::IfcControl* Ifc4x3_rc3::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcControl>(); } +::Ifc4x3_rc3::IfcControl* Ifc4x3_rc3::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcControl>(true); } void Ifc4x3_rc3::IfcRelAssignsToControl::setRelatingControl(::Ifc4x3_rc3::IfcControl* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -19912,7 +20104,7 @@ Ifc4x3_rc3::IfcRelAssignsToControl::IfcRelAssignsToControl(IfcEntityInstanceData Ifc4x3_rc3::IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcControl* v7_RelatingControl) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssignsToControl_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3_rc3::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingControl));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssignsToGroup -::Ifc4x3_rc3::IfcGroup* Ifc4x3_rc3::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcGroup>(); } +::Ifc4x3_rc3::IfcGroup* Ifc4x3_rc3::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcGroup>(true); } void Ifc4x3_rc3::IfcRelAssignsToGroup::setRelatingGroup(::Ifc4x3_rc3::IfcGroup* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -19932,9 +20124,9 @@ Ifc4x3_rc3::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(IfcEntity Ifc4x3_rc3::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcGroup* v7_RelatingGroup, double v8_Factor) : IfcRelAssignsToGroup((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssignsToGroupByFactor_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3_rc3::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingGroup));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Factor));data_->setArgument(7,attr);} } // Function implementations for IfcRelAssignsToProcess -::Ifc4x3_rc3::IfcProcessSelect* Ifc4x3_rc3::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcProcessSelect>(); } +::Ifc4x3_rc3::IfcProcessSelect* Ifc4x3_rc3::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcProcessSelect>(true); } void Ifc4x3_rc3::IfcRelAssignsToProcess::setRelatingProcess(::Ifc4x3_rc3::IfcProcessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4x3_rc3::IfcMeasureWithUnit* Ifc4x3_rc3::IfcRelAssignsToProcess::QuantityInProcess() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc3::IfcMeasureWithUnit>(); } +::Ifc4x3_rc3::IfcMeasureWithUnit* Ifc4x3_rc3::IfcRelAssignsToProcess::QuantityInProcess() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc3::IfcMeasureWithUnit>(true); } void Ifc4x3_rc3::IfcRelAssignsToProcess::setQuantityInProcess(::Ifc4x3_rc3::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -19944,7 +20136,7 @@ Ifc4x3_rc3::IfcRelAssignsToProcess::IfcRelAssignsToProcess(IfcEntityInstanceData Ifc4x3_rc3::IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcProcessSelect* v7_RelatingProcess, ::Ifc4x3_rc3::IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssignsToProcess_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3_rc3::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingProcess));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_QuantityInProcess));data_->setArgument(7,attr);} } // Function implementations for IfcRelAssignsToProduct -::Ifc4x3_rc3::IfcProductSelect* Ifc4x3_rc3::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcProductSelect>(); } +::Ifc4x3_rc3::IfcProductSelect* Ifc4x3_rc3::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcProductSelect>(true); } void Ifc4x3_rc3::IfcRelAssignsToProduct::setRelatingProduct(::Ifc4x3_rc3::IfcProductSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -19954,7 +20146,7 @@ Ifc4x3_rc3::IfcRelAssignsToProduct::IfcRelAssignsToProduct(IfcEntityInstanceData Ifc4x3_rc3::IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcProductSelect* v7_RelatingProduct) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssignsToProduct_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3_rc3::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingProduct));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssignsToResource -::Ifc4x3_rc3::IfcResourceSelect* Ifc4x3_rc3::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcResourceSelect>(); } +::Ifc4x3_rc3::IfcResourceSelect* Ifc4x3_rc3::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcResourceSelect>(true); } void Ifc4x3_rc3::IfcRelAssignsToResource::setRelatingResource(::Ifc4x3_rc3::IfcResourceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -19974,7 +20166,7 @@ Ifc4x3_rc3::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData* e) : IfcRe Ifc4x3_rc3::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } // Function implementations for IfcRelAssociatesApproval -::Ifc4x3_rc3::IfcApproval* Ifc4x3_rc3::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcApproval>(); } +::Ifc4x3_rc3::IfcApproval* Ifc4x3_rc3::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcApproval>(true); } void Ifc4x3_rc3::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x3_rc3::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -19984,7 +20176,7 @@ Ifc4x3_rc3::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstance Ifc4x3_rc3::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesClassification -::Ifc4x3_rc3::IfcClassificationSelect* Ifc4x3_rc3::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcClassificationSelect>(); } +::Ifc4x3_rc3::IfcClassificationSelect* Ifc4x3_rc3::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcClassificationSelect>(true); } void Ifc4x3_rc3::IfcRelAssociatesClassification::setRelatingClassification(::Ifc4x3_rc3::IfcClassificationSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -19996,7 +20188,7 @@ Ifc4x3_rc3::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std:: // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4x3_rc3::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x3_rc3::IfcRelAssociatesConstraint::setIntent(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4x3_rc3::IfcConstraint* Ifc4x3_rc3::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcConstraint>(); } +::Ifc4x3_rc3::IfcConstraint* Ifc4x3_rc3::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcConstraint>(true); } void Ifc4x3_rc3::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x3_rc3::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -20006,7 +20198,7 @@ Ifc4x3_rc3::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInst Ifc4x3_rc3::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc3::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociatesDocument -::Ifc4x3_rc3::IfcDocumentSelect* Ifc4x3_rc3::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcDocumentSelect>(); } +::Ifc4x3_rc3::IfcDocumentSelect* Ifc4x3_rc3::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcDocumentSelect>(true); } void Ifc4x3_rc3::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x3_rc3::IfcDocumentSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20016,7 +20208,7 @@ Ifc4x3_rc3::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstance Ifc4x3_rc3::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesLibrary -::Ifc4x3_rc3::IfcLibrarySelect* Ifc4x3_rc3::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcLibrarySelect>(); } +::Ifc4x3_rc3::IfcLibrarySelect* Ifc4x3_rc3::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcLibrarySelect>(true); } void Ifc4x3_rc3::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x3_rc3::IfcLibrarySelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20026,7 +20218,7 @@ Ifc4x3_rc3::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceDa Ifc4x3_rc3::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesMaterial -::Ifc4x3_rc3::IfcMaterialSelect* Ifc4x3_rc3::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcMaterialSelect>(); } +::Ifc4x3_rc3::IfcMaterialSelect* Ifc4x3_rc3::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcMaterialSelect>(true); } void Ifc4x3_rc3::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x3_rc3::IfcMaterialSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20036,7 +20228,7 @@ Ifc4x3_rc3::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstance Ifc4x3_rc3::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesProfileDef -::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcProfileDef>(); } +::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcProfileDef>(true); } void Ifc4x3_rc3::IfcRelAssociatesProfileDef::setRelatingProfileDef(::Ifc4x3_rc3::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20054,11 +20246,11 @@ Ifc4x3_rc3::IfcRelConnects::IfcRelConnects(IfcEntityInstanceData* e) : IfcRelati Ifc4x3_rc3::IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelConnects_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcRelConnectsElements -::Ifc4x3_rc3::IfcConnectionGeometry* Ifc4x3_rc3::IfcRelConnectsElements::ConnectionGeometry() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcConnectionGeometry>(); } +::Ifc4x3_rc3::IfcConnectionGeometry* Ifc4x3_rc3::IfcRelConnectsElements::ConnectionGeometry() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcConnectionGeometry>(true); } void Ifc4x3_rc3::IfcRelConnectsElements::setConnectionGeometry(::Ifc4x3_rc3::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc3::IfcElement* Ifc4x3_rc3::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcElement>(); } +::Ifc4x3_rc3::IfcElement* Ifc4x3_rc3::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcElement>(true); } void Ifc4x3_rc3::IfcRelConnectsElements::setRelatingElement(::Ifc4x3_rc3::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc3::IfcElement* Ifc4x3_rc3::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcElement>(); } +::Ifc4x3_rc3::IfcElement* Ifc4x3_rc3::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcElement>(true); } void Ifc4x3_rc3::IfcRelConnectsElements::setRelatedElement(::Ifc4x3_rc3::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -20084,9 +20276,9 @@ Ifc4x3_rc3::IfcRelConnectsPathElements::IfcRelConnectsPathElements(IfcEntityInst Ifc4x3_rc3::IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_rc3::IfcElement* v6_RelatingElement, ::Ifc4x3_rc3::IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_rc3::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_rc3::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) : IfcRelConnectsElements((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelConnectsPathElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ConnectionGeometry));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatedElement));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_RelatingPriorities));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_RelatedPriorities));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_RelatedConnectionType,::Ifc4x3_rc3::IfcConnectionTypeEnum::ToString(v10_RelatedConnectionType))));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v11_RelatingConnectionType,::Ifc4x3_rc3::IfcConnectionTypeEnum::ToString(v11_RelatingConnectionType))));data_->setArgument(10,attr);} } // Function implementations for IfcRelConnectsPortToElement -::Ifc4x3_rc3::IfcPort* Ifc4x3_rc3::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcPort>(); } +::Ifc4x3_rc3::IfcPort* Ifc4x3_rc3::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcPort>(true); } void Ifc4x3_rc3::IfcRelConnectsPortToElement::setRelatingPort(::Ifc4x3_rc3::IfcPort* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc3::IfcDistributionElement* Ifc4x3_rc3::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcDistributionElement>(); } +::Ifc4x3_rc3::IfcDistributionElement* Ifc4x3_rc3::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcDistributionElement>(true); } void Ifc4x3_rc3::IfcRelConnectsPortToElement::setRelatedElement(::Ifc4x3_rc3::IfcDistributionElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20096,11 +20288,11 @@ Ifc4x3_rc3::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(IfcEntityIn Ifc4x3_rc3::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcPort* v5_RelatingPort, ::Ifc4x3_rc3::IfcDistributionElement* v6_RelatedElement) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelConnectsPortToElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingPort));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnectsPorts -::Ifc4x3_rc3::IfcPort* Ifc4x3_rc3::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcPort>(); } +::Ifc4x3_rc3::IfcPort* Ifc4x3_rc3::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcPort>(true); } void Ifc4x3_rc3::IfcRelConnectsPorts::setRelatingPort(::Ifc4x3_rc3::IfcPort* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc3::IfcPort* Ifc4x3_rc3::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcPort>(); } +::Ifc4x3_rc3::IfcPort* Ifc4x3_rc3::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcPort>(true); } void Ifc4x3_rc3::IfcRelConnectsPorts::setRelatedPort(::Ifc4x3_rc3::IfcPort* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc3::IfcElement* Ifc4x3_rc3::IfcRelConnectsPorts::RealizingElement() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcElement>(); } +::Ifc4x3_rc3::IfcElement* Ifc4x3_rc3::IfcRelConnectsPorts::RealizingElement() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcElement>(true); } void Ifc4x3_rc3::IfcRelConnectsPorts::setRealizingElement(::Ifc4x3_rc3::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -20110,9 +20302,9 @@ Ifc4x3_rc3::IfcRelConnectsPorts::IfcRelConnectsPorts(IfcEntityInstanceData* e) : Ifc4x3_rc3::IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcPort* v5_RelatingPort, ::Ifc4x3_rc3::IfcPort* v6_RelatedPort, ::Ifc4x3_rc3::IfcElement* v7_RealizingElement) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelConnectsPorts_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingPort));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedPort));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RealizingElement));data_->setArgument(6,attr);} } // Function implementations for IfcRelConnectsStructuralActivity -::Ifc4x3_rc3::IfcStructuralActivityAssignmentSelect* Ifc4x3_rc3::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcStructuralActivityAssignmentSelect>(); } +::Ifc4x3_rc3::IfcStructuralActivityAssignmentSelect* Ifc4x3_rc3::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcStructuralActivityAssignmentSelect>(true); } void Ifc4x3_rc3::IfcRelConnectsStructuralActivity::setRelatingElement(::Ifc4x3_rc3::IfcStructuralActivityAssignmentSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc3::IfcStructuralActivity* Ifc4x3_rc3::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcStructuralActivity>(); } +::Ifc4x3_rc3::IfcStructuralActivity* Ifc4x3_rc3::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcStructuralActivity>(true); } void Ifc4x3_rc3::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(::Ifc4x3_rc3::IfcStructuralActivity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20122,17 +20314,17 @@ Ifc4x3_rc3::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(I Ifc4x3_rc3::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcStructuralActivityAssignmentSelect* v5_RelatingElement, ::Ifc4x3_rc3::IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelConnectsStructuralActivity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedStructuralActivity));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnectsStructuralMember -::Ifc4x3_rc3::IfcStructuralMember* Ifc4x3_rc3::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcStructuralMember>(); } +::Ifc4x3_rc3::IfcStructuralMember* Ifc4x3_rc3::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcStructuralMember>(true); } void Ifc4x3_rc3::IfcRelConnectsStructuralMember::setRelatingStructuralMember(::Ifc4x3_rc3::IfcStructuralMember* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc3::IfcStructuralConnection* Ifc4x3_rc3::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcStructuralConnection>(); } +::Ifc4x3_rc3::IfcStructuralConnection* Ifc4x3_rc3::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcStructuralConnection>(true); } void Ifc4x3_rc3::IfcRelConnectsStructuralMember::setRelatedStructuralConnection(::Ifc4x3_rc3::IfcStructuralConnection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc3::IfcBoundaryCondition* Ifc4x3_rc3::IfcRelConnectsStructuralMember::AppliedCondition() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcBoundaryCondition>(); } +::Ifc4x3_rc3::IfcBoundaryCondition* Ifc4x3_rc3::IfcRelConnectsStructuralMember::AppliedCondition() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcBoundaryCondition>(true); } void Ifc4x3_rc3::IfcRelConnectsStructuralMember::setAppliedCondition(::Ifc4x3_rc3::IfcBoundaryCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4x3_rc3::IfcStructuralConnectionCondition* Ifc4x3_rc3::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc3::IfcStructuralConnectionCondition>(); } +::Ifc4x3_rc3::IfcStructuralConnectionCondition* Ifc4x3_rc3::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc3::IfcStructuralConnectionCondition>(true); } void Ifc4x3_rc3::IfcRelConnectsStructuralMember::setAdditionalConditions(::Ifc4x3_rc3::IfcStructuralConnectionCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc3::IfcRelConnectsStructuralMember::SupportedLength() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } void Ifc4x3_rc3::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } -::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(); } +::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(true); } void Ifc4x3_rc3::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(::Ifc4x3_rc3::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -20142,7 +20334,7 @@ Ifc4x3_rc3::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(IfcEn Ifc4x3_rc3::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x3_rc3::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x3_rc3::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x3_rc3::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x3_rc3::IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelConnectsStructuralMember_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingStructuralMember));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedStructuralConnection));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_AppliedCondition));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AdditionalConditions));data_->setArgument(7,attr);} if (v9_SupportedLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_SupportedLength));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_ConditionCoordinateSystem));data_->setArgument(9,attr);} } // Function implementations for IfcRelConnectsWithEccentricity -::Ifc4x3_rc3::IfcConnectionGeometry* Ifc4x3_rc3::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc3::IfcConnectionGeometry>(); } +::Ifc4x3_rc3::IfcConnectionGeometry* Ifc4x3_rc3::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc3::IfcConnectionGeometry>(true); } void Ifc4x3_rc3::IfcRelConnectsWithEccentricity::setConnectionConstraint(::Ifc4x3_rc3::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -20166,7 +20358,7 @@ Ifc4x3_rc3::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElem // Function implementations for IfcRelContainedInSpatialStructure aggregate_of< ::Ifc4x3_rc3::IfcProduct >::ptr Ifc4x3_rc3::IfcRelContainedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc3::IfcProduct >(); } void Ifc4x3_rc3::IfcRelContainedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_rc3::IfcProduct >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x3_rc3::IfcSpatialElement* Ifc4x3_rc3::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcSpatialElement>(); } +::Ifc4x3_rc3::IfcSpatialElement* Ifc4x3_rc3::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcSpatialElement>(true); } void Ifc4x3_rc3::IfcRelContainedInSpatialStructure::setRelatingStructure(::Ifc4x3_rc3::IfcSpatialElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20176,7 +20368,7 @@ Ifc4x3_rc3::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure Ifc4x3_rc3::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcProduct >::ptr v5_RelatedElements, ::Ifc4x3_rc3::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelContainedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } // Function implementations for IfcRelCoversBldgElements -::Ifc4x3_rc3::IfcElement* Ifc4x3_rc3::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcElement>(); } +::Ifc4x3_rc3::IfcElement* Ifc4x3_rc3::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcElement>(true); } void Ifc4x3_rc3::IfcRelCoversBldgElements::setRelatingBuildingElement(::Ifc4x3_rc3::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc3::IfcCovering >::ptr Ifc4x3_rc3::IfcRelCoversBldgElements::RelatedCoverings() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc3::IfcCovering >(); } void Ifc4x3_rc3::IfcRelCoversBldgElements::setRelatedCoverings(aggregate_of< ::Ifc4x3_rc3::IfcCovering >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -20188,7 +20380,7 @@ Ifc4x3_rc3::IfcRelCoversBldgElements::IfcRelCoversBldgElements(IfcEntityInstance Ifc4x3_rc3::IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcElement* v5_RelatingBuildingElement, aggregate_of< ::Ifc4x3_rc3::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelCoversBldgElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingBuildingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedCoverings)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelCoversSpaces -::Ifc4x3_rc3::IfcSpace* Ifc4x3_rc3::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcSpace>(); } +::Ifc4x3_rc3::IfcSpace* Ifc4x3_rc3::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcSpace>(true); } void Ifc4x3_rc3::IfcRelCoversSpaces::setRelatingSpace(::Ifc4x3_rc3::IfcSpace* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc3::IfcCovering >::ptr Ifc4x3_rc3::IfcRelCoversSpaces::RelatedCoverings() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc3::IfcCovering >(); } void Ifc4x3_rc3::IfcRelCoversSpaces::setRelatedCoverings(aggregate_of< ::Ifc4x3_rc3::IfcCovering >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -20200,7 +20392,7 @@ Ifc4x3_rc3::IfcRelCoversSpaces::IfcRelCoversSpaces(IfcEntityInstanceData* e) : I Ifc4x3_rc3::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSpace* v5_RelatingSpace, aggregate_of< ::Ifc4x3_rc3::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelCoversSpaces_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSpace));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedCoverings)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelDeclares -::Ifc4x3_rc3::IfcContext* Ifc4x3_rc3::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcContext>(); } +::Ifc4x3_rc3::IfcContext* Ifc4x3_rc3::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcContext>(true); } void Ifc4x3_rc3::IfcRelDeclares::setRelatingContext(::Ifc4x3_rc3::IfcContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of_instance::ptr Ifc4x3_rc3::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr v = *data_->getArgument(5); return v; } void Ifc4x3_rc3::IfcRelDeclares::setRelatedDefinitions(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20230,7 +20422,7 @@ Ifc4x3_rc3::IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, ::Ifc4x3_rc3:: // Function implementations for IfcRelDefinesByObject aggregate_of< ::Ifc4x3_rc3::IfcObject >::ptr Ifc4x3_rc3::IfcRelDefinesByObject::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc3::IfcObject >(); } void Ifc4x3_rc3::IfcRelDefinesByObject::setRelatedObjects(aggregate_of< ::Ifc4x3_rc3::IfcObject >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x3_rc3::IfcObject* Ifc4x3_rc3::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcObject>(); } +::Ifc4x3_rc3::IfcObject* Ifc4x3_rc3::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcObject>(true); } void Ifc4x3_rc3::IfcRelDefinesByObject::setRelatingObject(::Ifc4x3_rc3::IfcObject* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20242,7 +20434,7 @@ Ifc4x3_rc3::IfcRelDefinesByObject::IfcRelDefinesByObject(std::string v1_GlobalId // Function implementations for IfcRelDefinesByProperties aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr Ifc4x3_rc3::IfcRelDefinesByProperties::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc3::IfcObjectDefinition >(); } void Ifc4x3_rc3::IfcRelDefinesByProperties::setRelatedObjects(aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x3_rc3::IfcPropertySetDefinitionSelect* Ifc4x3_rc3::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcPropertySetDefinitionSelect>(); } +::Ifc4x3_rc3::IfcPropertySetDefinitionSelect* Ifc4x3_rc3::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcPropertySetDefinitionSelect>(true); } void Ifc4x3_rc3::IfcRelDefinesByProperties::setRelatingPropertyDefinition(::Ifc4x3_rc3::IfcPropertySetDefinitionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20254,7 +20446,7 @@ Ifc4x3_rc3::IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_ // Function implementations for IfcRelDefinesByTemplate aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr Ifc4x3_rc3::IfcRelDefinesByTemplate::RelatedPropertySets() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc3::IfcPropertySetDefinition >(); } void Ifc4x3_rc3::IfcRelDefinesByTemplate::setRelatedPropertySets(aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x3_rc3::IfcPropertySetTemplate* Ifc4x3_rc3::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcPropertySetTemplate>(); } +::Ifc4x3_rc3::IfcPropertySetTemplate* Ifc4x3_rc3::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcPropertySetTemplate>(true); } void Ifc4x3_rc3::IfcRelDefinesByTemplate::setRelatingTemplate(::Ifc4x3_rc3::IfcPropertySetTemplate* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20266,7 +20458,7 @@ Ifc4x3_rc3::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(std::string v1_Glob // Function implementations for IfcRelDefinesByType aggregate_of< ::Ifc4x3_rc3::IfcObject >::ptr Ifc4x3_rc3::IfcRelDefinesByType::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc3::IfcObject >(); } void Ifc4x3_rc3::IfcRelDefinesByType::setRelatedObjects(aggregate_of< ::Ifc4x3_rc3::IfcObject >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x3_rc3::IfcTypeObject* Ifc4x3_rc3::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcTypeObject>(); } +::Ifc4x3_rc3::IfcTypeObject* Ifc4x3_rc3::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcTypeObject>(true); } void Ifc4x3_rc3::IfcRelDefinesByType::setRelatingType(::Ifc4x3_rc3::IfcTypeObject* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20276,9 +20468,9 @@ Ifc4x3_rc3::IfcRelDefinesByType::IfcRelDefinesByType(IfcEntityInstanceData* e) : Ifc4x3_rc3::IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcTypeObject* v6_RelatingType) : IfcRelDefines((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelDefinesByType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingType));data_->setArgument(5,attr);} } // Function implementations for IfcRelFillsElement -::Ifc4x3_rc3::IfcOpeningElement* Ifc4x3_rc3::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcOpeningElement>(); } +::Ifc4x3_rc3::IfcOpeningElement* Ifc4x3_rc3::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcOpeningElement>(true); } void Ifc4x3_rc3::IfcRelFillsElement::setRelatingOpeningElement(::Ifc4x3_rc3::IfcOpeningElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc3::IfcElement* Ifc4x3_rc3::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcElement>(); } +::Ifc4x3_rc3::IfcElement* Ifc4x3_rc3::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcElement>(true); } void Ifc4x3_rc3::IfcRelFillsElement::setRelatedBuildingElement(::Ifc4x3_rc3::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20290,7 +20482,7 @@ Ifc4x3_rc3::IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, ::If // Function implementations for IfcRelFlowControlElements aggregate_of< ::Ifc4x3_rc3::IfcDistributionControlElement >::ptr Ifc4x3_rc3::IfcRelFlowControlElements::RelatedControlElements() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc3::IfcDistributionControlElement >(); } void Ifc4x3_rc3::IfcRelFlowControlElements::setRelatedControlElements(aggregate_of< ::Ifc4x3_rc3::IfcDistributionControlElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x3_rc3::IfcDistributionFlowElement* Ifc4x3_rc3::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcDistributionFlowElement>(); } +::Ifc4x3_rc3::IfcDistributionFlowElement* Ifc4x3_rc3::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcDistributionFlowElement>(true); } void Ifc4x3_rc3::IfcRelFlowControlElements::setRelatingFlowElement(::Ifc4x3_rc3::IfcDistributionFlowElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20300,11 +20492,11 @@ Ifc4x3_rc3::IfcRelFlowControlElements::IfcRelFlowControlElements(IfcEntityInstan Ifc4x3_rc3::IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDistributionControlElement >::ptr v5_RelatedControlElements, ::Ifc4x3_rc3::IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelFlowControlElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedControlElements)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingFlowElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelInterferesElements -::Ifc4x3_rc3::IfcInterferenceSelect* Ifc4x3_rc3::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcInterferenceSelect>(); } +::Ifc4x3_rc3::IfcInterferenceSelect* Ifc4x3_rc3::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcInterferenceSelect>(true); } void Ifc4x3_rc3::IfcRelInterferesElements::setRelatingElement(::Ifc4x3_rc3::IfcInterferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc3::IfcInterferenceSelect* Ifc4x3_rc3::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcInterferenceSelect>(); } +::Ifc4x3_rc3::IfcInterferenceSelect* Ifc4x3_rc3::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcInterferenceSelect>(true); } void Ifc4x3_rc3::IfcRelInterferesElements::setRelatedElement(::Ifc4x3_rc3::IfcInterferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc3::IfcConnectionGeometry* Ifc4x3_rc3::IfcRelInterferesElements::InterferenceGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcConnectionGeometry>(); } +::Ifc4x3_rc3::IfcConnectionGeometry* Ifc4x3_rc3::IfcRelInterferesElements::InterferenceGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcConnectionGeometry>(true); } void Ifc4x3_rc3::IfcRelInterferesElements::setInterferenceGeometry(::Ifc4x3_rc3::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcRelInterferesElements::InterferenceType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } void Ifc4x3_rc3::IfcRelInterferesElements::setInterferenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } @@ -20318,7 +20510,7 @@ Ifc4x3_rc3::IfcRelInterferesElements::IfcRelInterferesElements(IfcEntityInstance Ifc4x3_rc3::IfcRelInterferesElements::IfcRelInterferesElements(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcInterferenceSelect* v5_RelatingElement, ::Ifc4x3_rc3::IfcInterferenceSelect* v6_RelatedElement, ::Ifc4x3_rc3::IfcConnectionGeometry* v7_InterferenceGeometry, boost::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelInterferesElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_InterferenceGeometry));data_->setArgument(6,attr);} if (v8_InterferenceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_InterferenceType));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_ImpliedOrder));data_->setArgument(8,attr);} } // Function implementations for IfcRelNests -::Ifc4x3_rc3::IfcObjectDefinition* Ifc4x3_rc3::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcObjectDefinition>(); } +::Ifc4x3_rc3::IfcObjectDefinition* Ifc4x3_rc3::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcObjectDefinition>(true); } void Ifc4x3_rc3::IfcRelNests::setRelatingObject(::Ifc4x3_rc3::IfcObjectDefinition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr Ifc4x3_rc3::IfcRelNests::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc3::IfcObjectDefinition >(); } void Ifc4x3_rc3::IfcRelNests::setRelatedObjects(aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -20330,7 +20522,7 @@ Ifc4x3_rc3::IfcRelNests::IfcRelNests(IfcEntityInstanceData* e) : IfcRelDecompose Ifc4x3_rc3::IfcRelNests::IfcRelNests(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelNests_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingObject));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedObjects)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelPositions -::Ifc4x3_rc3::IfcPositioningElement* Ifc4x3_rc3::IfcRelPositions::RelatingPositioningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcPositioningElement>(); } +::Ifc4x3_rc3::IfcPositioningElement* Ifc4x3_rc3::IfcRelPositions::RelatingPositioningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcPositioningElement>(true); } void Ifc4x3_rc3::IfcRelPositions::setRelatingPositioningElement(::Ifc4x3_rc3::IfcPositioningElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc3::IfcProduct >::ptr Ifc4x3_rc3::IfcRelPositions::RelatedProducts() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc3::IfcProduct >(); } void Ifc4x3_rc3::IfcRelPositions::setRelatedProducts(aggregate_of< ::Ifc4x3_rc3::IfcProduct >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -20342,9 +20534,9 @@ Ifc4x3_rc3::IfcRelPositions::IfcRelPositions(IfcEntityInstanceData* e) : IfcRelC Ifc4x3_rc3::IfcRelPositions::IfcRelPositions(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcPositioningElement* v5_RelatingPositioningElement, aggregate_of< ::Ifc4x3_rc3::IfcProduct >::ptr v6_RelatedProducts) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelPositions_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingPositioningElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedProducts)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelProjectsElement -::Ifc4x3_rc3::IfcElement* Ifc4x3_rc3::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcElement>(); } +::Ifc4x3_rc3::IfcElement* Ifc4x3_rc3::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcElement>(true); } void Ifc4x3_rc3::IfcRelProjectsElement::setRelatingElement(::Ifc4x3_rc3::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc3::IfcFeatureElementAddition* Ifc4x3_rc3::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcFeatureElementAddition>(); } +::Ifc4x3_rc3::IfcFeatureElementAddition* Ifc4x3_rc3::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcFeatureElementAddition>(true); } void Ifc4x3_rc3::IfcRelProjectsElement::setRelatedFeatureElement(::Ifc4x3_rc3::IfcFeatureElementAddition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20356,7 +20548,7 @@ Ifc4x3_rc3::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId // Function implementations for IfcRelReferencedInSpatialStructure aggregate_of_instance::ptr Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr v = *data_->getArgument(4); return v; } void Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc3::IfcSpatialElement* Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcSpatialElement>(); } +::Ifc4x3_rc3::IfcSpatialElement* Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcSpatialElement>(true); } void Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4x3_rc3::IfcSpatialElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20366,11 +20558,11 @@ Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructu Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedElements, ::Ifc4x3_rc3::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } // Function implementations for IfcRelSequence -::Ifc4x3_rc3::IfcProcess* Ifc4x3_rc3::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcProcess>(); } +::Ifc4x3_rc3::IfcProcess* Ifc4x3_rc3::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcProcess>(true); } void Ifc4x3_rc3::IfcRelSequence::setRelatingProcess(::Ifc4x3_rc3::IfcProcess* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc3::IfcProcess* Ifc4x3_rc3::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcProcess>(); } +::Ifc4x3_rc3::IfcProcess* Ifc4x3_rc3::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcProcess>(true); } void Ifc4x3_rc3::IfcRelSequence::setRelatedProcess(::Ifc4x3_rc3::IfcProcess* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc3::IfcLagTime* Ifc4x3_rc3::IfcRelSequence::TimeLag() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcLagTime>(); } +::Ifc4x3_rc3::IfcLagTime* Ifc4x3_rc3::IfcRelSequence::TimeLag() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcLagTime>(true); } void Ifc4x3_rc3::IfcRelSequence::setTimeLag(::Ifc4x3_rc3::IfcLagTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4x3_rc3::IfcSequenceEnum::Value > Ifc4x3_rc3::IfcRelSequence::SequenceType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSequenceEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc3::IfcRelSequence::setSequenceType(boost::optional< ::Ifc4x3_rc3::IfcSequenceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcSequenceEnum::ToString(*v)));data_->setArgument(7,attr);} } @@ -20384,7 +20576,7 @@ Ifc4x3_rc3::IfcRelSequence::IfcRelSequence(IfcEntityInstanceData* e) : IfcRelCon Ifc4x3_rc3::IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcProcess* v5_RelatingProcess, ::Ifc4x3_rc3::IfcProcess* v6_RelatedProcess, ::Ifc4x3_rc3::IfcLagTime* v7_TimeLag, boost::optional< ::Ifc4x3_rc3::IfcSequenceEnum::Value > v8_SequenceType, boost::optional< std::string > v9_UserDefinedSequenceType) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelSequence_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingProcess));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedProcess));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_TimeLag));data_->setArgument(6,attr);} if (v8_SequenceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_SequenceType,::Ifc4x3_rc3::IfcSequenceEnum::ToString(*v8_SequenceType))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_UserDefinedSequenceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_UserDefinedSequenceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcRelServicesBuildings -::Ifc4x3_rc3::IfcSystem* Ifc4x3_rc3::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcSystem>(); } +::Ifc4x3_rc3::IfcSystem* Ifc4x3_rc3::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcSystem>(true); } void Ifc4x3_rc3::IfcRelServicesBuildings::setRelatingSystem(::Ifc4x3_rc3::IfcSystem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc3::IfcSpatialElement >::ptr Ifc4x3_rc3::IfcRelServicesBuildings::RelatedBuildings() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc3::IfcSpatialElement >(); } void Ifc4x3_rc3::IfcRelServicesBuildings::setRelatedBuildings(aggregate_of< ::Ifc4x3_rc3::IfcSpatialElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -20396,11 +20588,11 @@ Ifc4x3_rc3::IfcRelServicesBuildings::IfcRelServicesBuildings(IfcEntityInstanceDa Ifc4x3_rc3::IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSystem* v5_RelatingSystem, aggregate_of< ::Ifc4x3_rc3::IfcSpatialElement >::ptr v6_RelatedBuildings) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelServicesBuildings_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSystem));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildings)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelSpaceBoundary -::Ifc4x3_rc3::IfcSpaceBoundarySelect* Ifc4x3_rc3::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcSpaceBoundarySelect>(); } +::Ifc4x3_rc3::IfcSpaceBoundarySelect* Ifc4x3_rc3::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcSpaceBoundarySelect>(true); } void Ifc4x3_rc3::IfcRelSpaceBoundary::setRelatingSpace(::Ifc4x3_rc3::IfcSpaceBoundarySelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc3::IfcElement* Ifc4x3_rc3::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcElement>(); } +::Ifc4x3_rc3::IfcElement* Ifc4x3_rc3::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcElement>(true); } void Ifc4x3_rc3::IfcRelSpaceBoundary::setRelatedBuildingElement(::Ifc4x3_rc3::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc3::IfcConnectionGeometry* Ifc4x3_rc3::IfcRelSpaceBoundary::ConnectionGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcConnectionGeometry>(); } +::Ifc4x3_rc3::IfcConnectionGeometry* Ifc4x3_rc3::IfcRelSpaceBoundary::ConnectionGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcConnectionGeometry>(true); } void Ifc4x3_rc3::IfcRelSpaceBoundary::setConnectionGeometry(::Ifc4x3_rc3::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } ::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Value Ifc4x3_rc3::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc3::IfcRelSpaceBoundary::setPhysicalOrVirtualBoundary(::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::ToString(v)));data_->setArgument(7,attr);} } @@ -20414,7 +20606,7 @@ Ifc4x3_rc3::IfcRelSpaceBoundary::IfcRelSpaceBoundary(IfcEntityInstanceData* e) : Ifc4x3_rc3::IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_rc3::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_rc3::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelSpaceBoundary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSpace));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConnectionGeometry));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_PhysicalOrVirtualBoundary,::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_InternalOrExternalBoundary,::Ifc4x3_rc3::IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary))));data_->setArgument(8,attr);} } // Function implementations for IfcRelSpaceBoundary1stLevel -::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel* Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel>(); } +::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel* Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel>(true); } void Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel::setParentBoundary(::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } ::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel::list::ptr Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return data_->getInverse(IFC4X3_RC3_IfcRelSpaceBoundary1stLevel_type, 9)->as(); } @@ -20425,7 +20617,7 @@ Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(IfcEntityIn Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_rc3::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_rc3::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary) : IfcRelSpaceBoundary((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelSpaceBoundary1stLevel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSpace));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConnectionGeometry));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_PhysicalOrVirtualBoundary,::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_InternalOrExternalBoundary,::Ifc4x3_rc3::IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_ParentBoundary));data_->setArgument(9,attr);} } // Function implementations for IfcRelSpaceBoundary2ndLevel -::Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel* Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel>(); } +::Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel* Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel>(true); } void Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(::Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } ::Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel::list::ptr Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return data_->getInverse(IFC4X3_RC3_IfcRelSpaceBoundary2ndLevel_type, 10)->as(); } @@ -20436,9 +20628,9 @@ Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(IfcEntityIn Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_rc3::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_rc3::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, ::Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary) : IfcRelSpaceBoundary1stLevel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRelSpaceBoundary2ndLevel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSpace));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConnectionGeometry));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_PhysicalOrVirtualBoundary,::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_InternalOrExternalBoundary,::Ifc4x3_rc3::IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_ParentBoundary));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_CorrespondingBoundary));data_->setArgument(10,attr);} } // Function implementations for IfcRelVoidsElement -::Ifc4x3_rc3::IfcElement* Ifc4x3_rc3::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcElement>(); } +::Ifc4x3_rc3::IfcElement* Ifc4x3_rc3::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcElement>(true); } void Ifc4x3_rc3::IfcRelVoidsElement::setRelatingBuildingElement(::Ifc4x3_rc3::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc3::IfcFeatureElementSubtraction* Ifc4x3_rc3::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcFeatureElementSubtraction>(); } +::Ifc4x3_rc3::IfcFeatureElementSubtraction* Ifc4x3_rc3::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcFeatureElementSubtraction>(true); } void Ifc4x3_rc3::IfcRelVoidsElement::setRelatedOpeningElement(::Ifc4x3_rc3::IfcFeatureElementSubtraction* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20466,7 +20658,7 @@ Ifc4x3_rc3::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCu Ifc4x3_rc3::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(::Ifc4x3_rc3::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc3::IfcCurve* v3_ParentCurve, double v4_ParamLength) : IfcCompositeCurveSegment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcReparametrisedCompositeCurveSegment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_Transition,::Ifc4x3_rc3::IfcTransitionCode::ToString(v1_Transition))));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SameSense));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ParentCurve));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ParamLength));data_->setArgument(3,attr);} } // Function implementations for IfcRepresentation -::Ifc4x3_rc3::IfcRepresentationContext* Ifc4x3_rc3::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcRepresentationContext>(); } +::Ifc4x3_rc3::IfcRepresentationContext* Ifc4x3_rc3::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcRepresentationContext>(true); } void Ifc4x3_rc3::IfcRepresentation::setContextOfItems(::Ifc4x3_rc3::IfcRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcRepresentation::RepresentationIdentifier() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } @@ -20508,9 +20700,9 @@ Ifc4x3_rc3::IfcRepresentationItem::IfcRepresentationItem(IfcEntityInstanceData* Ifc4x3_rc3::IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRepresentationItem_type); } // Function implementations for IfcRepresentationMap -::Ifc4x3_rc3::IfcAxis2Placement* Ifc4x3_rc3::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcAxis2Placement>(); } +::Ifc4x3_rc3::IfcAxis2Placement* Ifc4x3_rc3::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcAxis2Placement>(true); } void Ifc4x3_rc3::IfcRepresentationMap::setMappingOrigin(::Ifc4x3_rc3::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc3::IfcRepresentation* Ifc4x3_rc3::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcRepresentation>(); } +::Ifc4x3_rc3::IfcRepresentation* Ifc4x3_rc3::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcRepresentation>(true); } void Ifc4x3_rc3::IfcRepresentationMap::setMappedRepresentation(::Ifc4x3_rc3::IfcRepresentation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4x3_rc3::IfcShapeAspect::list::ptr Ifc4x3_rc3::IfcRepresentationMap::HasShapeAspects() const { return data_->getInverse(IFC4X3_RC3_IfcShapeAspect_type, 4)->as(); } @@ -20537,7 +20729,7 @@ Ifc4x3_rc3::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcO // Function implementations for IfcResourceApprovalRelationship aggregate_of_instance::ptr Ifc4x3_rc3::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } void Ifc4x3_rc3::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc3::IfcApproval* Ifc4x3_rc3::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcApproval>(); } +::Ifc4x3_rc3::IfcApproval* Ifc4x3_rc3::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcApproval>(true); } void Ifc4x3_rc3::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_rc3::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -20547,7 +20739,7 @@ Ifc4x3_rc3::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(Ifc Ifc4x3_rc3::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc3::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } // Function implementations for IfcResourceConstraintRelationship -::Ifc4x3_rc3::IfcConstraint* Ifc4x3_rc3::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcConstraint>(); } +::Ifc4x3_rc3::IfcConstraint* Ifc4x3_rc3::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcConstraint>(true); } void Ifc4x3_rc3::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x3_rc3::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of_instance::ptr Ifc4x3_rc3::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } void Ifc4x3_rc3::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -20609,7 +20801,7 @@ Ifc4x3_rc3::IfcResourceTime::IfcResourceTime(IfcEntityInstanceData* e) : IfcSche Ifc4x3_rc3::IfcResourceTime::IfcResourceTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< std::string > v4_ScheduleWork, boost::optional< double > v5_ScheduleUsage, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_ScheduleContour, boost::optional< std::string > v9_LevelingDelay, boost::optional< bool > v10_IsOverAllocated, boost::optional< std::string > v11_StatusTime, boost::optional< std::string > v12_ActualWork, boost::optional< double > v13_ActualUsage, boost::optional< std::string > v14_ActualStart, boost::optional< std::string > v15_ActualFinish, boost::optional< std::string > v16_RemainingWork, boost::optional< double > v17_RemainingUsage, boost::optional< double > v18_Completion) : IfcSchedulingTime((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcResourceTime_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_DataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v2_DataOrigin,::Ifc4x3_rc3::IfcDataOriginEnum::ToString(*v2_DataOrigin))));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UserDefinedDataOrigin));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_ScheduleWork) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_ScheduleWork));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ScheduleUsage) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ScheduleUsage));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ScheduleStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ScheduleStart));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ScheduleFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ScheduleFinish));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_ScheduleContour) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_ScheduleContour));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_LevelingDelay) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_LevelingDelay));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_IsOverAllocated) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_IsOverAllocated));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_StatusTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_StatusTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_ActualWork) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_ActualWork));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ActualUsage) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ActualUsage));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ActualStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ActualStart));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ActualFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ActualFinish));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_RemainingWork) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_RemainingWork));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_RemainingUsage) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_RemainingUsage));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_Completion) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_Completion));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } } // Function implementations for IfcRevolvedAreaSolid -::Ifc4x3_rc3::IfcAxis1Placement* Ifc4x3_rc3::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcAxis1Placement>(); } +::Ifc4x3_rc3::IfcAxis1Placement* Ifc4x3_rc3::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcAxis1Placement>(true); } void Ifc4x3_rc3::IfcRevolvedAreaSolid::setAxis(::Ifc4x3_rc3::IfcAxis1Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc4x3_rc3::IfcRevolvedAreaSolid::Angle() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc3::IfcRevolvedAreaSolid::setAngle(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -20621,7 +20813,7 @@ Ifc4x3_rc3::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcEntityInstanceData* e) Ifc4x3_rc3::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(::Ifc4x3_rc3::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc3::IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcRevolvedAreaSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Axis));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Angle));data_->setArgument(3,attr);} } // Function implementations for IfcRevolvedAreaSolidTapered -::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcProfileDef>(); } +::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcProfileDef>(true); } void Ifc4x3_rc3::IfcRevolvedAreaSolidTapered::setEndSweptArea(::Ifc4x3_rc3::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -20687,7 +20879,7 @@ Ifc4x3_rc3::IfcRoofType::IfcRoofType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcO // Function implementations for IfcRoot std::string Ifc4x3_rc3::IfcRoot::GlobalId() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc3::IfcRoot::setGlobalId(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc3::IfcOwnerHistory* Ifc4x3_rc3::IfcRoot::OwnerHistory() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcOwnerHistory>(); } +::Ifc4x3_rc3::IfcOwnerHistory* Ifc4x3_rc3::IfcRoot::OwnerHistory() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcOwnerHistory>(true); } void Ifc4x3_rc3::IfcRoot::setOwnerHistory(::Ifc4x3_rc3::IfcOwnerHistory* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcRoot::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc3::IfcRoot::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } @@ -20781,9 +20973,9 @@ Ifc4x3_rc3::IfcSecondOrderPolynomialSpiral::IfcSecondOrderPolynomialSpiral(::Ifc // Function implementations for IfcSectionProperties ::Ifc4x3_rc3::IfcSectionTypeEnum::Value Ifc4x3_rc3::IfcSectionProperties::SectionType() const { return ::Ifc4x3_rc3::IfcSectionTypeEnum::FromString(*data_->getArgument(0)); } void Ifc4x3_rc3::IfcSectionProperties::setSectionType(::Ifc4x3_rc3::IfcSectionTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcSectionTypeEnum::ToString(v)));data_->setArgument(0,attr);} } -::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcProfileDef>(); } +::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcProfileDef>(true); } void Ifc4x3_rc3::IfcSectionProperties::setStartProfile(::Ifc4x3_rc3::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcSectionProperties::EndProfile() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcProfileDef>(); } +::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcSectionProperties::EndProfile() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcProfileDef>(true); } void Ifc4x3_rc3::IfcSectionProperties::setEndProfile(::Ifc4x3_rc3::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -20801,7 +20993,7 @@ boost::optional< double > Ifc4x3_rc3::IfcSectionReinforcementProperties::Transve void Ifc4x3_rc3::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } ::Ifc4x3_rc3::IfcReinforcingBarRoleEnum::Value Ifc4x3_rc3::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x3_rc3::IfcReinforcingBarRoleEnum::FromString(*data_->getArgument(3)); } void Ifc4x3_rc3::IfcSectionReinforcementProperties::setReinforcementRole(::Ifc4x3_rc3::IfcReinforcingBarRoleEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcReinforcingBarRoleEnum::ToString(v)));data_->setArgument(3,attr);} } -::Ifc4x3_rc3::IfcSectionProperties* Ifc4x3_rc3::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcSectionProperties>(); } +::Ifc4x3_rc3::IfcSectionProperties* Ifc4x3_rc3::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcSectionProperties>(true); } void Ifc4x3_rc3::IfcSectionReinforcementProperties::setSectionDefinition(::Ifc4x3_rc3::IfcSectionProperties* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc3::IfcReinforcementBarProperties >::ptr Ifc4x3_rc3::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc3::IfcReinforcementBarProperties >(); } void Ifc4x3_rc3::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(aggregate_of< ::Ifc4x3_rc3::IfcReinforcementBarProperties >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -20813,7 +21005,7 @@ Ifc4x3_rc3::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties Ifc4x3_rc3::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, ::Ifc4x3_rc3::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_rc3::IfcSectionProperties* v5_SectionDefinition, aggregate_of< ::Ifc4x3_rc3::IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcPreDefinedProperties((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSectionReinforcementProperties_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_LongitudinalStartPosition));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LongitudinalEndPosition));data_->setArgument(1,attr);} if (v3_TransversePosition) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_TransversePosition));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v4_ReinforcementRole,::Ifc4x3_rc3::IfcReinforcingBarRoleEnum::ToString(v4_ReinforcementRole))));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_SectionDefinition));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_CrossSectionReinforcementDefinitions)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcSectionedSolid -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcSectionedSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCurve>(); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcSectionedSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcSectionedSolid::setDirectrix(::Ifc4x3_rc3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x3_rc3::IfcProfileDef >::ptr Ifc4x3_rc3::IfcSectionedSolid::CrossSections() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc3::IfcProfileDef >(); } void Ifc4x3_rc3::IfcSectionedSolid::setCrossSections(aggregate_of< ::Ifc4x3_rc3::IfcProfileDef >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -20837,7 +21029,7 @@ Ifc4x3_rc3::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(IfcEntityIn Ifc4x3_rc3::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(::Ifc4x3_rc3::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_rc3::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3_rc3::IfcAxis2PlacementLinear >::ptr v3_CrossSectionPositions, bool v4_FixedAxisVertical) : IfcSectionedSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSectionedSolidHorizontal_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Directrix));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_CrossSections)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_CrossSectionPositions)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_FixedAxisVertical));data_->setArgument(3,attr);} } // Function implementations for IfcSectionedSpine -::Ifc4x3_rc3::IfcCompositeCurve* Ifc4x3_rc3::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCompositeCurve>(); } +::Ifc4x3_rc3::IfcCompositeCurve* Ifc4x3_rc3::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCompositeCurve>(true); } void Ifc4x3_rc3::IfcSectionedSpine::setSpineCurve(::Ifc4x3_rc3::IfcCompositeCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x3_rc3::IfcProfileDef >::ptr Ifc4x3_rc3::IfcSectionedSpine::CrossSections() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc3::IfcProfileDef >(); } void Ifc4x3_rc3::IfcSectionedSpine::setCrossSections(aggregate_of< ::Ifc4x3_rc3::IfcProfileDef >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -20851,7 +21043,7 @@ Ifc4x3_rc3::IfcSectionedSpine::IfcSectionedSpine(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc3::IfcSectionedSpine::IfcSectionedSpine(::Ifc4x3_rc3::IfcCompositeCurve* v1_SpineCurve, aggregate_of< ::Ifc4x3_rc3::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3_rc3::IfcAxis2Placement3D >::ptr v3_CrossSectionPositions) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSectionedSpine_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SpineCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_CrossSections)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_CrossSectionPositions)->generalize());data_->setArgument(2,attr);} } // Function implementations for IfcSectionedSurface -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcSectionedSurface::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCurve>(); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcSectionedSurface::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcSectionedSurface::setDirectrix(::Ifc4x3_rc3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x3_rc3::IfcPointByDistanceExpression >::ptr Ifc4x3_rc3::IfcSectionedSurface::CrossSectionPositions() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc3::IfcPointByDistanceExpression >(); } void Ifc4x3_rc3::IfcSectionedSurface::setCrossSectionPositions(aggregate_of< ::Ifc4x3_rc3::IfcPointByDistanceExpression >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -20878,9 +21070,9 @@ Ifc4x3_rc3::IfcSegment::IfcSegment(IfcEntityInstanceData* e) : IfcGeometricRepre Ifc4x3_rc3::IfcSegment::IfcSegment(::Ifc4x3_rc3::IfcTransitionCode::Value v1_Transition) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSegment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_Transition,::Ifc4x3_rc3::IfcTransitionCode::ToString(v1_Transition))));data_->setArgument(0,attr);} } // Function implementations for IfcSegmentedReferenceCurve -::Ifc4x3_rc3::IfcBoundedCurve* Ifc4x3_rc3::IfcSegmentedReferenceCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcBoundedCurve>(); } +::Ifc4x3_rc3::IfcBoundedCurve* Ifc4x3_rc3::IfcSegmentedReferenceCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcBoundedCurve>(true); } void Ifc4x3_rc3::IfcSegmentedReferenceCurve::setBaseCurve(::Ifc4x3_rc3::IfcBoundedCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc3::IfcPlacement* Ifc4x3_rc3::IfcSegmentedReferenceCurve::EndPoint() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcPlacement>(); } +::Ifc4x3_rc3::IfcPlacement* Ifc4x3_rc3::IfcSegmentedReferenceCurve::EndPoint() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcPlacement>(true); } void Ifc4x3_rc3::IfcSegmentedReferenceCurve::setEndPoint(::Ifc4x3_rc3::IfcPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -20938,7 +21130,7 @@ boost::optional< std::string > Ifc4x3_rc3::IfcShapeAspect::Description() const { void Ifc4x3_rc3::IfcShapeAspect::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } boost::logic::tribool Ifc4x3_rc3::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = *data_->getArgument(3); return v; } void Ifc4x3_rc3::IfcShapeAspect::setProductDefinitional(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc3::IfcProductRepresentationSelect* Ifc4x3_rc3::IfcShapeAspect::PartOfProductDefinitionShape() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcProductRepresentationSelect>(); } +::Ifc4x3_rc3::IfcProductRepresentationSelect* Ifc4x3_rc3::IfcShapeAspect::PartOfProductDefinitionShape() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcProductRepresentationSelect>(true); } void Ifc4x3_rc3::IfcShapeAspect::setPartOfProductDefinitionShape(::Ifc4x3_rc3::IfcProductRepresentationSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4x3_rc3::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc3::IfcShapeAspect::HasExternalReferences() const { return data_->getInverse(IFC4X3_RC3_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -21030,11 +21222,11 @@ boost::optional< std::string > Ifc4x3_rc3::IfcSimplePropertyTemplate::PrimaryMea void Ifc4x3_rc3::IfcSimplePropertyTemplate::setPrimaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4x3_rc3::IfcSimplePropertyTemplate::setSecondaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } -::Ifc4x3_rc3::IfcPropertyEnumeration* Ifc4x3_rc3::IfcSimplePropertyTemplate::Enumerators() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc3::IfcPropertyEnumeration>(); } +::Ifc4x3_rc3::IfcPropertyEnumeration* Ifc4x3_rc3::IfcSimplePropertyTemplate::Enumerators() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc3::IfcPropertyEnumeration>(true); } void Ifc4x3_rc3::IfcSimplePropertyTemplate::setEnumerators(::Ifc4x3_rc3::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcSimplePropertyTemplate::PrimaryUnit() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcUnit>(); } +::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcSimplePropertyTemplate::PrimaryUnit() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcUnit>(true); } void Ifc4x3_rc3::IfcSimplePropertyTemplate::setPrimaryUnit(::Ifc4x3_rc3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcSimplePropertyTemplate::SecondaryUnit() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc3::IfcUnit>(); } +::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcSimplePropertyTemplate::SecondaryUnit() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc3::IfcUnit>(true); } void Ifc4x3_rc3::IfcSimplePropertyTemplate::setSecondaryUnit(::Ifc4x3_rc3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcSimplePropertyTemplate::Expression() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4x3_rc3::IfcSimplePropertyTemplate::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } @@ -21068,7 +21260,7 @@ boost::optional< double > Ifc4x3_rc3::IfcSite::RefElevation() const { if(!data_- void Ifc4x3_rc3::IfcSite::setRefElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcSite::LandTitleNumber() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } void Ifc4x3_rc3::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } -::Ifc4x3_rc3::IfcPostalAddress* Ifc4x3_rc3::IfcSite::SiteAddress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x3_rc3::IfcPostalAddress>(); } +::Ifc4x3_rc3::IfcPostalAddress* Ifc4x3_rc3::IfcSite::SiteAddress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x3_rc3::IfcPostalAddress>(true); } void Ifc4x3_rc3::IfcSite::setSiteAddress(::Ifc4x3_rc3::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } @@ -21293,7 +21485,7 @@ Ifc4x3_rc3::IfcSphericalSurface::IfcSphericalSurface(IfcEntityInstanceData* e) : Ifc4x3_rc3::IfcSphericalSurface::IfcSphericalSurface(::Ifc4x3_rc3::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSphericalSurface_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Radius));data_->setArgument(1,attr);} } // Function implementations for IfcSpiral -::Ifc4x3_rc3::IfcAxis2Placement* Ifc4x3_rc3::IfcSpiral::Position() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcAxis2Placement>(); } +::Ifc4x3_rc3::IfcAxis2Placement* Ifc4x3_rc3::IfcSpiral::Position() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcAxis2Placement>(true); } void Ifc4x3_rc3::IfcSpiral::setPosition(::Ifc4x3_rc3::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -21381,7 +21573,7 @@ Ifc4x3_rc3::IfcStructuralAction::IfcStructuralAction(IfcEntityInstanceData* e) : Ifc4x3_rc3::IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralActivity((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcStructuralAction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc4x3_rc3::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);} if (v10_DestabilizingLoad) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_DestabilizingLoad));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcStructuralActivity -::Ifc4x3_rc3::IfcStructuralLoad* Ifc4x3_rc3::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc3::IfcStructuralLoad>(); } +::Ifc4x3_rc3::IfcStructuralLoad* Ifc4x3_rc3::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc3::IfcStructuralLoad>(true); } void Ifc4x3_rc3::IfcStructuralActivity::setAppliedLoad(::Ifc4x3_rc3::IfcStructuralLoad* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value Ifc4x3_rc3::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::FromString(*data_->getArgument(8)); } void Ifc4x3_rc3::IfcStructuralActivity::setGlobalOrLocal(::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcGlobalOrLocalEnum::ToString(v)));data_->setArgument(8,attr);} } @@ -21396,13 +21588,13 @@ Ifc4x3_rc3::IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId // Function implementations for IfcStructuralAnalysisModel ::Ifc4x3_rc3::IfcAnalysisModelTypeEnum::Value Ifc4x3_rc3::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x3_rc3::IfcAnalysisModelTypeEnum::FromString(*data_->getArgument(5)); } void Ifc4x3_rc3::IfcStructuralAnalysisModel::setPredefinedType(::Ifc4x3_rc3::IfcAnalysisModelTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcAnalysisModelTypeEnum::ToString(v)));data_->setArgument(5,attr);} } -::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(); } +::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(true); } void Ifc4x3_rc3::IfcStructuralAnalysisModel::setOrientationOf2DPlane(::Ifc4x3_rc3::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcStructuralLoadGroup >::ptr > Ifc4x3_rc3::IfcStructuralAnalysisModel::LoadedBy() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc3::IfcStructuralLoadGroup >(); } void Ifc4x3_rc3::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcStructuralLoadGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcStructuralResultGroup >::ptr > Ifc4x3_rc3::IfcStructuralAnalysisModel::HasResults() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x3_rc3::IfcStructuralResultGroup >(); } void Ifc4x3_rc3::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcStructuralResultGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } -::Ifc4x3_rc3::IfcObjectPlacement* Ifc4x3_rc3::IfcStructuralAnalysisModel::SharedPlacement() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc3::IfcObjectPlacement>(); } +::Ifc4x3_rc3::IfcObjectPlacement* Ifc4x3_rc3::IfcStructuralAnalysisModel::SharedPlacement() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc3::IfcObjectPlacement>(true); } void Ifc4x3_rc3::IfcStructuralAnalysisModel::setSharedPlacement(::Ifc4x3_rc3::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -21412,7 +21604,7 @@ Ifc4x3_rc3::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(IfcEntityInst Ifc4x3_rc3::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc3::IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcStructuralResultGroup >::ptr > v9_HasResults, ::Ifc4x3_rc3::IfcObjectPlacement* v10_SharedPlacement) : IfcSystem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcStructuralAnalysisModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_PredefinedType,::Ifc4x3_rc3::IfcAnalysisModelTypeEnum::ToString(v6_PredefinedType))));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_OrientationOf2DPlane));data_->setArgument(6,attr);} if (v8_LoadedBy) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LoadedBy)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_HasResults) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_HasResults)->generalize());data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_SharedPlacement));data_->setArgument(9,attr);} } // Function implementations for IfcStructuralConnection -::Ifc4x3_rc3::IfcBoundaryCondition* Ifc4x3_rc3::IfcStructuralConnection::AppliedCondition() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc3::IfcBoundaryCondition>(); } +::Ifc4x3_rc3::IfcBoundaryCondition* Ifc4x3_rc3::IfcStructuralConnection::AppliedCondition() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc3::IfcBoundaryCondition>(true); } void Ifc4x3_rc3::IfcStructuralConnection::setAppliedCondition(::Ifc4x3_rc3::IfcBoundaryCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x3_rc3::IfcRelConnectsStructuralMember::list::ptr Ifc4x3_rc3::IfcStructuralConnection::ConnectsStructuralMembers() const { return data_->getInverse(IFC4X3_RC3_IfcRelConnectsStructuralMember_type, 5)->as(); } @@ -21445,7 +21637,7 @@ Ifc4x3_rc3::IfcStructuralCurveAction::IfcStructuralCurveAction(IfcEntityInstance Ifc4x3_rc3::IfcStructuralCurveAction::IfcStructuralCurveAction(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcStructuralCurveAction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc4x3_rc3::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);} if (v10_DestabilizingLoad) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_DestabilizingLoad));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_ProjectedOrTrue) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_ProjectedOrTrue,::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::ToString(*v11_ProjectedOrTrue))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcStructuralCurveConnection -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcStructuralCurveConnection::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcDirection>(); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcStructuralCurveConnection::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcStructuralCurveConnection::setAxis(::Ifc4x3_rc3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -21457,7 +21649,7 @@ Ifc4x3_rc3::IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::stri // Function implementations for IfcStructuralCurveMember ::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_rc3::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc3::IfcStructuralCurveMember::setPredefinedType(::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::ToString(v)));data_->setArgument(7,attr);} } -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcDirection>(); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcStructuralCurveMember::setAxis(::Ifc4x3_rc3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -21703,7 +21895,7 @@ Ifc4x3_rc3::IfcStructuralPointAction::IfcStructuralPointAction(IfcEntityInstance Ifc4x3_rc3::IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralAction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcStructuralPointAction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc4x3_rc3::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);} if (v10_DestabilizingLoad) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_DestabilizingLoad));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcStructuralPointConnection -::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(); } +::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(true); } void Ifc4x3_rc3::IfcStructuralPointConnection::setConditionCoordinateSystem(::Ifc4x3_rc3::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -21731,7 +21923,7 @@ Ifc4x3_rc3::IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId // Function implementations for IfcStructuralResultGroup ::Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_rc3::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::FromString(*data_->getArgument(5)); } void Ifc4x3_rc3::IfcStructuralResultGroup::setTheoryType(::Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::ToString(v)));data_->setArgument(5,attr);} } -::Ifc4x3_rc3::IfcStructuralLoadGroup* Ifc4x3_rc3::IfcStructuralResultGroup::ResultForLoadGroup() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcStructuralLoadGroup>(); } +::Ifc4x3_rc3::IfcStructuralLoadGroup* Ifc4x3_rc3::IfcStructuralResultGroup::ResultForLoadGroup() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcStructuralLoadGroup>(true); } void Ifc4x3_rc3::IfcStructuralResultGroup::setResultForLoadGroup(::Ifc4x3_rc3::IfcStructuralLoadGroup* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } bool Ifc4x3_rc3::IfcStructuralResultGroup::IsLinear() const { bool v = *data_->getArgument(7); return v; } void Ifc4x3_rc3::IfcStructuralResultGroup::setIsLinear(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -21802,7 +21994,7 @@ Ifc4x3_rc3::IfcStyleModel::IfcStyleModel(IfcEntityInstanceData* e) : IfcRepresen Ifc4x3_rc3::IfcStyleModel::IfcStyleModel(::Ifc4x3_rc3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc3::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcStyleModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcStyledItem -::Ifc4x3_rc3::IfcRepresentationItem* Ifc4x3_rc3::IfcStyledItem::Item() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcRepresentationItem>(); } +::Ifc4x3_rc3::IfcRepresentationItem* Ifc4x3_rc3::IfcStyledItem::Item() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcRepresentationItem>(true); } void Ifc4x3_rc3::IfcStyledItem::setItem(::Ifc4x3_rc3::IfcRepresentationItem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x3_rc3::IfcPresentationStyle >::ptr Ifc4x3_rc3::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc3::IfcPresentationStyle >(); } void Ifc4x3_rc3::IfcStyledItem::setStyles(aggregate_of< ::Ifc4x3_rc3::IfcPresentationStyle >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -21844,7 +22036,7 @@ Ifc4x3_rc3::IfcSubContractResourceType::IfcSubContractResourceType(IfcEntityInst Ifc4x3_rc3::IfcSubContractResourceType::IfcSubContractResourceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSubContractResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcSubedge -::Ifc4x3_rc3::IfcEdge* Ifc4x3_rc3::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcEdge>(); } +::Ifc4x3_rc3::IfcEdge* Ifc4x3_rc3::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcEdge>(true); } void Ifc4x3_rc3::IfcSubedge::setParentEdge(::Ifc4x3_rc3::IfcEdge* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -21862,7 +22054,7 @@ Ifc4x3_rc3::IfcSurface::IfcSurface(IfcEntityInstanceData* e) : IfcGeometricRepre Ifc4x3_rc3::IfcSurface::IfcSurface() : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSurface_type); } // Function implementations for IfcSurfaceCurve -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCurve>(); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcSurfaceCurve::setCurve3D(::Ifc4x3_rc3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x3_rc3::IfcPcurve >::ptr Ifc4x3_rc3::IfcSurfaceCurve::AssociatedGeometry() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc3::IfcPcurve >(); } void Ifc4x3_rc3::IfcSurfaceCurve::setAssociatedGeometry(aggregate_of< ::Ifc4x3_rc3::IfcPcurve >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -21876,7 +22068,7 @@ Ifc4x3_rc3::IfcSurfaceCurve::IfcSurfaceCurve(IfcEntityInstanceData* e) : IfcCurv Ifc4x3_rc3::IfcSurfaceCurve::IfcSurfaceCurve(::Ifc4x3_rc3::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_rc3::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSurfaceCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Curve3D));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_AssociatedGeometry)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_MasterRepresentation,::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::ToString(v3_MasterRepresentation))));data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceCurveSweptAreaSolid -::Ifc4x3_rc3::IfcSurface* Ifc4x3_rc3::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcSurface>(); } +::Ifc4x3_rc3::IfcSurface* Ifc4x3_rc3::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcSurface>(true); } void Ifc4x3_rc3::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(::Ifc4x3_rc3::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -21896,7 +22088,7 @@ Ifc4x3_rc3::IfcSurfaceFeature::IfcSurfaceFeature(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc3::IfcSurfaceFeature::IfcSurfaceFeature(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSurfaceFeature_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcSurfaceOfLinearExtrusion -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcDirection>(); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcSurfaceOfLinearExtrusion::setExtrudedDirection(::Ifc4x3_rc3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc4x3_rc3::IfcSurfaceOfLinearExtrusion::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc3::IfcSurfaceOfLinearExtrusion::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -21908,7 +22100,7 @@ Ifc4x3_rc3::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcEntityIn Ifc4x3_rc3::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(::Ifc4x3_rc3::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_rc3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc3::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSurfaceOfLinearExtrusion_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ExtrudedDirection));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);} } // Function implementations for IfcSurfaceOfRevolution -::Ifc4x3_rc3::IfcAxis1Placement* Ifc4x3_rc3::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcAxis1Placement>(); } +::Ifc4x3_rc3::IfcAxis1Placement* Ifc4x3_rc3::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcAxis1Placement>(true); } void Ifc4x3_rc3::IfcSurfaceOfRevolution::setAxisPosition(::Ifc4x3_rc3::IfcAxis1Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -21944,13 +22136,13 @@ Ifc4x3_rc3::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData* e) : IfcPres Ifc4x3_rc3::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcSurfaceSide::Value v2_Side, aggregate_of_instance::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x3_rc3::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceStyleLighting -::Ifc4x3_rc3::IfcColourRgb* Ifc4x3_rc3::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcColourRgb>(); } +::Ifc4x3_rc3::IfcColourRgb* Ifc4x3_rc3::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcColourRgb>(true); } void Ifc4x3_rc3::IfcSurfaceStyleLighting::setDiffuseTransmissionColour(::Ifc4x3_rc3::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc3::IfcColourRgb* Ifc4x3_rc3::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcColourRgb>(); } +::Ifc4x3_rc3::IfcColourRgb* Ifc4x3_rc3::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcColourRgb>(true); } void Ifc4x3_rc3::IfcSurfaceStyleLighting::setDiffuseReflectionColour(::Ifc4x3_rc3::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc3::IfcColourRgb* Ifc4x3_rc3::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcColourRgb>(); } +::Ifc4x3_rc3::IfcColourRgb* Ifc4x3_rc3::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcColourRgb>(true); } void Ifc4x3_rc3::IfcSurfaceStyleLighting::setTransmissionColour(::Ifc4x3_rc3::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc3::IfcColourRgb* Ifc4x3_rc3::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcColourRgb>(); } +::Ifc4x3_rc3::IfcColourRgb* Ifc4x3_rc3::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcColourRgb>(true); } void Ifc4x3_rc3::IfcSurfaceStyleLighting::setReflectanceColour(::Ifc4x3_rc3::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -21972,17 +22164,17 @@ Ifc4x3_rc3::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(IfcEntityInstan Ifc4x3_rc3::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSurfaceStyleRefraction_type); if (v1_RefractionIndex) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RefractionIndex));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_DispersionFactor) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_DispersionFactor));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcSurfaceStyleRendering -::Ifc4x3_rc3::IfcColourOrFactor* Ifc4x3_rc3::IfcSurfaceStyleRendering::DiffuseColour() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcColourOrFactor>(); } +::Ifc4x3_rc3::IfcColourOrFactor* Ifc4x3_rc3::IfcSurfaceStyleRendering::DiffuseColour() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcColourOrFactor>(true); } void Ifc4x3_rc3::IfcSurfaceStyleRendering::setDiffuseColour(::Ifc4x3_rc3::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc3::IfcColourOrFactor* Ifc4x3_rc3::IfcSurfaceStyleRendering::TransmissionColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcColourOrFactor>(); } +::Ifc4x3_rc3::IfcColourOrFactor* Ifc4x3_rc3::IfcSurfaceStyleRendering::TransmissionColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcColourOrFactor>(true); } void Ifc4x3_rc3::IfcSurfaceStyleRendering::setTransmissionColour(::Ifc4x3_rc3::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc3::IfcColourOrFactor* Ifc4x3_rc3::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcColourOrFactor>(); } +::Ifc4x3_rc3::IfcColourOrFactor* Ifc4x3_rc3::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcColourOrFactor>(true); } void Ifc4x3_rc3::IfcSurfaceStyleRendering::setDiffuseTransmissionColour(::Ifc4x3_rc3::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc3::IfcColourOrFactor* Ifc4x3_rc3::IfcSurfaceStyleRendering::ReflectionColour() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcColourOrFactor>(); } +::Ifc4x3_rc3::IfcColourOrFactor* Ifc4x3_rc3::IfcSurfaceStyleRendering::ReflectionColour() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcColourOrFactor>(true); } void Ifc4x3_rc3::IfcSurfaceStyleRendering::setReflectionColour(::Ifc4x3_rc3::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc3::IfcColourOrFactor* Ifc4x3_rc3::IfcSurfaceStyleRendering::SpecularColour() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcColourOrFactor>(); } +::Ifc4x3_rc3::IfcColourOrFactor* Ifc4x3_rc3::IfcSurfaceStyleRendering::SpecularColour() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcColourOrFactor>(true); } void Ifc4x3_rc3::IfcSurfaceStyleRendering::setSpecularColour(::Ifc4x3_rc3::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4x3_rc3::IfcSpecularHighlightSelect* Ifc4x3_rc3::IfcSurfaceStyleRendering::SpecularHighlight() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc3::IfcSpecularHighlightSelect>(); } +::Ifc4x3_rc3::IfcSpecularHighlightSelect* Ifc4x3_rc3::IfcSurfaceStyleRendering::SpecularHighlight() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc3::IfcSpecularHighlightSelect>(true); } void Ifc4x3_rc3::IfcSurfaceStyleRendering::setSpecularHighlight(::Ifc4x3_rc3::IfcSpecularHighlightSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x3_rc3::IfcReflectanceMethodEnum::Value Ifc4x3_rc3::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4x3_rc3::IfcReflectanceMethodEnum::FromString(*data_->getArgument(8)); } void Ifc4x3_rc3::IfcSurfaceStyleRendering::setReflectanceMethod(::Ifc4x3_rc3::IfcReflectanceMethodEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcReflectanceMethodEnum::ToString(v)));data_->setArgument(8,attr);} } @@ -21994,7 +22186,7 @@ Ifc4x3_rc3::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcEntityInstance Ifc4x3_rc3::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc4x3_rc3::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, ::Ifc4x3_rc3::IfcColourOrFactor* v3_DiffuseColour, ::Ifc4x3_rc3::IfcColourOrFactor* v4_TransmissionColour, ::Ifc4x3_rc3::IfcColourOrFactor* v5_DiffuseTransmissionColour, ::Ifc4x3_rc3::IfcColourOrFactor* v6_ReflectionColour, ::Ifc4x3_rc3::IfcColourOrFactor* v7_SpecularColour, ::Ifc4x3_rc3::IfcSpecularHighlightSelect* v8_SpecularHighlight, ::Ifc4x3_rc3::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) : IfcSurfaceStyleShading((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSurfaceStyleRendering_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SurfaceColour));data_->setArgument(0,attr);} if (v2_Transparency) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Transparency));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DiffuseColour));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TransmissionColour));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_DiffuseTransmissionColour));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ReflectionColour));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_SpecularColour));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_SpecularHighlight));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_ReflectanceMethod,::Ifc4x3_rc3::IfcReflectanceMethodEnum::ToString(v9_ReflectanceMethod))));data_->setArgument(8,attr);} } // Function implementations for IfcSurfaceStyleShading -::Ifc4x3_rc3::IfcColourRgb* Ifc4x3_rc3::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcColourRgb>(); } +::Ifc4x3_rc3::IfcColourRgb* Ifc4x3_rc3::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcColourRgb>(true); } void Ifc4x3_rc3::IfcSurfaceStyleShading::setSurfaceColour(::Ifc4x3_rc3::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4x3_rc3::IfcSurfaceStyleShading::Transparency() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcSurfaceStyleShading::setTransparency(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } @@ -22022,7 +22214,7 @@ bool Ifc4x3_rc3::IfcSurfaceTexture::RepeatT() const { bool v = *data_->getArgum void Ifc4x3_rc3::IfcSurfaceTexture::setRepeatT(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcSurfaceTexture::Mode() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc3::IfcSurfaceTexture::setMode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x3_rc3::IfcCartesianTransformationOperator2D* Ifc4x3_rc3::IfcSurfaceTexture::TextureTransform() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcCartesianTransformationOperator2D>(); } +::Ifc4x3_rc3::IfcCartesianTransformationOperator2D* Ifc4x3_rc3::IfcSurfaceTexture::TextureTransform() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcCartesianTransformationOperator2D>(true); } void Ifc4x3_rc3::IfcSurfaceTexture::setTextureTransform(::Ifc4x3_rc3::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcSurfaceTexture::Parameter() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } void Ifc4x3_rc3::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -22036,9 +22228,9 @@ Ifc4x3_rc3::IfcSurfaceTexture::IfcSurfaceTexture(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc3::IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSurfaceTexture_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_RepeatS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RepeatT));data_->setArgument(1,attr);} if (v3_Mode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Mode));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TextureTransform));data_->setArgument(3,attr);} if (v5_Parameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Parameter));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcSweptAreaSolid -::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcProfileDef>(); } +::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcProfileDef>(true); } void Ifc4x3_rc3::IfcSweptAreaSolid::setSweptArea(::Ifc4x3_rc3::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcSweptAreaSolid::Position() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(); } +::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcSweptAreaSolid::Position() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(true); } void Ifc4x3_rc3::IfcSweptAreaSolid::setPosition(::Ifc4x3_rc3::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -22048,7 +22240,7 @@ Ifc4x3_rc3::IfcSweptAreaSolid::IfcSweptAreaSolid(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc3::IfcSweptAreaSolid::IfcSweptAreaSolid(::Ifc4x3_rc3::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D* v2_Position) : IfcSolidModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSweptAreaSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);} } // Function implementations for IfcSweptDiskSolid -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCurve>(); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcSweptDiskSolid::setDirectrix(::Ifc4x3_rc3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x3_rc3::IfcSweptDiskSolid::Radius() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcSweptDiskSolid::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -22076,9 +22268,9 @@ Ifc4x3_rc3::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(IfcEntityInst Ifc4x3_rc3::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(::Ifc4x3_rc3::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, boost::optional< double > v6_FilletRadius) : IfcSweptDiskSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcSweptDiskSolidPolygonal_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Directrix));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Radius));data_->setArgument(1,attr);} if (v3_InnerRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_InnerRadius));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_StartParam) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_StartParam));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_EndParam) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_EndParam));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_FilletRadius));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } } // Function implementations for IfcSweptSurface -::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcProfileDef>(); } +::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcProfileDef>(true); } void Ifc4x3_rc3::IfcSweptSurface::setSweptCurve(::Ifc4x3_rc3::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcSweptSurface::Position() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(); } +::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcSweptSurface::Position() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(true); } void Ifc4x3_rc3::IfcSweptSurface::setPosition(::Ifc4x3_rc3::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -22184,9 +22376,9 @@ boost::optional< std::string > Ifc4x3_rc3::IfcTableColumn::Name() const { if(!da void Ifc4x3_rc3::IfcTableColumn::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTableColumn::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc3::IfcTableColumn::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcTableColumn::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcUnit>(); } +::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcTableColumn::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcUnit>(true); } void Ifc4x3_rc3::IfcTableColumn::setUnit(::Ifc4x3_rc3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc3::IfcReference* Ifc4x3_rc3::IfcTableColumn::ReferencePath() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcReference>(); } +::Ifc4x3_rc3::IfcReference* Ifc4x3_rc3::IfcTableColumn::ReferencePath() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcReference>(true); } void Ifc4x3_rc3::IfcTableColumn::setReferencePath(::Ifc4x3_rc3::IfcReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -22236,7 +22428,7 @@ bool Ifc4x3_rc3::IfcTask::IsMilestone() const { bool v = *data_->getArgument(9) void Ifc4x3_rc3::IfcTask::setIsMilestone(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< int > Ifc4x3_rc3::IfcTask::Priority() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } int v = *data_->getArgument(10); return v; } void Ifc4x3_rc3::IfcTask::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } -::Ifc4x3_rc3::IfcTaskTime* Ifc4x3_rc3::IfcTask::TaskTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc3::IfcTaskTime>(); } +::Ifc4x3_rc3::IfcTaskTime* Ifc4x3_rc3::IfcTask::TaskTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc3::IfcTaskTime>(true); } void Ifc4x3_rc3::IfcTask::setTaskTime(::Ifc4x3_rc3::IfcTaskTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< ::Ifc4x3_rc3::IfcTaskTypeEnum::Value > Ifc4x3_rc3::IfcTask::PredefinedType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcTaskTypeEnum::FromString(*data_->getArgument(12)); } void Ifc4x3_rc3::IfcTask::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcTaskTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc3::IfcTaskTypeEnum::ToString(*v)));data_->setArgument(12,attr);} } @@ -22290,7 +22482,7 @@ Ifc4x3_rc3::IfcTaskTime::IfcTaskTime(IfcEntityInstanceData* e) : IfcSchedulingTi Ifc4x3_rc3::IfcTaskTime::IfcTaskTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x3_rc3::IfcTaskDurationEnum::Value > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion) : IfcSchedulingTime((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTaskTime_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_DataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v2_DataOrigin,::Ifc4x3_rc3::IfcDataOriginEnum::ToString(*v2_DataOrigin))));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UserDefinedDataOrigin));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DurationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v4_DurationType,::Ifc4x3_rc3::IfcTaskDurationEnum::ToString(*v4_DurationType))));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ScheduleDuration) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ScheduleDuration));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ScheduleStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ScheduleStart));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ScheduleFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ScheduleFinish));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_EarlyStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_EarlyStart));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EarlyFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EarlyFinish));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_LateStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_LateStart));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_LateFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_LateFinish));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_FreeFloat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_FreeFloat));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_TotalFloat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_TotalFloat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_IsCritical) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_IsCritical));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_StatusTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_StatusTime));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_ActualDuration) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_ActualDuration));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_ActualStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_ActualStart));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_ActualFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_ActualFinish));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_RemainingTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_RemainingTime));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_Completion) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_Completion));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcTaskTimeRecurring -::Ifc4x3_rc3::IfcRecurrencePattern* Ifc4x3_rc3::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(20)))->as<::Ifc4x3_rc3::IfcRecurrencePattern>(); } +::Ifc4x3_rc3::IfcRecurrencePattern* Ifc4x3_rc3::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(20)))->as<::Ifc4x3_rc3::IfcRecurrencePattern>(true); } void Ifc4x3_rc3::IfcTaskTimeRecurring::setRecurrence(::Ifc4x3_rc3::IfcRecurrencePattern* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(20,attr);} } @@ -22412,7 +22604,7 @@ Ifc4x3_rc3::IfcTendonType::IfcTendonType(IfcEntityInstanceData* e) : IfcReinforc Ifc4x3_rc3::IfcTendonType::IfcTendonType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTendonTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheathDiameter) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTendonType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc3::IfcTendonTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_SheathDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_SheathDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } } // Function implementations for IfcTessellatedFaceSet -::Ifc4x3_rc3::IfcCartesianPointList3D* Ifc4x3_rc3::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCartesianPointList3D>(); } +::Ifc4x3_rc3::IfcCartesianPointList3D* Ifc4x3_rc3::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCartesianPointList3D>(true); } void Ifc4x3_rc3::IfcTessellatedFaceSet::setCoordinates(::Ifc4x3_rc3::IfcCartesianPointList3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4x3_rc3::IfcIndexedColourMap::list::ptr Ifc4x3_rc3::IfcTessellatedFaceSet::HasColours() const { return data_->getInverse(IFC4X3_RC3_IfcIndexedColourMap_type, 0)->as(); } @@ -22434,7 +22626,7 @@ Ifc4x3_rc3::IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentatio // Function implementations for IfcTextLiteral std::string Ifc4x3_rc3::IfcTextLiteral::Literal() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc3::IfcTextLiteral::setLiteral(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc3::IfcAxis2Placement* Ifc4x3_rc3::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcAxis2Placement>(); } +::Ifc4x3_rc3::IfcAxis2Placement* Ifc4x3_rc3::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcAxis2Placement>(true); } void Ifc4x3_rc3::IfcTextLiteral::setPlacement(::Ifc4x3_rc3::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4x3_rc3::IfcTextPath::Value Ifc4x3_rc3::IfcTextLiteral::Path() const { return ::Ifc4x3_rc3::IfcTextPath::FromString(*data_->getArgument(2)); } void Ifc4x3_rc3::IfcTextLiteral::setPath(::Ifc4x3_rc3::IfcTextPath::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcTextPath::ToString(v)));data_->setArgument(2,attr);} } @@ -22446,7 +22638,7 @@ Ifc4x3_rc3::IfcTextLiteral::IfcTextLiteral(IfcEntityInstanceData* e) : IfcGeomet Ifc4x3_rc3::IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, ::Ifc4x3_rc3::IfcAxis2Placement* v2_Placement, ::Ifc4x3_rc3::IfcTextPath::Value v3_Path) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTextLiteral_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Literal));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Placement));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_Path,::Ifc4x3_rc3::IfcTextPath::ToString(v3_Path))));data_->setArgument(2,attr);} } // Function implementations for IfcTextLiteralWithExtent -::Ifc4x3_rc3::IfcPlanarExtent* Ifc4x3_rc3::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcPlanarExtent>(); } +::Ifc4x3_rc3::IfcPlanarExtent* Ifc4x3_rc3::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcPlanarExtent>(true); } void Ifc4x3_rc3::IfcTextLiteralWithExtent::setExtent(::Ifc4x3_rc3::IfcPlanarExtent* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } std::string Ifc4x3_rc3::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc3::IfcTextLiteralWithExtent::setBoxAlignment(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -22458,11 +22650,11 @@ Ifc4x3_rc3::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcEntityInstance Ifc4x3_rc3::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(std::string v1_Literal, ::Ifc4x3_rc3::IfcAxis2Placement* v2_Placement, ::Ifc4x3_rc3::IfcTextPath::Value v3_Path, ::Ifc4x3_rc3::IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment) : IfcTextLiteral((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTextLiteralWithExtent_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Literal));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Placement));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_Path,::Ifc4x3_rc3::IfcTextPath::ToString(v3_Path))));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Extent));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_BoxAlignment));data_->setArgument(4,attr);} } // Function implementations for IfcTextStyle -::Ifc4x3_rc3::IfcTextStyleForDefinedFont* Ifc4x3_rc3::IfcTextStyle::TextCharacterAppearance() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcTextStyleForDefinedFont>(); } +::Ifc4x3_rc3::IfcTextStyleForDefinedFont* Ifc4x3_rc3::IfcTextStyle::TextCharacterAppearance() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcTextStyleForDefinedFont>(true); } void Ifc4x3_rc3::IfcTextStyle::setTextCharacterAppearance(::Ifc4x3_rc3::IfcTextStyleForDefinedFont* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc3::IfcTextStyleTextModel* Ifc4x3_rc3::IfcTextStyle::TextStyle() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcTextStyleTextModel>(); } +::Ifc4x3_rc3::IfcTextStyleTextModel* Ifc4x3_rc3::IfcTextStyle::TextStyle() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcTextStyleTextModel>(true); } void Ifc4x3_rc3::IfcTextStyle::setTextStyle(::Ifc4x3_rc3::IfcTextStyleTextModel* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc3::IfcTextFontSelect* Ifc4x3_rc3::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcTextFontSelect>(); } +::Ifc4x3_rc3::IfcTextFontSelect* Ifc4x3_rc3::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcTextFontSelect>(true); } void Ifc4x3_rc3::IfcTextStyle::setTextFontStyle(::Ifc4x3_rc3::IfcTextFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< bool > Ifc4x3_rc3::IfcTextStyle::ModelOrDraughting() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } bool v = *data_->getArgument(4); return v; } void Ifc4x3_rc3::IfcTextStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -22482,7 +22674,7 @@ boost::optional< std::string > Ifc4x3_rc3::IfcTextStyleFontModel::FontVariant() void Ifc4x3_rc3::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTextStyleFontModel::FontWeight() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc3::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc4x3_rc3::IfcSizeSelect* Ifc4x3_rc3::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcSizeSelect>(); } +::Ifc4x3_rc3::IfcSizeSelect* Ifc4x3_rc3::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc3::IfcSizeSelect>(true); } void Ifc4x3_rc3::IfcTextStyleFontModel::setFontSize(::Ifc4x3_rc3::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -22492,9 +22684,9 @@ Ifc4x3_rc3::IfcTextStyleFontModel::IfcTextStyleFontModel(IfcEntityInstanceData* Ifc4x3_rc3::IfcTextStyleFontModel::IfcTextStyleFontModel(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, boost::optional< std::string > v3_FontStyle, boost::optional< std::string > v4_FontVariant, boost::optional< std::string > v5_FontWeight, ::Ifc4x3_rc3::IfcSizeSelect* v6_FontSize) : IfcPreDefinedTextFont((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTextStyleFontModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FontFamily));data_->setArgument(1,attr);} if (v3_FontStyle) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_FontStyle));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_FontVariant) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_FontVariant));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_FontWeight) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_FontWeight));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_FontSize));data_->setArgument(5,attr);} } // Function implementations for IfcTextStyleForDefinedFont -::Ifc4x3_rc3::IfcColour* Ifc4x3_rc3::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcColour>(); } +::Ifc4x3_rc3::IfcColour* Ifc4x3_rc3::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcColour>(true); } void Ifc4x3_rc3::IfcTextStyleForDefinedFont::setColour(::Ifc4x3_rc3::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc3::IfcColour* Ifc4x3_rc3::IfcTextStyleForDefinedFont::BackgroundColour() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcColour>(); } +::Ifc4x3_rc3::IfcColour* Ifc4x3_rc3::IfcTextStyleForDefinedFont::BackgroundColour() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc3::IfcColour>(true); } void Ifc4x3_rc3::IfcTextStyleForDefinedFont::setBackgroundColour(::Ifc4x3_rc3::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -22504,19 +22696,19 @@ Ifc4x3_rc3::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcEntityInst Ifc4x3_rc3::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4x3_rc3::IfcColour* v1_Colour, ::Ifc4x3_rc3::IfcColour* v2_BackgroundColour) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTextStyleForDefinedFont_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Colour));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_BackgroundColour));data_->setArgument(1,attr);} } // Function implementations for IfcTextStyleTextModel -::Ifc4x3_rc3::IfcSizeSelect* Ifc4x3_rc3::IfcTextStyleTextModel::TextIndent() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcSizeSelect>(); } +::Ifc4x3_rc3::IfcSizeSelect* Ifc4x3_rc3::IfcTextStyleTextModel::TextIndent() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcSizeSelect>(true); } void Ifc4x3_rc3::IfcTextStyleTextModel::setTextIndent(::Ifc4x3_rc3::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTextStyleTextModel::TextAlign() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTextStyleTextModel::TextDecoration() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc3::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x3_rc3::IfcSizeSelect* Ifc4x3_rc3::IfcTextStyleTextModel::LetterSpacing() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcSizeSelect>(); } +::Ifc4x3_rc3::IfcSizeSelect* Ifc4x3_rc3::IfcTextStyleTextModel::LetterSpacing() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcSizeSelect>(true); } void Ifc4x3_rc3::IfcTextStyleTextModel::setLetterSpacing(::Ifc4x3_rc3::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc3::IfcSizeSelect* Ifc4x3_rc3::IfcTextStyleTextModel::WordSpacing() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcSizeSelect>(); } +::Ifc4x3_rc3::IfcSizeSelect* Ifc4x3_rc3::IfcTextStyleTextModel::WordSpacing() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc3::IfcSizeSelect>(true); } void Ifc4x3_rc3::IfcTextStyleTextModel::setWordSpacing(::Ifc4x3_rc3::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTextStyleTextModel::TextTransform() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x3_rc3::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4x3_rc3::IfcSizeSelect* Ifc4x3_rc3::IfcTextStyleTextModel::LineHeight() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcSizeSelect>(); } +::Ifc4x3_rc3::IfcSizeSelect* Ifc4x3_rc3::IfcTextStyleTextModel::LineHeight() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc3::IfcSizeSelect>(true); } void Ifc4x3_rc3::IfcTextStyleTextModel::setLineHeight(::Ifc4x3_rc3::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -22550,7 +22742,7 @@ Ifc4x3_rc3::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(aggrega // Function implementations for IfcTextureMap aggregate_of< ::Ifc4x3_rc3::IfcTextureVertex >::ptr Ifc4x3_rc3::IfcTextureMap::Vertices() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc3::IfcTextureVertex >(); } void Ifc4x3_rc3::IfcTextureMap::setVertices(aggregate_of< ::Ifc4x3_rc3::IfcTextureVertex >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } -::Ifc4x3_rc3::IfcFace* Ifc4x3_rc3::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcFace>(); } +::Ifc4x3_rc3::IfcFace* Ifc4x3_rc3::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc3::IfcFace>(true); } void Ifc4x3_rc3::IfcTextureMap::setMappedTo(::Ifc4x3_rc3::IfcFace* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -22622,7 +22814,7 @@ void Ifc4x3_rc3::IfcTimeSeries::setTimeSeriesDataType(::Ifc4x3_rc3::IfcTimeSerie void Ifc4x3_rc3::IfcTimeSeries::setDataOrigin(::Ifc4x3_rc3::IfcDataOriginEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc3::IfcDataOriginEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcTimeSeries::UserDefinedDataOrigin() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4x3_rc3::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } -::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcTimeSeries::Unit() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc3::IfcUnit>(); } +::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcTimeSeries::Unit() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc3::IfcUnit>(true); } void Ifc4x3_rc3::IfcTimeSeries::setUnit(::Ifc4x3_rc3::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x3_rc3::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc3::IfcTimeSeries::HasExternalReference() const { return data_->getInverse(IFC4X3_RC3_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -22711,7 +22903,7 @@ Ifc4x3_rc3::IfcTransformerType::IfcTransformerType(IfcEntityInstanceData* e) : I Ifc4x3_rc3::IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTransformerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTransformerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc3::IfcTransformerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcTransportElement -::Ifc4x3_rc3::IfcTransportElementTypeSelect* Ifc4x3_rc3::IfcTransportElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcTransportElementTypeSelect>(); } +::Ifc4x3_rc3::IfcTransportElementTypeSelect* Ifc4x3_rc3::IfcTransportElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcTransportElementTypeSelect>(true); } void Ifc4x3_rc3::IfcTransportElement::setPredefinedType(::Ifc4x3_rc3::IfcTransportElementTypeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -22721,7 +22913,7 @@ Ifc4x3_rc3::IfcTransportElement::IfcTransportElement(IfcEntityInstanceData* e) : Ifc4x3_rc3::IfcTransportElement::IfcTransportElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc3::IfcTransportElementTypeSelect* v9_PredefinedType) : IfcElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTransportElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_PredefinedType));data_->setArgument(8,attr);} } // Function implementations for IfcTransportElementType -::Ifc4x3_rc3::IfcTransportElementTypeSelect* Ifc4x3_rc3::IfcTransportElementType::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc3::IfcTransportElementTypeSelect>(); } +::Ifc4x3_rc3::IfcTransportElementTypeSelect* Ifc4x3_rc3::IfcTransportElementType::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc3::IfcTransportElementTypeSelect>(true); } void Ifc4x3_rc3::IfcTransportElementType::setPredefinedType(::Ifc4x3_rc3::IfcTransportElementTypeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -22773,7 +22965,7 @@ Ifc4x3_rc3::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(Ifc Ifc4x3_rc3::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::Ifc4x3_rc3::IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) : IfcTriangulatedFaceSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcTriangulatedIrregularNetwork_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Coordinates));data_->setArgument(0,attr);} if (v2_Normals) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Normals));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Closed) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Closed));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_CoordIndex));data_->setArgument(3,attr);} if (v5_PnIndex) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_PnIndex));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Flags));data_->setArgument(5,attr);} } // Function implementations for IfcTrimmedCurve -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCurve>(); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcTrimmedCurve::setBasisCurve(::Ifc4x3_rc3::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of_instance::ptr Ifc4x3_rc3::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcTrimmedCurve::setTrim1(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -22959,7 +23151,7 @@ Ifc4x3_rc3::IfcValveType::IfcValveType(IfcEntityInstanceData* e) : IfcFlowContro Ifc4x3_rc3::IfcValveType::IfcValveType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcValveTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcValveType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc3::IfcValveTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcVector -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcDirection>(); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcVector::setOrientation(::Ifc4x3_rc3::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x3_rc3::IfcVector::Magnitude() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc3::IfcVector::setMagnitude(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -22979,7 +23171,7 @@ Ifc4x3_rc3::IfcVertex::IfcVertex(IfcEntityInstanceData* e) : IfcTopologicalRepre Ifc4x3_rc3::IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcVertex_type); } // Function implementations for IfcVertexLoop -::Ifc4x3_rc3::IfcVertex* Ifc4x3_rc3::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcVertex>(); } +::Ifc4x3_rc3::IfcVertex* Ifc4x3_rc3::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcVertex>(true); } void Ifc4x3_rc3::IfcVertexLoop::setLoopVertex(::Ifc4x3_rc3::IfcVertex* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -22989,7 +23181,7 @@ Ifc4x3_rc3::IfcVertexLoop::IfcVertexLoop(IfcEntityInstanceData* e) : IfcLoop((If Ifc4x3_rc3::IfcVertexLoop::IfcVertexLoop(::Ifc4x3_rc3::IfcVertex* v1_LoopVertex) : IfcLoop((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcVertexLoop_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_LoopVertex));data_->setArgument(0,attr);} } // Function implementations for IfcVertexPoint -::Ifc4x3_rc3::IfcPoint* Ifc4x3_rc3::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcPoint>(); } +::Ifc4x3_rc3::IfcPoint* Ifc4x3_rc3::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc3::IfcPoint>(true); } void Ifc4x3_rc3::IfcVertexPoint::setVertexGeometry(::Ifc4x3_rc3::IfcPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -23191,7 +23383,7 @@ boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::FirstMullionOff void Ifc4x3_rc3::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::SecondMullionOffset() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } void Ifc4x3_rc3::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } -::Ifc4x3_rc3::IfcShapeAspect* Ifc4x3_rc3::IfcWindowLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc4x3_rc3::IfcShapeAspect>(); } +::Ifc4x3_rc3::IfcShapeAspect* Ifc4x3_rc3::IfcWindowLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc4x3_rc3::IfcShapeAspect>(true); } void Ifc4x3_rc3::IfcWindowLiningProperties::setShapeAspectStyle(::Ifc4x3_rc3::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::LiningOffset() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } void Ifc4x3_rc3::IfcWindowLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } @@ -23215,7 +23407,7 @@ boost::optional< double > Ifc4x3_rc3::IfcWindowPanelProperties::FrameDepth() con void Ifc4x3_rc3::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc3::IfcWindowPanelProperties::FrameThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4x3_rc3::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } -::Ifc4x3_rc3::IfcShapeAspect* Ifc4x3_rc3::IfcWindowPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcShapeAspect>(); } +::Ifc4x3_rc3::IfcShapeAspect* Ifc4x3_rc3::IfcWindowPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc3::IfcShapeAspect>(true); } void Ifc4x3_rc3::IfcWindowPanelProperties::setShapeAspectStyle(::Ifc4x3_rc3::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -23321,7 +23513,7 @@ Ifc4x3_rc3::IfcWorkSchedule::IfcWorkSchedule(IfcEntityInstanceData* e) : IfcWork Ifc4x3_rc3::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< ::Ifc4x3_rc3::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) : IfcWorkControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC3_IfcWorkSchedule_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_CreationDate));data_->setArgument(6,attr);} if (v8_Creators) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Creators)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_Purpose));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_Duration) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Duration));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_TotalFloat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_TotalFloat));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_StartTime));data_->setArgument(11,attr);} if (v13_FinishTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_FinishTime));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_PredefinedType,::Ifc4x3_rc3::IfcWorkScheduleTypeEnum::ToString(*v14_PredefinedType))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } } // Function implementations for IfcWorkTime -::Ifc4x3_rc3::IfcRecurrencePattern* Ifc4x3_rc3::IfcWorkTime::RecurrencePattern() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcRecurrencePattern>(); } +::Ifc4x3_rc3::IfcRecurrencePattern* Ifc4x3_rc3::IfcWorkTime::RecurrencePattern() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc3::IfcRecurrencePattern>(true); } void Ifc4x3_rc3::IfcWorkTime::setRecurrencePattern(::Ifc4x3_rc3::IfcRecurrencePattern* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc3::IfcWorkTime::Start() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc3::IfcWorkTime::setStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } diff --git a/src/ifcparse/Ifc4x3_rc3.h b/src/ifcparse/Ifc4x3_rc3.h index 611567ce7c..611b77393a 100644 --- a/src/ifcparse/Ifc4x3_rc3.h +++ b/src/ifcparse/Ifc4x3_rc3.h @@ -60,7 +60,10 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c /// IfcOrganization An organization. /// IfcPerson A person. /// IfcPersonAndOrganization A person related to an organization. -class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. /// /// Select from: @@ -75,17 +78,26 @@ class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface {} /// Selecting IfcMeasureWithUnit allows the specification of both the actual figure for the value together with the currency in which the value is represented. /// Selecting IfcMonetaryMeasure allows the specification only of the value, the currency being as set by the global context /// Selecting IfcRatioMeasure assumes that the amount is a percentage or other REAL number. Note that if the amount is normally specified as -20%, then this figure will need to be converted to a multiplier of 0.8 -class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. /// /// NOTE: Corresponding STEP type: axis2_placement, please refer to ISO/IS 10303-42:1994, p. 19 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 1.5 -class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// /// HISTORY New type in IFC Release 2x4 -class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This select type identifies /// all those types of entities which may participate in a Boolean operation to /// form a CSG solid. @@ -102,7 +114,10 @@ class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseI /// (IfcSolidModel) are defined for being valid Boolean operands. /// /// HISTORY: New Type in IFC Release 1.5.1 -class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. /// /// HISTORY: New Select Type in IFC2x @@ -111,7 +126,10 @@ class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface /// /// IfcClassification (for classification information) /// IfcClassificationReference (for reference into a classification source) -class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. /// /// NOTE  Generally, it is expected that selection will be by IfcClassificationReference to identify an individual classification notation that classifies an element in the building information model. For example an element, such as IfcTank, might be further classified by assigning an IfcClassificationReference with Identification = "L6814" and a ClassificationSource identifying the appropriate version of Uniclass. IfcClassification should only be selected in @@ -125,38 +143,62 @@ class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::I /// /// IfcClassification (for referencing a classification system) /// IfcClassificationReference (for referencing a classification item (or facet) inside a classification system) -class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. /// /// NOTE  Corresponding STEP name: colour. It has been made into a SELECT type in IFC to avoid multiple inheritance for pre defined colour. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// /// HISTORY  New select type in IFC2x4. -class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. /// Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive. /// /// NOTE Corresponding ISO 10303-42 type: csg_select, please refer to ISO/IS 10303-42:1994, p.168 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5.1. -class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. /// /// NOTE Corresponding ISO 10303 name: curve_font_or_scaled_curve_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcCurveMeasureSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCurveMeasureSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve /// and subtypes) within a geometric model, or a curve with associated geometry and coordinates (IfcEdgeCurve) within a topological model. /// SELECT @@ -165,13 +207,19 @@ class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface /// IfcEdgeCurve /// /// HISTORY  New select type in IFC2x Edition 3. -class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. /// /// NOTE Corresponding ISO 10303 name: curve_style_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT /// @@ -179,7 +227,10 @@ class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInt /// IfcPropertyDefinition /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// /// SELECT @@ -254,7 +305,10 @@ class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterfa /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. -class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. /// /// HISTORY: New Select Type in IFC 2x @@ -263,22 +317,34 @@ class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInte /// /// IfcDocumentInformation (for "metadata" of an external document) /// IfcDocumentReference (for reference within a document) -class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcFacilityPartTypeSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcFacilityPartTypeSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. /// /// NOTE Corresponding ISO 10303 name: fill_style_select. Please refer to ISO/IS 10303-46:1994 for /// the final definition of the formal standard. /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. /// /// NOTE: Corresponding ISO 10303 type: geometric_set_select. Please refer to ISO/IS 10303-42:1994, p. 169 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 2x. -class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. /// /// SELECT @@ -287,15 +353,27 @@ class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInter /// IfcVirtualGridIntersection /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcImpactProtectionDeviceTypeSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcImpactProtectionDeviceTypeSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcInterferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcInterferenceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. /// /// It is the collection of all those items, that are assigned to a single layer. These items are representation items or complete representations (IfcRepresentationItem, IfcRepresentation). If an IfcRepresentation is referenced, all IfcRepresentationItem within its set of Items are assigned to the same layer. @@ -303,7 +381,10 @@ class IFC_PARSE_API IfcInterferenceSelect : public virtual IfcUtil::IfcBaseInter /// NOTE: Corresponding ISO 10303 name: layered_item. It was called layered_things in the ISO/CD version and had been renamed to layered_item in the ISO/IS final version. Please refer to ISO/IS 10303-46:1994, p. 13 for the final definition of the formal standard. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. /// /// HISTORY: New Select Type in IFC2x @@ -314,7 +395,10 @@ class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface {} /// IfcLibraryReference (for reference into a library of information by location) /// /// Generally, it is expected that selection will be IfcLibraryReference and only rarely IfcLibraryInformation. IfcLibraryInformation should only be selected in circumstances where there could be a need to indicate the libraries that will be used without making individual references. This may occur for higher level objects such as a project or building. -class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. /// /// The light distribution provides the luminous intensity distribution according to some standardized light distribution curves. @@ -337,7 +421,10 @@ class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface /// directions covers all cases. /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcMaterialSelect provides selection of either a material /// definition or a material usage definition that can be assigned to /// an element, a resource or another entity within IFC. @@ -364,7 +451,10 @@ class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUti /// /// IFC2x4 CHANGE The select now includes two new abstract entities IfcMaterialDefinition /// and IfcMaterialUsageDefinition with upward compatibility. The use of IfcMaterialList is deprecated from IFC2x4 onwards. -class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). /// /// NOTE IfcMeasureValue is a select data type for most basic measure types coming from ISO 10303-41. Select item IfcNonNegativeLengthMeasure is in addition to ISO 10303-41. @@ -374,7 +464,10 @@ class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface /// HISTORY New type in IFC Release 1.5.1. /// /// IFC 2x4 change: added IfcNonNegativeLengthMeasure -class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. /// /// HISTORY: New type in IFC Release 2.0 @@ -387,23 +480,38 @@ class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { /// IfcTable /// IfcText /// IfcTimeSeries -class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// /// HISTORY  New select type in IFC Release 2.0. -class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. /// SELECT /// @@ -411,7 +519,10 @@ class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseIn /// IfcVertexPoint /// /// HISTORY  New select type in IFC2x Edition 3. -class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcProcessSelectprovides the option to either /// select a process or activity occurrence, IfcProcess, /// or a process or activity type, IfcTypeProcess. @@ -422,9 +533,15 @@ class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInter /// IfcTypeProcess /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcProductSelectprovides the option to either select a /// product occurrence, IfcProduct, or a product type, /// IfcTypeProduct. @@ -434,13 +551,22 @@ class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::Ifc /// IfcTypeProduct /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// /// HISTORY  New Select type in IFC2x4. -class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, /// IfcTypeResource. @@ -450,13 +576,22 @@ class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInt /// IfcTypeResource /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < ¥. /// /// A shell of dimensionality 0 is represented by a graph consisting of a single vertex. The vertex shall not have any associated edges. @@ -468,7 +603,10 @@ class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInter /// NOTE  Corresponding ISO 10303 type: shell. Please refer to ISO/IS 10303-42:1994, p. 127 for the final definition of the formal standard. Only the select items closed_shell (IfcClosedShell) and open_shell (IfcOpenShell) have been incorporated in the current IFC release. /// /// HISTORY  New type in IFC2x. -class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcSimpleValue is a select type for selecting between simple value types. /// /// SELECT @@ -488,7 +626,10 @@ class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface {}; /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. -class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. /// /// Definition from ISO: The size (or width) measure value is given in the global drawing length units. @@ -501,7 +642,10 @@ class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface {} /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. -class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. /// SELECT /// @@ -509,7 +653,10 @@ class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcClosedShell /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: The /// IfcSpaceBoundarySelectselects either an internal space /// for internal or external space boundaries, or an external spatial @@ -522,9 +669,15 @@ class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface { /// /// HISTORY New select type /// in IFC2x4. -class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcSpatialReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSpatialReferenceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. /// /// NOTE: The two select types relate to the different ways to specifiy the sharpness (or shininess) of the specular part of the reflectance equation. It relates to the attributes: @@ -535,7 +688,10 @@ class IFC_PARSE_API IfcSpatialReferenceSelect : public virtual IfcUtil::IfcBaseI /// For each surface side style only one of the two methods is needed for calculating the specular part of the equation. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of /// IfcStructuralItem or IfcBuildingElement. The @@ -545,7 +701,10 @@ class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBase /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface /// and subtypes) within a geometric model, or a face with associated surface geometry and coordinates (IfcFaceSurface) within a topological model. /// SELECT @@ -555,7 +714,10 @@ class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUt /// IfcFaceBasedSurfaceModel (a connected face set, representing a faceted surface as an approximation of a non planar, non rectangular bounded surface) /// /// HISTORY  New select type in IFC2x3. -class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. /// /// The select type only includes the IfcSurfaceStyleRendering (which is the equivalent to surface_style_rendering) from the select type surface_style_element_select. In addition it has the IfcSurfaceStyleLighting, which holds the exact physically based lighting properties for lighting based calculation algorithms (as the opposite to the rendering based calculation), the IfcSurfaceStyleRefraction (for more advanced refraction indices) and IfcSurfaceStyleWithTextures (to allow for image textures applied to surfaces). In addition an IfcExternallyDefinedSurfaceStyle can be selected that points into an external material library. @@ -565,7 +727,10 @@ class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInt /// NOTE: Corresponding ISO 10303 type: surface_style_element_select. Please refer to ISO/IS 10303-46:1994, p. 85 for the final definition of the formal standard. /// /// HISTORY: New Select type in IFC2x2. -class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. /// /// NOTE  IfcTextFontSelect is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation. Corresponding ISO 10303 name: font_select. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard. @@ -573,22 +738,37 @@ class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBa /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. -class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 -class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcTransportElementTypeSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTransportElementTypeSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. /// /// NOTE Corresponding ISO 10303 type: trimming_select, please refer to ISO/IS 10303-42:1994, p. 20 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.0 -class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. /// /// NOTE: Select item IfcMonetaryUnit is an addition to ISO 10303-41. @@ -602,7 +782,10 @@ class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface /// IfcMonetaryUnit: A unit for defining currencies. /// /// HISTORY: New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. /// @@ -613,7 +796,10 @@ class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface {}; /// IfcDerivedMeasureValue A select type for derived measure types. /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. /// @@ -622,11 +808,17 @@ class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface {}; /// definition of the formal standard. /// HISTORY New Type in IFC Release /// 1.5 -class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; class IFC_PARSE_API IfcActionRequestTypeEnum : public IfcUtil::IfcBaseType { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. /// HISTORY: New Enumeration in IFC2x4. diff --git a/src/ifcparse/Ifc4x3_rc4.cpp b/src/ifcparse/Ifc4x3_rc4.cpp index 2bff9da58b..f946e3f4c4 100644 --- a/src/ifcparse/Ifc4x3_rc4.cpp +++ b/src/ifcparse/Ifc4x3_rc4.cpp @@ -1289,6 +1289,70 @@ extern enumeration_type* IFC4X3_RC4_IfcWindowTypePartitioningEnum_type; extern enumeration_type* IFC4X3_RC4_IfcWorkCalendarTypeEnum_type; extern enumeration_type* IFC4X3_RC4_IfcWorkPlanTypeEnum_type; extern enumeration_type* IFC4X3_RC4_IfcWorkScheduleTypeEnum_type; +extern select_type* IFC4X3_RC4_IfcActorSelect_type; +extern select_type* IFC4X3_RC4_IfcAppliedValueSelect_type; +extern select_type* IFC4X3_RC4_IfcAxis2Placement_type; +extern select_type* IFC4X3_RC4_IfcBendingParameterSelect_type; +extern select_type* IFC4X3_RC4_IfcBooleanOperand_type; +extern select_type* IFC4X3_RC4_IfcClassificationReferenceSelect_type; +extern select_type* IFC4X3_RC4_IfcClassificationSelect_type; +extern select_type* IFC4X3_RC4_IfcColour_type; +extern select_type* IFC4X3_RC4_IfcColourOrFactor_type; +extern select_type* IFC4X3_RC4_IfcCoordinateReferenceSystemSelect_type; +extern select_type* IFC4X3_RC4_IfcCsgSelect_type; +extern select_type* IFC4X3_RC4_IfcCurveFontOrScaledCurveFontSelect_type; +extern select_type* IFC4X3_RC4_IfcCurveMeasureSelect_type; +extern select_type* IFC4X3_RC4_IfcCurveOnSurface_type; +extern select_type* IFC4X3_RC4_IfcCurveOrEdgeCurve_type; +extern select_type* IFC4X3_RC4_IfcCurveStyleFontSelect_type; +extern select_type* IFC4X3_RC4_IfcDefinitionSelect_type; +extern select_type* IFC4X3_RC4_IfcDerivedMeasureValue_type; +extern select_type* IFC4X3_RC4_IfcDocumentSelect_type; +extern select_type* IFC4X3_RC4_IfcFacilityPartTypeSelect_type; +extern select_type* IFC4X3_RC4_IfcFillStyleSelect_type; +extern select_type* IFC4X3_RC4_IfcGeometricSetSelect_type; +extern select_type* IFC4X3_RC4_IfcGridPlacementDirectionSelect_type; +extern select_type* IFC4X3_RC4_IfcHatchLineDistanceSelect_type; +extern select_type* IFC4X3_RC4_IfcImpactProtectionDeviceTypeSelect_type; +extern select_type* IFC4X3_RC4_IfcInterferenceSelect_type; +extern select_type* IFC4X3_RC4_IfcLayeredItem_type; +extern select_type* IFC4X3_RC4_IfcLibrarySelect_type; +extern select_type* IFC4X3_RC4_IfcLightDistributionDataSourceSelect_type; +extern select_type* IFC4X3_RC4_IfcMaterialSelect_type; +extern select_type* IFC4X3_RC4_IfcMeasureValue_type; +extern select_type* IFC4X3_RC4_IfcMetricValueSelect_type; +extern select_type* IFC4X3_RC4_IfcModulusOfRotationalSubgradeReactionSelect_type; +extern select_type* IFC4X3_RC4_IfcModulusOfSubgradeReactionSelect_type; +extern select_type* IFC4X3_RC4_IfcModulusOfTranslationalSubgradeReactionSelect_type; +extern select_type* IFC4X3_RC4_IfcObjectReferenceSelect_type; +extern select_type* IFC4X3_RC4_IfcPointOrVertexPoint_type; +extern select_type* IFC4X3_RC4_IfcProcessSelect_type; +extern select_type* IFC4X3_RC4_IfcProductRepresentationSelect_type; +extern select_type* IFC4X3_RC4_IfcProductSelect_type; +extern select_type* IFC4X3_RC4_IfcPropertySetDefinitionSelect_type; +extern select_type* IFC4X3_RC4_IfcResourceObjectSelect_type; +extern select_type* IFC4X3_RC4_IfcResourceSelect_type; +extern select_type* IFC4X3_RC4_IfcRotationalStiffnessSelect_type; +extern select_type* IFC4X3_RC4_IfcSegmentIndexSelect_type; +extern select_type* IFC4X3_RC4_IfcShell_type; +extern select_type* IFC4X3_RC4_IfcSimpleValue_type; +extern select_type* IFC4X3_RC4_IfcSizeSelect_type; +extern select_type* IFC4X3_RC4_IfcSolidOrShell_type; +extern select_type* IFC4X3_RC4_IfcSpaceBoundarySelect_type; +extern select_type* IFC4X3_RC4_IfcSpatialReferenceSelect_type; +extern select_type* IFC4X3_RC4_IfcSpecularHighlightSelect_type; +extern select_type* IFC4X3_RC4_IfcStructuralActivityAssignmentSelect_type; +extern select_type* IFC4X3_RC4_IfcSurfaceOrFaceSurface_type; +extern select_type* IFC4X3_RC4_IfcSurfaceStyleElementSelect_type; +extern select_type* IFC4X3_RC4_IfcTextFontSelect_type; +extern select_type* IFC4X3_RC4_IfcTimeOrRatioSelect_type; +extern select_type* IFC4X3_RC4_IfcTranslationalStiffnessSelect_type; +extern select_type* IFC4X3_RC4_IfcTransportElementTypeSelect_type; +extern select_type* IFC4X3_RC4_IfcTrimmingSelect_type; +extern select_type* IFC4X3_RC4_IfcUnit_type; +extern select_type* IFC4X3_RC4_IfcValue_type; +extern select_type* IFC4X3_RC4_IfcVectorOrDirection_type; +extern select_type* IFC4X3_RC4_IfcWarpingStiffnessSelect_type; const IfcParse::enumeration_type& Ifc4x3_rc4::IfcActionRequestTypeEnum::declaration() const { return *IFC4X3_RC4_IfcActionRequestTypeEnum_type; } @@ -12042,6 +12106,134 @@ Ifc4x3_rc4::IfcWorkScheduleTypeEnum::operator Ifc4x3_rc4::IfcWorkScheduleTypeEnu return FromString((std::string) *data_->getArgument(0)); } +const IfcParse::select_type& Ifc4x3_rc4::IfcActorSelect::Class() { return *IFC4X3_RC4_IfcActorSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcAppliedValueSelect::Class() { return *IFC4X3_RC4_IfcAppliedValueSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcAxis2Placement::Class() { return *IFC4X3_RC4_IfcAxis2Placement_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcBendingParameterSelect::Class() { return *IFC4X3_RC4_IfcBendingParameterSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcBooleanOperand::Class() { return *IFC4X3_RC4_IfcBooleanOperand_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcClassificationReferenceSelect::Class() { return *IFC4X3_RC4_IfcClassificationReferenceSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcClassificationSelect::Class() { return *IFC4X3_RC4_IfcClassificationSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcColour::Class() { return *IFC4X3_RC4_IfcColour_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcColourOrFactor::Class() { return *IFC4X3_RC4_IfcColourOrFactor_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect::Class() { return *IFC4X3_RC4_IfcCoordinateReferenceSystemSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcCsgSelect::Class() { return *IFC4X3_RC4_IfcCsgSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcCurveFontOrScaledCurveFontSelect::Class() { return *IFC4X3_RC4_IfcCurveFontOrScaledCurveFontSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcCurveMeasureSelect::Class() { return *IFC4X3_RC4_IfcCurveMeasureSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcCurveOnSurface::Class() { return *IFC4X3_RC4_IfcCurveOnSurface_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcCurveOrEdgeCurve::Class() { return *IFC4X3_RC4_IfcCurveOrEdgeCurve_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcCurveStyleFontSelect::Class() { return *IFC4X3_RC4_IfcCurveStyleFontSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcDefinitionSelect::Class() { return *IFC4X3_RC4_IfcDefinitionSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcDerivedMeasureValue::Class() { return *IFC4X3_RC4_IfcDerivedMeasureValue_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcDocumentSelect::Class() { return *IFC4X3_RC4_IfcDocumentSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcFacilityPartTypeSelect::Class() { return *IFC4X3_RC4_IfcFacilityPartTypeSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcFillStyleSelect::Class() { return *IFC4X3_RC4_IfcFillStyleSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcGeometricSetSelect::Class() { return *IFC4X3_RC4_IfcGeometricSetSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcGridPlacementDirectionSelect::Class() { return *IFC4X3_RC4_IfcGridPlacementDirectionSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcHatchLineDistanceSelect::Class() { return *IFC4X3_RC4_IfcHatchLineDistanceSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect::Class() { return *IFC4X3_RC4_IfcImpactProtectionDeviceTypeSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcInterferenceSelect::Class() { return *IFC4X3_RC4_IfcInterferenceSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcLayeredItem::Class() { return *IFC4X3_RC4_IfcLayeredItem_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcLibrarySelect::Class() { return *IFC4X3_RC4_IfcLibrarySelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcLightDistributionDataSourceSelect::Class() { return *IFC4X3_RC4_IfcLightDistributionDataSourceSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcMaterialSelect::Class() { return *IFC4X3_RC4_IfcMaterialSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcMeasureValue::Class() { return *IFC4X3_RC4_IfcMeasureValue_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcMetricValueSelect::Class() { return *IFC4X3_RC4_IfcMetricValueSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect::Class() { return *IFC4X3_RC4_IfcModulusOfRotationalSubgradeReactionSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect::Class() { return *IFC4X3_RC4_IfcModulusOfSubgradeReactionSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect::Class() { return *IFC4X3_RC4_IfcModulusOfTranslationalSubgradeReactionSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcObjectReferenceSelect::Class() { return *IFC4X3_RC4_IfcObjectReferenceSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcPointOrVertexPoint::Class() { return *IFC4X3_RC4_IfcPointOrVertexPoint_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcProcessSelect::Class() { return *IFC4X3_RC4_IfcProcessSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcProductRepresentationSelect::Class() { return *IFC4X3_RC4_IfcProductRepresentationSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcProductSelect::Class() { return *IFC4X3_RC4_IfcProductSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcPropertySetDefinitionSelect::Class() { return *IFC4X3_RC4_IfcPropertySetDefinitionSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcResourceObjectSelect::Class() { return *IFC4X3_RC4_IfcResourceObjectSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcResourceSelect::Class() { return *IFC4X3_RC4_IfcResourceSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcRotationalStiffnessSelect::Class() { return *IFC4X3_RC4_IfcRotationalStiffnessSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcSegmentIndexSelect::Class() { return *IFC4X3_RC4_IfcSegmentIndexSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcShell::Class() { return *IFC4X3_RC4_IfcShell_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcSimpleValue::Class() { return *IFC4X3_RC4_IfcSimpleValue_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcSizeSelect::Class() { return *IFC4X3_RC4_IfcSizeSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcSolidOrShell::Class() { return *IFC4X3_RC4_IfcSolidOrShell_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcSpaceBoundarySelect::Class() { return *IFC4X3_RC4_IfcSpaceBoundarySelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcSpatialReferenceSelect::Class() { return *IFC4X3_RC4_IfcSpatialReferenceSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcSpecularHighlightSelect::Class() { return *IFC4X3_RC4_IfcSpecularHighlightSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcStructuralActivityAssignmentSelect::Class() { return *IFC4X3_RC4_IfcStructuralActivityAssignmentSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcSurfaceOrFaceSurface::Class() { return *IFC4X3_RC4_IfcSurfaceOrFaceSurface_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcSurfaceStyleElementSelect::Class() { return *IFC4X3_RC4_IfcSurfaceStyleElementSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcTextFontSelect::Class() { return *IFC4X3_RC4_IfcTextFontSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcTimeOrRatioSelect::Class() { return *IFC4X3_RC4_IfcTimeOrRatioSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcTranslationalStiffnessSelect::Class() { return *IFC4X3_RC4_IfcTranslationalStiffnessSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcTransportElementTypeSelect::Class() { return *IFC4X3_RC4_IfcTransportElementTypeSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcTrimmingSelect::Class() { return *IFC4X3_RC4_IfcTrimmingSelect_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcUnit::Class() { return *IFC4X3_RC4_IfcUnit_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcValue::Class() { return *IFC4X3_RC4_IfcValue_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcVectorOrDirection::Class() { return *IFC4X3_RC4_IfcVectorOrDirection_type; } + +const IfcParse::select_type& Ifc4x3_rc4::IfcWarpingStiffnessSelect::Class() { return *IFC4X3_RC4_IfcWarpingStiffnessSelect_type; } + // Function implementations for IfcAbsorbedDoseMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcAbsorbedDoseMeasure::Class() { return *IFC4X3_RC4_IfcAbsorbedDoseMeasure_type; } @@ -12969,7 +13161,7 @@ Ifc4x3_rc4::IfcActionRequest::IfcActionRequest(IfcEntityInstanceData* e) : IfcCo Ifc4x3_rc4::IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3_rc4::IfcActionRequestTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcActionRequest_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v7_PredefinedType,::Ifc4x3_rc4::IfcActionRequestTypeEnum::ToString(*v7_PredefinedType))));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Status));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_LongDescription));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcActor -::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcActorSelect>(); } +::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } void Ifc4x3_rc4::IfcActor::setTheActor(::Ifc4x3_rc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4x3_rc4::IfcRelAssignsToActor::list::ptr Ifc4x3_rc4::IfcActor::IsActingUpon() const { return data_->getInverse(IFC4X3_RC4_IfcRelAssignsToActor_type, 6)->as(); } @@ -13187,7 +13379,7 @@ Ifc4x3_rc4::IfcAlignmentHorizontal::IfcAlignmentHorizontal(IfcEntityInstanceData Ifc4x3_rc4::IfcAlignmentHorizontal::IfcAlignmentHorizontal(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation* v7_Representation) : IfcLinearElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAlignmentHorizontal_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} } // Function implementations for IfcAlignmentHorizontalSegment -::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcAlignmentHorizontalSegment::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcCartesianPoint>(); } +::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcAlignmentHorizontalSegment::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcCartesianPoint>(true); } void Ifc4x3_rc4::IfcAlignmentHorizontalSegment::setStartPoint(::Ifc4x3_rc4::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc4x3_rc4::IfcAlignmentHorizontalSegment::StartDirection() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcAlignmentHorizontalSegment::setStartDirection(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -13221,7 +13413,7 @@ Ifc4x3_rc4::IfcAlignmentParameterSegment::IfcAlignmentParameterSegment(IfcEntity Ifc4x3_rc4::IfcAlignmentParameterSegment::IfcAlignmentParameterSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAlignmentParameterSegment_type); if (v1_StartTag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_StartTag));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_EndTag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_EndTag));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcAlignmentSegment -::Ifc4x3_rc4::IfcAlignmentParameterSegment* Ifc4x3_rc4::IfcAlignmentSegment::DesignParameters() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcAlignmentParameterSegment>(); } +::Ifc4x3_rc4::IfcAlignmentParameterSegment* Ifc4x3_rc4::IfcAlignmentSegment::DesignParameters() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcAlignmentParameterSegment>(true); } void Ifc4x3_rc4::IfcAlignmentSegment::setDesignParameters(::Ifc4x3_rc4::IfcAlignmentParameterSegment* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -13272,7 +13464,7 @@ Ifc4x3_rc4::IfcAnnotation::IfcAnnotation(IfcEntityInstanceData* e) : IfcProduct( Ifc4x3_rc4::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_rc4::IfcAnnotationTypeEnum::Value > v8_PredefinedType) : IfcProduct((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAnnotation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_PredefinedType,::Ifc4x3_rc4::IfcAnnotationTypeEnum::ToString(*v8_PredefinedType))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcAnnotationFillArea -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCurve>(); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcAnnotationFillArea::setOuterBoundary(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr > Ifc4x3_rc4::IfcAnnotationFillArea::InnerBoundaries() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcCurve >(); } void Ifc4x3_rc4::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(1,attr);} } @@ -13284,7 +13476,7 @@ Ifc4x3_rc4::IfcAnnotationFillArea::IfcAnnotationFillArea(IfcEntityInstanceData* Ifc4x3_rc4::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc4x3_rc4::IfcCurve* v1_OuterBoundary, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr > v2_InnerBoundaries) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAnnotationFillArea_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_OuterBoundary));data_->setArgument(0,attr);} if (v2_InnerBoundaries) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_InnerBoundaries)->generalize());data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcApplication -::Ifc4x3_rc4::IfcOrganization* Ifc4x3_rc4::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcOrganization>(); } +::Ifc4x3_rc4::IfcOrganization* Ifc4x3_rc4::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcOrganization>(true); } void Ifc4x3_rc4::IfcApplication::setApplicationDeveloper(::Ifc4x3_rc4::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } std::string Ifc4x3_rc4::IfcApplication::Version() const { std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcApplication::setVersion(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13304,9 +13496,9 @@ boost::optional< std::string > Ifc4x3_rc4::IfcAppliedValue::Name() const { if(!d void Ifc4x3_rc4::IfcAppliedValue::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcAppliedValue::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcAppliedValue::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4x3_rc4::IfcAppliedValueSelect* Ifc4x3_rc4::IfcAppliedValue::AppliedValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcAppliedValueSelect>(); } +::Ifc4x3_rc4::IfcAppliedValueSelect* Ifc4x3_rc4::IfcAppliedValue::AppliedValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcAppliedValueSelect>(true); } void Ifc4x3_rc4::IfcAppliedValue::setAppliedValue(::Ifc4x3_rc4::IfcAppliedValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc4::IfcMeasureWithUnit* Ifc4x3_rc4::IfcAppliedValue::UnitBasis() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcMeasureWithUnit>(); } +::Ifc4x3_rc4::IfcMeasureWithUnit* Ifc4x3_rc4::IfcAppliedValue::UnitBasis() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcMeasureWithUnit>(true); } void Ifc4x3_rc4::IfcAppliedValue::setUnitBasis(::Ifc4x3_rc4::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcAppliedValue::ApplicableDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcAppliedValue::setApplicableDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -13343,9 +13535,9 @@ boost::optional< std::string > Ifc4x3_rc4::IfcApproval::Level() const { if(!data void Ifc4x3_rc4::IfcApproval::setLevel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcApproval::Qualifier() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4x3_rc4::IfcApproval::setQualifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } -::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcApproval::RequestingApproval() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcActorSelect>(); } +::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcApproval::RequestingApproval() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } void Ifc4x3_rc4::IfcApproval::setRequestingApproval(::Ifc4x3_rc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcApproval::GivingApproval() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcActorSelect>(); } +::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcApproval::GivingApproval() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } void Ifc4x3_rc4::IfcApproval::setGivingApproval(::Ifc4x3_rc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } ::Ifc4x3_rc4::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc4::IfcApproval::HasExternalReferences() const { return data_->getInverse(IFC4X3_RC4_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -13360,7 +13552,7 @@ Ifc4x3_rc4::IfcApproval::IfcApproval(IfcEntityInstanceData* e) : IfcUtil::IfcBas Ifc4x3_rc4::IfcApproval::IfcApproval(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_TimeOfApproval, boost::optional< std::string > v5_Status, boost::optional< std::string > v6_Level, boost::optional< std::string > v7_Qualifier, ::Ifc4x3_rc4::IfcActorSelect* v8_RequestingApproval, ::Ifc4x3_rc4::IfcActorSelect* v9_GivingApproval) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcApproval_type); if (v1_Identifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identifier));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Name));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_TimeOfApproval) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_TimeOfApproval));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Status));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Level) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Level));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Qualifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Qualifier));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_RequestingApproval));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_GivingApproval));data_->setArgument(8,attr);} } // Function implementations for IfcApprovalRelationship -::Ifc4x3_rc4::IfcApproval* Ifc4x3_rc4::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcApproval>(); } +::Ifc4x3_rc4::IfcApproval* Ifc4x3_rc4::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcApproval>(true); } void Ifc4x3_rc4::IfcApprovalRelationship::setRelatingApproval(::Ifc4x3_rc4::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4x3_rc4::IfcApproval >::ptr Ifc4x3_rc4::IfcApprovalRelationship::RelatedApprovals() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc4::IfcApproval >(); } void Ifc4x3_rc4::IfcApprovalRelationship::setRelatedApprovals(aggregate_of< ::Ifc4x3_rc4::IfcApproval >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -13372,7 +13564,7 @@ Ifc4x3_rc4::IfcApprovalRelationship::IfcApprovalRelationship(IfcEntityInstanceDa Ifc4x3_rc4::IfcApprovalRelationship::IfcApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcApproval* v3_RelatingApproval, aggregate_of< ::Ifc4x3_rc4::IfcApproval >::ptr v4_RelatedApprovals) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingApproval));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedApprovals)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcArbitraryClosedProfileDef -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcCurve>(); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcArbitraryClosedProfileDef::setOuterCurve(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -13382,7 +13574,7 @@ Ifc4x3_rc4::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcEntity Ifc4x3_rc4::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcCurve* v3_OuterCurve) : IfcProfileDef((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcArbitraryClosedProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4x3_rc4::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_OuterCurve));data_->setArgument(2,attr);} } // Function implementations for IfcArbitraryOpenProfileDef -::Ifc4x3_rc4::IfcBoundedCurve* Ifc4x3_rc4::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcBoundedCurve>(); } +::Ifc4x3_rc4::IfcBoundedCurve* Ifc4x3_rc4::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcBoundedCurve>(true); } void Ifc4x3_rc4::IfcArbitraryOpenProfileDef::setCurve(::Ifc4x3_rc4::IfcBoundedCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -13404,21 +13596,21 @@ Ifc4x3_rc4::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::I // Function implementations for IfcAsset boost::optional< std::string > Ifc4x3_rc4::IfcAsset::Identification() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x3_rc4::IfcAsset::setIdentification(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcAsset::OriginalValue() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcCostValue>(); } +::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcAsset::OriginalValue() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcCostValue>(true); } void Ifc4x3_rc4::IfcAsset::setOriginalValue(::Ifc4x3_rc4::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcAsset::CurrentValue() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcCostValue>(); } +::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcAsset::CurrentValue() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcCostValue>(true); } void Ifc4x3_rc4::IfcAsset::setCurrentValue(::Ifc4x3_rc4::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcAsset::TotalReplacementCost() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcCostValue>(); } +::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcAsset::TotalReplacementCost() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcCostValue>(true); } void Ifc4x3_rc4::IfcAsset::setTotalReplacementCost(::Ifc4x3_rc4::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcAsset::Owner() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc4::IfcActorSelect>(); } +::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcAsset::Owner() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } void Ifc4x3_rc4::IfcAsset::setOwner(::Ifc4x3_rc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcAsset::User() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc4::IfcActorSelect>(); } +::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcAsset::User() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } void Ifc4x3_rc4::IfcAsset::setUser(::Ifc4x3_rc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } -::Ifc4x3_rc4::IfcPerson* Ifc4x3_rc4::IfcAsset::ResponsiblePerson() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc4::IfcPerson>(); } +::Ifc4x3_rc4::IfcPerson* Ifc4x3_rc4::IfcAsset::ResponsiblePerson() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc4::IfcPerson>(true); } void Ifc4x3_rc4::IfcAsset::setResponsiblePerson(::Ifc4x3_rc4::IfcPerson* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcAsset::IncorporationDate() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } void Ifc4x3_rc4::IfcAsset::setIncorporationDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } -::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcAsset::DepreciatedValue() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x3_rc4::IfcCostValue>(); } +::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcAsset::DepreciatedValue() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x3_rc4::IfcCostValue>(true); } void Ifc4x3_rc4::IfcAsset::setDepreciatedValue(::Ifc4x3_rc4::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } @@ -13480,7 +13672,7 @@ Ifc4x3_rc4::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(IfcEntityIn Ifc4x3_rc4::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAudioVisualApplianceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcAxis1Placement -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis1Placement::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcDirection>(); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis1Placement::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcAxis1Placement::setAxis(::Ifc4x3_rc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13490,7 +13682,7 @@ Ifc4x3_rc4::IfcAxis1Placement::IfcAxis1Placement(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc4::IfcAxis1Placement::IfcAxis1Placement(::Ifc4x3_rc4::IfcPoint* v1_Location, ::Ifc4x3_rc4::IfcDirection* v2_Axis) : IfcPlacement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAxis1Placement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Location));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Axis));data_->setArgument(1,attr);} } // Function implementations for IfcAxis2Placement2D -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis2Placement2D::RefDirection() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcDirection>(); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis2Placement2D::RefDirection() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcAxis2Placement2D::setRefDirection(::Ifc4x3_rc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13500,9 +13692,9 @@ Ifc4x3_rc4::IfcAxis2Placement2D::IfcAxis2Placement2D(IfcEntityInstanceData* e) : Ifc4x3_rc4::IfcAxis2Placement2D::IfcAxis2Placement2D(::Ifc4x3_rc4::IfcPoint* v1_Location, ::Ifc4x3_rc4::IfcDirection* v2_RefDirection) : IfcPlacement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAxis2Placement2D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Location));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RefDirection));data_->setArgument(1,attr);} } // Function implementations for IfcAxis2Placement3D -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis2Placement3D::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcDirection>(); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis2Placement3D::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcAxis2Placement3D::setAxis(::Ifc4x3_rc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis2Placement3D::RefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcDirection>(); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis2Placement3D::RefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcAxis2Placement3D::setRefDirection(::Ifc4x3_rc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -13512,9 +13704,9 @@ Ifc4x3_rc4::IfcAxis2Placement3D::IfcAxis2Placement3D(IfcEntityInstanceData* e) : Ifc4x3_rc4::IfcAxis2Placement3D::IfcAxis2Placement3D(::Ifc4x3_rc4::IfcPoint* v1_Location, ::Ifc4x3_rc4::IfcDirection* v2_Axis, ::Ifc4x3_rc4::IfcDirection* v3_RefDirection) : IfcPlacement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcAxis2Placement3D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Location));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Axis));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RefDirection));data_->setArgument(2,attr);} } // Function implementations for IfcAxis2PlacementLinear -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis2PlacementLinear::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcDirection>(); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis2PlacementLinear::Axis() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcAxis2PlacementLinear::setAxis(::Ifc4x3_rc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis2PlacementLinear::RefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcDirection>(); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis2PlacementLinear::RefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcAxis2PlacementLinear::setRefDirection(::Ifc4x3_rc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -13700,9 +13892,9 @@ Ifc4x3_rc4::IfcBooleanClippingResult::IfcBooleanClippingResult(::Ifc4x3_rc4::Ifc // Function implementations for IfcBooleanResult ::Ifc4x3_rc4::IfcBooleanOperator::Value Ifc4x3_rc4::IfcBooleanResult::Operator() const { return ::Ifc4x3_rc4::IfcBooleanOperator::FromString(*data_->getArgument(0)); } void Ifc4x3_rc4::IfcBooleanResult::setOperator(::Ifc4x3_rc4::IfcBooleanOperator::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcBooleanOperator::ToString(v)));data_->setArgument(0,attr);} } -::Ifc4x3_rc4::IfcBooleanOperand* Ifc4x3_rc4::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcBooleanOperand>(); } +::Ifc4x3_rc4::IfcBooleanOperand* Ifc4x3_rc4::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcBooleanOperand>(true); } void Ifc4x3_rc4::IfcBooleanResult::setFirstOperand(::Ifc4x3_rc4::IfcBooleanOperand* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc4::IfcBooleanOperand* Ifc4x3_rc4::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcBooleanOperand>(); } +::Ifc4x3_rc4::IfcBooleanOperand* Ifc4x3_rc4::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcBooleanOperand>(true); } void Ifc4x3_rc4::IfcBooleanResult::setSecondOperand(::Ifc4x3_rc4::IfcBooleanOperand* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -13738,17 +13930,17 @@ Ifc4x3_rc4::IfcBoundaryCurve::IfcBoundaryCurve(IfcEntityInstanceData* e) : IfcCo Ifc4x3_rc4::IfcBoundaryCurve::IfcBoundaryCurve(aggregate_of< ::Ifc4x3_rc4::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurveOnSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBoundaryCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Segments)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SelfIntersect));data_->setArgument(1,attr);} } // Function implementations for IfcBoundaryEdgeCondition -::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3_rc4::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthX(::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3_rc4::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthY(::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect>(); } +::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3_rc4::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthZ(::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3_rc4::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3_rc4::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect>(); } +::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3_rc4::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -13758,11 +13950,11 @@ Ifc4x3_rc4::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(IfcEntityInstance Ifc4x3_rc4::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* v2_TranslationalStiffnessByLengthX, ::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* v3_TranslationalStiffnessByLengthY, ::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* v5_RotationalStiffnessByLengthX, ::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* v6_RotationalStiffnessByLengthY, ::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBoundaryEdgeCondition_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TranslationalStiffnessByLengthX));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TranslationalStiffnessByLengthY));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TranslationalStiffnessByLengthZ));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RotationalStiffnessByLengthX));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RotationalStiffnessByLengthY));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RotationalStiffnessByLengthZ));data_->setArgument(6,attr);} } // Function implementations for IfcBoundaryFaceCondition -::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3_rc4::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaX(::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3_rc4::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaY(::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect>(); } +::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3_rc4::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -13772,17 +13964,17 @@ Ifc4x3_rc4::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(IfcEntityInstance Ifc4x3_rc4::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* v2_TranslationalStiffnessByAreaX, ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* v3_TranslationalStiffnessByAreaY, ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* v4_TranslationalStiffnessByAreaZ) : IfcBoundaryCondition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBoundaryFaceCondition_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TranslationalStiffnessByAreaX));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TranslationalStiffnessByAreaY));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TranslationalStiffnessByAreaZ));data_->setArgument(3,attr);} } // Function implementations for IfcBoundaryNodeCondition -::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcTranslationalStiffnessSelect>(); } +::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3_rc4::IfcBoundaryNodeCondition::setTranslationalStiffnessX(::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcTranslationalStiffnessSelect>(); } +::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3_rc4::IfcBoundaryNodeCondition::setTranslationalStiffnessY(::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcTranslationalStiffnessSelect>(); } +::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3_rc4::IfcBoundaryNodeCondition::setTranslationalStiffnessZ(::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc4::IfcRotationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcRotationalStiffnessSelect>(); } +::Ifc4x3_rc4::IfcRotationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcRotationalStiffnessSelect>(true); } void Ifc4x3_rc4::IfcBoundaryNodeCondition::setRotationalStiffnessX(::Ifc4x3_rc4::IfcRotationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc4::IfcRotationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcRotationalStiffnessSelect>(); } +::Ifc4x3_rc4::IfcRotationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcRotationalStiffnessSelect>(true); } void Ifc4x3_rc4::IfcBoundaryNodeCondition::setRotationalStiffnessY(::Ifc4x3_rc4::IfcRotationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc4::IfcRotationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcRotationalStiffnessSelect>(); } +::Ifc4x3_rc4::IfcRotationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcRotationalStiffnessSelect>(true); } void Ifc4x3_rc4::IfcBoundaryNodeCondition::setRotationalStiffnessZ(::Ifc4x3_rc4::IfcRotationalStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -13792,7 +13984,7 @@ Ifc4x3_rc4::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(IfcEntityInstance Ifc4x3_rc4::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x3_rc4::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x3_rc4::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x3_rc4::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ) : IfcBoundaryCondition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBoundaryNodeCondition_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TranslationalStiffnessX));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_TranslationalStiffnessY));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TranslationalStiffnessZ));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RotationalStiffnessX));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RotationalStiffnessY));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RotationalStiffnessZ));data_->setArgument(6,attr);} } // Function implementations for IfcBoundaryNodeConditionWarping -::Ifc4x3_rc4::IfcWarpingStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcWarpingStiffnessSelect>(); } +::Ifc4x3_rc4::IfcWarpingStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcWarpingStiffnessSelect>(true); } void Ifc4x3_rc4::IfcBoundaryNodeConditionWarping::setWarpingStiffness(::Ifc4x3_rc4::IfcWarpingStiffnessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -13818,7 +14010,7 @@ Ifc4x3_rc4::IfcBoundedSurface::IfcBoundedSurface(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc4::IfcBoundedSurface::IfcBoundedSurface() : IfcSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBoundedSurface_type); } // Function implementations for IfcBoundingBox -::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCartesianPoint>(); } +::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCartesianPoint>(true); } void Ifc4x3_rc4::IfcBoundingBox::setCorner(::Ifc4x3_rc4::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x3_rc4::IfcBoundingBox::XDim() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcBoundingBox::setXDim(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -13834,7 +14026,7 @@ Ifc4x3_rc4::IfcBoundingBox::IfcBoundingBox(IfcEntityInstanceData* e) : IfcGeomet Ifc4x3_rc4::IfcBoundingBox::IfcBoundingBox(::Ifc4x3_rc4::IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcBoundingBox_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Corner));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_XDim));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_YDim));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ZDim));data_->setArgument(3,attr);} } // Function implementations for IfcBoxedHalfSpace -::Ifc4x3_rc4::IfcBoundingBox* Ifc4x3_rc4::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcBoundingBox>(); } +::Ifc4x3_rc4::IfcBoundingBox* Ifc4x3_rc4::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcBoundingBox>(true); } void Ifc4x3_rc4::IfcBoxedHalfSpace::setEnclosure(::Ifc4x3_rc4::IfcBoundingBox* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -13858,7 +14050,7 @@ boost::optional< double > Ifc4x3_rc4::IfcBuilding::ElevationOfRefHeight() const void Ifc4x3_rc4::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc4::IfcBuilding::ElevationOfTerrain() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } void Ifc4x3_rc4::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } -::Ifc4x3_rc4::IfcPostalAddress* Ifc4x3_rc4::IfcBuilding::BuildingAddress() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc4::IfcPostalAddress>(); } +::Ifc4x3_rc4::IfcPostalAddress* Ifc4x3_rc4::IfcBuilding::BuildingAddress() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc4::IfcPostalAddress>(true); } void Ifc4x3_rc4::IfcBuilding::setBuildingAddress(::Ifc4x3_rc4::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } @@ -14138,11 +14330,11 @@ Ifc4x3_rc4::IfcCartesianPointList3D::IfcCartesianPointList3D(IfcEntityInstanceDa Ifc4x3_rc4::IfcCartesianPointList3D::IfcCartesianPointList3D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCartesianPointList3D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CoordList));data_->setArgument(0,attr);} if (v2_TagList) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_TagList));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcCartesianTransformationOperator -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcCartesianTransformationOperator::Axis1() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcDirection>(); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcCartesianTransformationOperator::Axis1() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcCartesianTransformationOperator::setAxis1(::Ifc4x3_rc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcCartesianTransformationOperator::Axis2() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcDirection>(); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcCartesianTransformationOperator::Axis2() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcCartesianTransformationOperator::setAxis2(::Ifc4x3_rc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcCartesianPoint>(); } +::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcCartesianPoint>(true); } void Ifc4x3_rc4::IfcCartesianTransformationOperator::setLocalOrigin(::Ifc4x3_rc4::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc4::IfcCartesianTransformationOperator::Scale() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } @@ -14172,7 +14364,7 @@ Ifc4x3_rc4::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransfor Ifc4x3_rc4::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(::Ifc4x3_rc4::IfcDirection* v1_Axis1, ::Ifc4x3_rc4::IfcDirection* v2_Axis2, ::Ifc4x3_rc4::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2) : IfcCartesianTransformationOperator2D((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCartesianTransformationOperator2DnonUniform_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Axis1));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Axis2));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_LocalOrigin));data_->setArgument(2,attr);} if (v4_Scale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Scale));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Scale2) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Scale2));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcCartesianTransformationOperator3D -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcCartesianTransformationOperator3D::Axis3() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcDirection>(); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcCartesianTransformationOperator3D::Axis3() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcCartesianTransformationOperator3D::setAxis3(::Ifc4x3_rc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -14314,7 +14506,7 @@ Ifc4x3_rc4::IfcClassification::IfcClassification(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc4::IfcClassification::IfcClassification(boost::optional< std::string > v1_Source, boost::optional< std::string > v2_Edition, boost::optional< std::string > v3_EditionDate, std::string v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Location, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcClassification_type); if (v1_Source) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Source));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Edition) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Edition));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_EditionDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EditionDate));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Name));data_->setArgument(3,attr);} if (v5_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Description));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Location));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ReferenceTokens) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ReferenceTokens));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcClassificationReference -::Ifc4x3_rc4::IfcClassificationReferenceSelect* Ifc4x3_rc4::IfcClassificationReference::ReferencedSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcClassificationReferenceSelect>(); } +::Ifc4x3_rc4::IfcClassificationReferenceSelect* Ifc4x3_rc4::IfcClassificationReference::ReferencedSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcClassificationReferenceSelect>(true); } void Ifc4x3_rc4::IfcClassificationReference::setReferencedSource(::Ifc4x3_rc4::IfcClassificationReferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcClassificationReference::Description() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcClassificationReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -14498,7 +14690,7 @@ Ifc4x3_rc4::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(aggregate_of< // Function implementations for IfcCompositeCurveSegment bool Ifc4x3_rc4::IfcCompositeCurveSegment::SameSense() const { bool v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcCompositeCurveSegment::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcCurve>(); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcCompositeCurveSegment::setParentCurve(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -14560,7 +14752,7 @@ Ifc4x3_rc4::IfcCondenserType::IfcCondenserType(IfcEntityInstanceData* e) : IfcEn Ifc4x3_rc4::IfcCondenserType::IfcCondenserType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCondenserTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCondenserType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc4::IfcCondenserTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcConic -::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcAxis2Placement>(); } +::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcAxis2Placement>(true); } void Ifc4x3_rc4::IfcConic::setPosition(::Ifc4x3_rc4::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -14580,9 +14772,9 @@ Ifc4x3_rc4::IfcConnectedFaceSet::IfcConnectedFaceSet(IfcEntityInstanceData* e) : Ifc4x3_rc4::IfcConnectedFaceSet::IfcConnectedFaceSet(aggregate_of< ::Ifc4x3_rc4::IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConnectedFaceSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CfsFaces)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcConnectionCurveGeometry -::Ifc4x3_rc4::IfcCurveOrEdgeCurve* Ifc4x3_rc4::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCurveOrEdgeCurve>(); } +::Ifc4x3_rc4::IfcCurveOrEdgeCurve* Ifc4x3_rc4::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCurveOrEdgeCurve>(true); } void Ifc4x3_rc4::IfcConnectionCurveGeometry::setCurveOnRelatingElement(::Ifc4x3_rc4::IfcCurveOrEdgeCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc4::IfcCurveOrEdgeCurve* Ifc4x3_rc4::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcCurveOrEdgeCurve>(); } +::Ifc4x3_rc4::IfcCurveOrEdgeCurve* Ifc4x3_rc4::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcCurveOrEdgeCurve>(true); } void Ifc4x3_rc4::IfcConnectionCurveGeometry::setCurveOnRelatedElement(::Ifc4x3_rc4::IfcCurveOrEdgeCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -14614,9 +14806,9 @@ Ifc4x3_rc4::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcEn Ifc4x3_rc4::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(::Ifc4x3_rc4::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_rc4::IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConnectionPointEccentricity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_PointOnRelatingElement));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PointOnRelatedElement));data_->setArgument(1,attr);} if (v3_EccentricityInX) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_EccentricityInX));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_EccentricityInY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_EccentricityInY));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_EccentricityInZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_EccentricityInZ));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcConnectionPointGeometry -::Ifc4x3_rc4::IfcPointOrVertexPoint* Ifc4x3_rc4::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcPointOrVertexPoint>(); } +::Ifc4x3_rc4::IfcPointOrVertexPoint* Ifc4x3_rc4::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcPointOrVertexPoint>(true); } void Ifc4x3_rc4::IfcConnectionPointGeometry::setPointOnRelatingElement(::Ifc4x3_rc4::IfcPointOrVertexPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc4::IfcPointOrVertexPoint* Ifc4x3_rc4::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcPointOrVertexPoint>(); } +::Ifc4x3_rc4::IfcPointOrVertexPoint* Ifc4x3_rc4::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcPointOrVertexPoint>(true); } void Ifc4x3_rc4::IfcConnectionPointGeometry::setPointOnRelatedElement(::Ifc4x3_rc4::IfcPointOrVertexPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -14626,9 +14818,9 @@ Ifc4x3_rc4::IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcEntityInst Ifc4x3_rc4::IfcConnectionPointGeometry::IfcConnectionPointGeometry(::Ifc4x3_rc4::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_rc4::IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConnectionPointGeometry_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_PointOnRelatingElement));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PointOnRelatedElement));data_->setArgument(1,attr);} } // Function implementations for IfcConnectionSurfaceGeometry -::Ifc4x3_rc4::IfcSurfaceOrFaceSurface* Ifc4x3_rc4::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcSurfaceOrFaceSurface>(); } +::Ifc4x3_rc4::IfcSurfaceOrFaceSurface* Ifc4x3_rc4::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcSurfaceOrFaceSurface>(true); } void Ifc4x3_rc4::IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(::Ifc4x3_rc4::IfcSurfaceOrFaceSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc4::IfcSurfaceOrFaceSurface* Ifc4x3_rc4::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcSurfaceOrFaceSurface>(); } +::Ifc4x3_rc4::IfcSurfaceOrFaceSurface* Ifc4x3_rc4::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcSurfaceOrFaceSurface>(true); } void Ifc4x3_rc4::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(::Ifc4x3_rc4::IfcSurfaceOrFaceSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -14638,9 +14830,9 @@ Ifc4x3_rc4::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcEntity Ifc4x3_rc4::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(::Ifc4x3_rc4::IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, ::Ifc4x3_rc4::IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConnectionSurfaceGeometry_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SurfaceOnRelatingElement));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SurfaceOnRelatedElement));data_->setArgument(1,attr);} } // Function implementations for IfcConnectionVolumeGeometry -::Ifc4x3_rc4::IfcSolidOrShell* Ifc4x3_rc4::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcSolidOrShell>(); } +::Ifc4x3_rc4::IfcSolidOrShell* Ifc4x3_rc4::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcSolidOrShell>(true); } void Ifc4x3_rc4::IfcConnectionVolumeGeometry::setVolumeOnRelatingElement(::Ifc4x3_rc4::IfcSolidOrShell* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc4::IfcSolidOrShell* Ifc4x3_rc4::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcSolidOrShell>(); } +::Ifc4x3_rc4::IfcSolidOrShell* Ifc4x3_rc4::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcSolidOrShell>(true); } void Ifc4x3_rc4::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(::Ifc4x3_rc4::IfcSolidOrShell* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -14658,7 +14850,7 @@ void Ifc4x3_rc4::IfcConstraint::setDescription(boost::optional< std::string > v) void Ifc4x3_rc4::IfcConstraint::setConstraintGrade(::Ifc4x3_rc4::IfcConstraintEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcConstraintEnum::ToString(v)));data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcConstraint::ConstraintSource() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } -::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcConstraint::CreatingActor() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcActorSelect>(); } +::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcConstraint::CreatingActor() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } void Ifc4x3_rc4::IfcConstraint::setCreatingActor(::Ifc4x3_rc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcConstraint::CreationTime() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x3_rc4::IfcConstraint::setCreationTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } @@ -14734,11 +14926,11 @@ Ifc4x3_rc4::IfcConstructionProductResourceType::IfcConstructionProductResourceTy Ifc4x3_rc4::IfcConstructionProductResourceType::IfcConstructionProductResourceType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcConstructionProductResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcConstructionResource -::Ifc4x3_rc4::IfcResourceTime* Ifc4x3_rc4::IfcConstructionResource::Usage() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcResourceTime>(); } +::Ifc4x3_rc4::IfcResourceTime* Ifc4x3_rc4::IfcConstructionResource::Usage() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcResourceTime>(true); } void Ifc4x3_rc4::IfcConstructionResource::setUsage(::Ifc4x3_rc4::IfcResourceTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > Ifc4x3_rc4::IfcConstructionResource::BaseCosts() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x3_rc4::IfcAppliedValue >(); } void Ifc4x3_rc4::IfcConstructionResource::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } -::Ifc4x3_rc4::IfcPhysicalQuantity* Ifc4x3_rc4::IfcConstructionResource::BaseQuantity() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc4::IfcPhysicalQuantity>(); } +::Ifc4x3_rc4::IfcPhysicalQuantity* Ifc4x3_rc4::IfcConstructionResource::BaseQuantity() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc4::IfcPhysicalQuantity>(true); } void Ifc4x3_rc4::IfcConstructionResource::setBaseQuantity(::Ifc4x3_rc4::IfcPhysicalQuantity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -14750,7 +14942,7 @@ Ifc4x3_rc4::IfcConstructionResource::IfcConstructionResource(std::string v1_Glob // Function implementations for IfcConstructionResourceType boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > Ifc4x3_rc4::IfcConstructionResourceType::BaseCosts() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(9); return es->as< ::Ifc4x3_rc4::IfcAppliedValue >(); } void Ifc4x3_rc4::IfcConstructionResourceType::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(9,attr);} } -::Ifc4x3_rc4::IfcPhysicalQuantity* Ifc4x3_rc4::IfcConstructionResourceType::BaseQuantity() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc4::IfcPhysicalQuantity>(); } +::Ifc4x3_rc4::IfcPhysicalQuantity* Ifc4x3_rc4::IfcConstructionResourceType::BaseQuantity() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc4::IfcPhysicalQuantity>(true); } void Ifc4x3_rc4::IfcConstructionResourceType::setBaseQuantity(::Ifc4x3_rc4::IfcPhysicalQuantity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -14768,7 +14960,7 @@ boost::optional< std::string > Ifc4x3_rc4::IfcContext::Phase() const { if(!data_ void Ifc4x3_rc4::IfcContext::setPhase(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationContext >::ptr > Ifc4x3_rc4::IfcContext::RepresentationContexts() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc4::IfcRepresentationContext >(); } void Ifc4x3_rc4::IfcContext::setRepresentationContexts(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationContext >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } -::Ifc4x3_rc4::IfcUnitAssignment* Ifc4x3_rc4::IfcContext::UnitsInContext() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcUnitAssignment>(); } +::Ifc4x3_rc4::IfcUnitAssignment* Ifc4x3_rc4::IfcContext::UnitsInContext() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcUnitAssignment>(true); } void Ifc4x3_rc4::IfcContext::setUnitsInContext(::Ifc4x3_rc4::IfcUnitAssignment* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } ::Ifc4x3_rc4::IfcRelDefinesByProperties::list::ptr Ifc4x3_rc4::IfcContext::IsDefinedBy() const { return data_->getInverse(IFC4X3_RC4_IfcRelDefinesByProperties_type, 4)->as(); } @@ -14824,7 +15016,7 @@ Ifc4x3_rc4::IfcControllerType::IfcControllerType(std::string v1_GlobalId, ::Ifc4 // Function implementations for IfcConversionBasedUnit std::string Ifc4x3_rc4::IfcConversionBasedUnit::Name() const { std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcConversionBasedUnit::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc4::IfcMeasureWithUnit* Ifc4x3_rc4::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcMeasureWithUnit>(); } +::Ifc4x3_rc4::IfcMeasureWithUnit* Ifc4x3_rc4::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcMeasureWithUnit>(true); } void Ifc4x3_rc4::IfcConversionBasedUnit::setConversionFactor(::Ifc4x3_rc4::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3_rc4::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc4::IfcConversionBasedUnit::HasExternalReference() const { return data_->getInverse(IFC4X3_RC4_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -14905,9 +15097,9 @@ Ifc4x3_rc4::IfcCoolingTowerType::IfcCoolingTowerType(IfcEntityInstanceData* e) : Ifc4x3_rc4::IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCoolingTowerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcCoordinateOperation -::Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect* Ifc4x3_rc4::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect>(); } +::Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect* Ifc4x3_rc4::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect>(true); } void Ifc4x3_rc4::IfcCoordinateOperation::setSourceCRS(::Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc4::IfcCoordinateReferenceSystem* Ifc4x3_rc4::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcCoordinateReferenceSystem>(); } +::Ifc4x3_rc4::IfcCoordinateReferenceSystem* Ifc4x3_rc4::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcCoordinateReferenceSystem>(true); } void Ifc4x3_rc4::IfcCoordinateOperation::setTargetCRS(::Ifc4x3_rc4::IfcCoordinateReferenceSystem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15046,7 +15238,7 @@ Ifc4x3_rc4::IfcCrewResourceType::IfcCrewResourceType(IfcEntityInstanceData* e) : Ifc4x3_rc4::IfcCrewResourceType::IfcCrewResourceType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCrewResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4x3_rc4::IfcCrewResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcCsgPrimitive3D -::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(); } +::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(true); } void Ifc4x3_rc4::IfcCsgPrimitive3D::setPosition(::Ifc4x3_rc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -15056,7 +15248,7 @@ Ifc4x3_rc4::IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc4::IfcCsgPrimitive3D::IfcCsgPrimitive3D(::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCsgPrimitive3D_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);} } // Function implementations for IfcCsgSolid -::Ifc4x3_rc4::IfcCsgSelect* Ifc4x3_rc4::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCsgSelect>(); } +::Ifc4x3_rc4::IfcCsgSelect* Ifc4x3_rc4::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCsgSelect>(true); } void Ifc4x3_rc4::IfcCsgSolid::setTreeRootExpression(::Ifc4x3_rc4::IfcCsgSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -15066,15 +15258,15 @@ Ifc4x3_rc4::IfcCsgSolid::IfcCsgSolid(IfcEntityInstanceData* e) : IfcSolidModel(( Ifc4x3_rc4::IfcCsgSolid::IfcCsgSolid(::Ifc4x3_rc4::IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCsgSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_TreeRootExpression));data_->setArgument(0,attr);} } // Function implementations for IfcCurrencyRelationship -::Ifc4x3_rc4::IfcMonetaryUnit* Ifc4x3_rc4::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcMonetaryUnit>(); } +::Ifc4x3_rc4::IfcMonetaryUnit* Ifc4x3_rc4::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcMonetaryUnit>(true); } void Ifc4x3_rc4::IfcCurrencyRelationship::setRelatingMonetaryUnit(::Ifc4x3_rc4::IfcMonetaryUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc4::IfcMonetaryUnit* Ifc4x3_rc4::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcMonetaryUnit>(); } +::Ifc4x3_rc4::IfcMonetaryUnit* Ifc4x3_rc4::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcMonetaryUnit>(true); } void Ifc4x3_rc4::IfcCurrencyRelationship::setRelatedMonetaryUnit(::Ifc4x3_rc4::IfcMonetaryUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } double Ifc4x3_rc4::IfcCurrencyRelationship::ExchangeRate() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcCurrencyRelationship::setExchangeRate(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcCurrencyRelationship::RateDateTime() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x3_rc4::IfcCurrencyRelationship::setRateDateTime(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4x3_rc4::IfcLibraryInformation* Ifc4x3_rc4::IfcCurrencyRelationship::RateSource() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcLibraryInformation>(); } +::Ifc4x3_rc4::IfcLibraryInformation* Ifc4x3_rc4::IfcCurrencyRelationship::RateSource() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcLibraryInformation>(true); } void Ifc4x3_rc4::IfcCurrencyRelationship::setRateSource(::Ifc4x3_rc4::IfcLibraryInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -15112,9 +15304,9 @@ Ifc4x3_rc4::IfcCurve::IfcCurve(IfcEntityInstanceData* e) : IfcGeometricRepresent Ifc4x3_rc4::IfcCurve::IfcCurve() : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCurve_type); } // Function implementations for IfcCurveBoundedPlane -::Ifc4x3_rc4::IfcPlane* Ifc4x3_rc4::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcPlane>(); } +::Ifc4x3_rc4::IfcPlane* Ifc4x3_rc4::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcPlane>(true); } void Ifc4x3_rc4::IfcCurveBoundedPlane::setBasisSurface(::Ifc4x3_rc4::IfcPlane* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcCurve>(); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcCurveBoundedPlane::setOuterBoundary(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr Ifc4x3_rc4::IfcCurveBoundedPlane::InnerBoundaries() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcCurve >(); } void Ifc4x3_rc4::IfcCurveBoundedPlane::setInnerBoundaries(aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } @@ -15126,7 +15318,7 @@ Ifc4x3_rc4::IfcCurveBoundedPlane::IfcCurveBoundedPlane(IfcEntityInstanceData* e) Ifc4x3_rc4::IfcCurveBoundedPlane::IfcCurveBoundedPlane(::Ifc4x3_rc4::IfcPlane* v1_BasisSurface, ::Ifc4x3_rc4::IfcCurve* v2_OuterBoundary, aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr v3_InnerBoundaries) : IfcBoundedSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCurveBoundedPlane_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisSurface));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OuterBoundary));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_InnerBoundaries)->generalize());data_->setArgument(2,attr);} } // Function implementations for IfcCurveBoundedSurface -::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcSurface>(); } +::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcSurface>(true); } void Ifc4x3_rc4::IfcCurveBoundedSurface::setBasisSurface(::Ifc4x3_rc4::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x3_rc4::IfcBoundaryCurve >::ptr Ifc4x3_rc4::IfcCurveBoundedSurface::Boundaries() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcBoundaryCurve >(); } void Ifc4x3_rc4::IfcCurveBoundedSurface::setBoundaries(aggregate_of< ::Ifc4x3_rc4::IfcBoundaryCurve >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -15140,13 +15332,13 @@ Ifc4x3_rc4::IfcCurveBoundedSurface::IfcCurveBoundedSurface(IfcEntityInstanceData Ifc4x3_rc4::IfcCurveBoundedSurface::IfcCurveBoundedSurface(::Ifc4x3_rc4::IfcSurface* v1_BasisSurface, aggregate_of< ::Ifc4x3_rc4::IfcBoundaryCurve >::ptr v2_Boundaries, bool v3_ImplicitOuter) : IfcBoundedSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCurveBoundedSurface_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisSurface));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Boundaries)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ImplicitOuter));data_->setArgument(2,attr);} } // Function implementations for IfcCurveSegment -::Ifc4x3_rc4::IfcPlacement* Ifc4x3_rc4::IfcCurveSegment::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcPlacement>(); } +::Ifc4x3_rc4::IfcPlacement* Ifc4x3_rc4::IfcCurveSegment::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcPlacement>(true); } void Ifc4x3_rc4::IfcCurveSegment::setPlacement(::Ifc4x3_rc4::IfcPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc4::IfcCurveMeasureSelect* Ifc4x3_rc4::IfcCurveSegment::SegmentStart() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcCurveMeasureSelect>(); } +::Ifc4x3_rc4::IfcCurveMeasureSelect* Ifc4x3_rc4::IfcCurveSegment::SegmentStart() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcCurveMeasureSelect>(true); } void Ifc4x3_rc4::IfcCurveSegment::setSegmentStart(::Ifc4x3_rc4::IfcCurveMeasureSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc4::IfcCurveMeasureSelect* Ifc4x3_rc4::IfcCurveSegment::SegmentLength() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcCurveMeasureSelect>(); } +::Ifc4x3_rc4::IfcCurveMeasureSelect* Ifc4x3_rc4::IfcCurveSegment::SegmentLength() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcCurveMeasureSelect>(true); } void Ifc4x3_rc4::IfcCurveSegment::setSegmentLength(::Ifc4x3_rc4::IfcCurveMeasureSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcCurve>(); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcCurveSegment::setParentCurve(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -15156,11 +15348,11 @@ Ifc4x3_rc4::IfcCurveSegment::IfcCurveSegment(IfcEntityInstanceData* e) : IfcSegm Ifc4x3_rc4::IfcCurveSegment::IfcCurveSegment(::Ifc4x3_rc4::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_rc4::IfcPlacement* v2_Placement, ::Ifc4x3_rc4::IfcCurveMeasureSelect* v3_SegmentStart, ::Ifc4x3_rc4::IfcCurveMeasureSelect* v4_SegmentLength, ::Ifc4x3_rc4::IfcCurve* v5_ParentCurve) : IfcSegment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcCurveSegment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_Transition,::Ifc4x3_rc4::IfcTransitionCode::ToString(v1_Transition))));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Placement));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SegmentStart));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_SegmentLength));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ParentCurve));data_->setArgument(4,attr);} } // Function implementations for IfcCurveStyle -::Ifc4x3_rc4::IfcCurveFontOrScaledCurveFontSelect* Ifc4x3_rc4::IfcCurveStyle::CurveFont() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcCurveFontOrScaledCurveFontSelect>(); } +::Ifc4x3_rc4::IfcCurveFontOrScaledCurveFontSelect* Ifc4x3_rc4::IfcCurveStyle::CurveFont() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcCurveFontOrScaledCurveFontSelect>(true); } void Ifc4x3_rc4::IfcCurveStyle::setCurveFont(::Ifc4x3_rc4::IfcCurveFontOrScaledCurveFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcCurveStyle::CurveWidth() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcSizeSelect>(); } +::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcCurveStyle::CurveWidth() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcSizeSelect>(true); } void Ifc4x3_rc4::IfcCurveStyle::setCurveWidth(::Ifc4x3_rc4::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc4::IfcColour* Ifc4x3_rc4::IfcCurveStyle::CurveColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcColour>(); } +::Ifc4x3_rc4::IfcColour* Ifc4x3_rc4::IfcCurveStyle::CurveColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcColour>(true); } void Ifc4x3_rc4::IfcCurveStyle::setCurveColour(::Ifc4x3_rc4::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< bool > Ifc4x3_rc4::IfcCurveStyle::ModelOrDraughting() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } bool v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcCurveStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -15186,7 +15378,7 @@ Ifc4x3_rc4::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > // Function implementations for IfcCurveStyleFontAndScaling boost::optional< std::string > Ifc4x3_rc4::IfcCurveStyleFontAndScaling::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } -::Ifc4x3_rc4::IfcCurveStyleFontSelect* Ifc4x3_rc4::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcCurveStyleFontSelect>(); } +::Ifc4x3_rc4::IfcCurveStyleFontSelect* Ifc4x3_rc4::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcCurveStyleFontSelect>(true); } void Ifc4x3_rc4::IfcCurveStyleFontAndScaling::setCurveFont(::Ifc4x3_rc4::IfcCurveStyleFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } double Ifc4x3_rc4::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcCurveStyleFontAndScaling::setCurveFontScaling(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -15256,9 +15448,9 @@ Ifc4x3_rc4::IfcDeepFoundationType::IfcDeepFoundationType(IfcEntityInstanceData* Ifc4x3_rc4::IfcDeepFoundationType::IfcDeepFoundationType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDeepFoundationType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcDerivedProfileDef -::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcProfileDef>(); } +::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcProfileDef>(true); } void Ifc4x3_rc4::IfcDerivedProfileDef::setParentProfile(::Ifc4x3_rc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc4::IfcCartesianTransformationOperator2D* Ifc4x3_rc4::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcCartesianTransformationOperator2D>(); } +::Ifc4x3_rc4::IfcCartesianTransformationOperator2D* Ifc4x3_rc4::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcCartesianTransformationOperator2D>(true); } void Ifc4x3_rc4::IfcDerivedProfileDef::setOperator(::Ifc4x3_rc4::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcDerivedProfileDef::Label() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -15284,7 +15476,7 @@ Ifc4x3_rc4::IfcDerivedUnit::IfcDerivedUnit(IfcEntityInstanceData* e) : IfcUtil:: Ifc4x3_rc4::IfcDerivedUnit::IfcDerivedUnit(aggregate_of< ::Ifc4x3_rc4::IfcDerivedUnitElement >::ptr v1_Elements, ::Ifc4x3_rc4::IfcDerivedUnitEnum::Value v2_UnitType, boost::optional< std::string > v3_UserDefinedType) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDerivedUnit_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Elements)->generalize());data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_UnitType,::Ifc4x3_rc4::IfcDerivedUnitEnum::ToString(v2_UnitType))));data_->setArgument(1,attr);} if (v3_UserDefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UserDefinedType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcDerivedUnitElement -::Ifc4x3_rc4::IfcNamedUnit* Ifc4x3_rc4::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcNamedUnit>(); } +::Ifc4x3_rc4::IfcNamedUnit* Ifc4x3_rc4::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcNamedUnit>(true); } void Ifc4x3_rc4::IfcDerivedUnitElement::setUnit(::Ifc4x3_rc4::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } int Ifc4x3_rc4::IfcDerivedUnitElement::Exponent() const { int v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcDerivedUnitElement::setExponent(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15328,11 +15520,11 @@ Ifc4x3_rc4::IfcDirection::IfcDirection(IfcEntityInstanceData* e) : IfcGeometricR Ifc4x3_rc4::IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionRatios) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDirection_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_DirectionRatios));data_->setArgument(0,attr);} } // Function implementations for IfcDirectrixCurveSweptAreaSolid -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcCurve>(); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::setDirectrix(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc4::IfcCurveMeasureSelect* Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::StartParam() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcCurveMeasureSelect>(); } +::Ifc4x3_rc4::IfcCurveMeasureSelect* Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::StartParam() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcCurveMeasureSelect>(true); } void Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::setStartParam(::Ifc4x3_rc4::IfcCurveMeasureSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc4::IfcCurveMeasureSelect* Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::EndParam() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcCurveMeasureSelect>(); } +::Ifc4x3_rc4::IfcCurveMeasureSelect* Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::EndParam() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcCurveMeasureSelect>(true); } void Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::setEndParam(::Ifc4x3_rc4::IfcCurveMeasureSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -15511,7 +15703,7 @@ boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::Scope() const void Ifc4x3_rc4::IfcDocumentInformation::setScope(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::Revision() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } std::string v = *data_->getArgument(7); return v; } void Ifc4x3_rc4::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } -::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcActorSelect>(); } +::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcDocumentInformation::DocumentOwner() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } void Ifc4x3_rc4::IfcDocumentInformation::setDocumentOwner(::Ifc4x3_rc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc4::IfcDocumentInformation::Editors() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(9); return v; } void Ifc4x3_rc4::IfcDocumentInformation::setEditors(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } @@ -15541,7 +15733,7 @@ Ifc4x3_rc4::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData Ifc4x3_rc4::IfcDocumentInformation::IfcDocumentInformation(std::string v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_Location, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, ::Ifc4x3_rc4::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of_instance::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< ::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc4::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcDocumentInformation_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Identification));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Location));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Purpose));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_IntendedUse) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_IntendedUse));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Scope) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Scope));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Revision) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Revision));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_DocumentOwner));data_->setArgument(8,attr);} if (v10_Editors) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Editors));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_CreationTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_CreationTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_LastRevisionTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_LastRevisionTime));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ElectronicFormat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ElectronicFormat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ValidFrom) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ValidFrom));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ValidUntil) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ValidUntil));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_Confidentiality) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v16_Confidentiality,::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality))));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_Status) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v17_Status,::Ifc4x3_rc4::IfcDocumentStatusEnum::ToString(*v17_Status))));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } } // Function implementations for IfcDocumentInformationRelationship -::Ifc4x3_rc4::IfcDocumentInformation* Ifc4x3_rc4::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcDocumentInformation>(); } +::Ifc4x3_rc4::IfcDocumentInformation* Ifc4x3_rc4::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcDocumentInformation>(true); } void Ifc4x3_rc4::IfcDocumentInformationRelationship::setRelatingDocument(::Ifc4x3_rc4::IfcDocumentInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4x3_rc4::IfcDocumentInformation >::ptr Ifc4x3_rc4::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc4::IfcDocumentInformation >(); } void Ifc4x3_rc4::IfcDocumentInformationRelationship::setRelatedDocuments(aggregate_of< ::Ifc4x3_rc4::IfcDocumentInformation >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -15557,7 +15749,7 @@ Ifc4x3_rc4::IfcDocumentInformationRelationship::IfcDocumentInformationRelationsh // Function implementations for IfcDocumentReference boost::optional< std::string > Ifc4x3_rc4::IfcDocumentReference::Description() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcDocumentReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } -::Ifc4x3_rc4::IfcDocumentInformation* Ifc4x3_rc4::IfcDocumentReference::ReferencedDocument() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcDocumentInformation>(); } +::Ifc4x3_rc4::IfcDocumentInformation* Ifc4x3_rc4::IfcDocumentReference::ReferencedDocument() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcDocumentInformation>(true); } void Ifc4x3_rc4::IfcDocumentReference::setReferencedDocument(::Ifc4x3_rc4::IfcDocumentInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4x3_rc4::IfcRelAssociatesDocument::list::ptr Ifc4x3_rc4::IfcDocumentReference::DocumentRefForObjects() const { return data_->getInverse(IFC4X3_RC4_IfcRelAssociatesDocument_type, 5)->as(); } @@ -15606,7 +15798,7 @@ boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::CasingThickness() void Ifc4x3_rc4::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::CasingDepth() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } void Ifc4x3_rc4::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } -::Ifc4x3_rc4::IfcShapeAspect* Ifc4x3_rc4::IfcDoorLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(14)))->as<::Ifc4x3_rc4::IfcShapeAspect>(); } +::Ifc4x3_rc4::IfcShapeAspect* Ifc4x3_rc4::IfcDoorLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(14) || data_->getArgument(14)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(14)))->as<::Ifc4x3_rc4::IfcShapeAspect>(true); } void Ifc4x3_rc4::IfcDoorLiningProperties::setShapeAspectStyle(::Ifc4x3_rc4::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(14,attr);} } boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(!data_->getArgument(15) || data_->getArgument(15)->isNull()) { return boost::none; } double v = *data_->getArgument(15); return v; } void Ifc4x3_rc4::IfcDoorLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(15,attr);} } @@ -15628,7 +15820,7 @@ boost::optional< double > Ifc4x3_rc4::IfcDoorPanelProperties::PanelWidth() const void Ifc4x3_rc4::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } ::Ifc4x3_rc4::IfcDoorPanelPositionEnum::Value Ifc4x3_rc4::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x3_rc4::IfcDoorPanelPositionEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc4::IfcDoorPanelProperties::setPanelPosition(::Ifc4x3_rc4::IfcDoorPanelPositionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDoorPanelPositionEnum::ToString(v)));data_->setArgument(7,attr);} } -::Ifc4x3_rc4::IfcShapeAspect* Ifc4x3_rc4::IfcDoorPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcShapeAspect>(); } +::Ifc4x3_rc4::IfcShapeAspect* Ifc4x3_rc4::IfcDoorPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcShapeAspect>(true); } void Ifc4x3_rc4::IfcDoorPanelProperties::setShapeAspectStyle(::Ifc4x3_rc4::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -15782,9 +15974,9 @@ Ifc4x3_rc4::IfcEarthworksFill::IfcEarthworksFill(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc4::IfcEarthworksFill::IfcEarthworksFill(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType) : IfcEarthworksElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEarthworksFill_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcEdge -::Ifc4x3_rc4::IfcVertex* Ifc4x3_rc4::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcVertex>(); } +::Ifc4x3_rc4::IfcVertex* Ifc4x3_rc4::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcVertex>(true); } void Ifc4x3_rc4::IfcEdge::setEdgeStart(::Ifc4x3_rc4::IfcVertex* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc4::IfcVertex* Ifc4x3_rc4::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcVertex>(); } +::Ifc4x3_rc4::IfcVertex* Ifc4x3_rc4::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcVertex>(true); } void Ifc4x3_rc4::IfcEdge::setEdgeEnd(::Ifc4x3_rc4::IfcVertex* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -15794,7 +15986,7 @@ Ifc4x3_rc4::IfcEdge::IfcEdge(IfcEntityInstanceData* e) : IfcTopologicalRepresent Ifc4x3_rc4::IfcEdge::IfcEdge(::Ifc4x3_rc4::IfcVertex* v1_EdgeStart, ::Ifc4x3_rc4::IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcEdge_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_EdgeStart));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_EdgeEnd));data_->setArgument(1,attr);} } // Function implementations for IfcEdgeCurve -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcCurve>(); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcEdgeCurve::setEdgeGeometry(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } bool Ifc4x3_rc4::IfcEdgeCurve::SameSense() const { bool v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcEdgeCurve::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16038,7 +16230,7 @@ Ifc4x3_rc4::IfcElementType::IfcElementType(IfcEntityInstanceData* e) : IfcTypePr Ifc4x3_rc4::IfcElementType::IfcElementType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcElementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcElementarySurface -::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(); } +::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(true); } void Ifc4x3_rc4::IfcElementarySurface::setPosition(::Ifc4x3_rc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -16154,7 +16346,7 @@ boost::optional< ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value > Ifc4x3_rc4::IfcE void Ifc4x3_rc4::IfcEvent::setEventTriggerType(boost::optional< ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcEventTriggerTypeEnum::ToString(*v)));data_->setArgument(8,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcEvent::UserDefinedEventTriggerType() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return boost::none; } std::string v = *data_->getArgument(9); return v; } void Ifc4x3_rc4::IfcEvent::setUserDefinedEventTriggerType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(9,attr);} } -::Ifc4x3_rc4::IfcEventTime* Ifc4x3_rc4::IfcEvent::EventOccurenceTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc4::IfcEventTime>(); } +::Ifc4x3_rc4::IfcEventTime* Ifc4x3_rc4::IfcEvent::EventOccurenceTime() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc4::IfcEventTime>(true); } void Ifc4x3_rc4::IfcEvent::setEventOccurenceTime(::Ifc4x3_rc4::IfcEventTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -16231,7 +16423,7 @@ Ifc4x3_rc4::IfcExternalReference::IfcExternalReference(IfcEntityInstanceData* e) Ifc4x3_rc4::IfcExternalReference::IfcExternalReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcExternalReference_type); if (v1_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Location));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Identification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcExternalReferenceRelationship -::Ifc4x3_rc4::IfcExternalReference* Ifc4x3_rc4::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcExternalReference>(); } +::Ifc4x3_rc4::IfcExternalReference* Ifc4x3_rc4::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcExternalReference>(true); } void Ifc4x3_rc4::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x3_rc4::IfcExternalReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of_instance::ptr Ifc4x3_rc4::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16286,7 +16478,7 @@ Ifc4x3_rc4::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(IfcEntity Ifc4x3_rc4::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcExternallyDefinedTextFont_type); if (v1_Location) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Location));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Identification));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcExtrudedAreaSolid -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcDirection>(); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcExtrudedAreaSolid::setExtrudedDirection(::Ifc4x3_rc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc4x3_rc4::IfcExtrudedAreaSolid::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcExtrudedAreaSolid::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16298,7 +16490,7 @@ Ifc4x3_rc4::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcEntityInstanceData* e) Ifc4x3_rc4::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(::Ifc4x3_rc4::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc4::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcExtrudedAreaSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ExtrudedDirection));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);} } // Function implementations for IfcExtrudedAreaSolidTapered -::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcProfileDef>(); } +::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcProfileDef>(true); } void Ifc4x3_rc4::IfcExtrudedAreaSolidTapered::setEndSweptArea(::Ifc4x3_rc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -16329,7 +16521,7 @@ Ifc4x3_rc4::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(IfcEntityInstance Ifc4x3_rc4::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(aggregate_of< ::Ifc4x3_rc4::IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFaceBasedSurfaceModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_FbsmFaces)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcFaceBound -::Ifc4x3_rc4::IfcLoop* Ifc4x3_rc4::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcLoop>(); } +::Ifc4x3_rc4::IfcLoop* Ifc4x3_rc4::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcLoop>(true); } void Ifc4x3_rc4::IfcFaceBound::setBound(::Ifc4x3_rc4::IfcLoop* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } bool Ifc4x3_rc4::IfcFaceBound::Orientation() const { bool v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcFaceBound::setOrientation(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -16349,7 +16541,7 @@ Ifc4x3_rc4::IfcFaceOuterBound::IfcFaceOuterBound(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc4::IfcFaceOuterBound::IfcFaceOuterBound(::Ifc4x3_rc4::IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFaceOuterBound_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Bound));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Orientation));data_->setArgument(1,attr);} } // Function implementations for IfcFaceSurface -::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcSurface>(); } +::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcSurface>(true); } void Ifc4x3_rc4::IfcFaceSurface::setFaceSurface(::Ifc4x3_rc4::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } bool Ifc4x3_rc4::IfcFaceSurface::SameSense() const { bool v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcFaceSurface::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -16387,7 +16579,7 @@ Ifc4x3_rc4::IfcFacility::IfcFacility(IfcEntityInstanceData* e) : IfcSpatialStruc Ifc4x3_rc4::IfcFacility::IfcFacility(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialStructureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFacility_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_LongName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongName));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_CompositionType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_CompositionType,::Ifc4x3_rc4::IfcElementCompositionEnum::ToString(*v9_CompositionType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcFacilityPart -::Ifc4x3_rc4::IfcFacilityPartTypeSelect* Ifc4x3_rc4::IfcFacilityPart::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc4::IfcFacilityPartTypeSelect>(); } +::Ifc4x3_rc4::IfcFacilityPartTypeSelect* Ifc4x3_rc4::IfcFacilityPart::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc4::IfcFacilityPartTypeSelect>(true); } void Ifc4x3_rc4::IfcFacilityPart::setPredefinedType(::Ifc4x3_rc4::IfcFacilityPartTypeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } ::Ifc4x3_rc4::IfcFacilityUsageEnum::Value Ifc4x3_rc4::IfcFacilityPart::UsageType() const { return ::Ifc4x3_rc4::IfcFacilityUsageEnum::FromString(*data_->getArgument(10)); } void Ifc4x3_rc4::IfcFacilityPart::setUsageType(::Ifc4x3_rc4::IfcFacilityUsageEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcFacilityUsageEnum::ToString(v)));data_->setArgument(10,attr);} } @@ -16497,13 +16689,13 @@ Ifc4x3_rc4::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData* e) : IfcPr Ifc4x3_rc4::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of_instance::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFillAreaStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FillStyles));data_->setArgument(1,attr);} if (v3_ModelOrDraughting) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ModelOrDraughting));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcFillAreaStyleHatching -::Ifc4x3_rc4::IfcCurveStyle* Ifc4x3_rc4::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCurveStyle>(); } +::Ifc4x3_rc4::IfcCurveStyle* Ifc4x3_rc4::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCurveStyle>(true); } void Ifc4x3_rc4::IfcFillAreaStyleHatching::setHatchLineAppearance(::Ifc4x3_rc4::IfcCurveStyle* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc4::IfcHatchLineDistanceSelect* Ifc4x3_rc4::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcHatchLineDistanceSelect>(); } +::Ifc4x3_rc4::IfcHatchLineDistanceSelect* Ifc4x3_rc4::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcHatchLineDistanceSelect>(true); } void Ifc4x3_rc4::IfcFillAreaStyleHatching::setStartOfNextHatchLine(::Ifc4x3_rc4::IfcHatchLineDistanceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcCartesianPoint>(); } +::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcCartesianPoint>(true); } void Ifc4x3_rc4::IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(::Ifc4x3_rc4::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcFillAreaStyleHatching::PatternStart() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcCartesianPoint>(); } +::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcFillAreaStyleHatching::PatternStart() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcCartesianPoint>(true); } void Ifc4x3_rc4::IfcFillAreaStyleHatching::setPatternStart(::Ifc4x3_rc4::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } double Ifc4x3_rc4::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcFillAreaStyleHatching::setHatchLineAngle(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -16569,7 +16761,7 @@ Ifc4x3_rc4::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(IfcEn Ifc4x3_rc4::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcFireSuppressionTerminalType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcFixedReferenceSweptAreaSolid -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcDirection>(); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcFixedReferenceSweptAreaSolid::setFixedReference(::Ifc4x3_rc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -16821,9 +17013,9 @@ int Ifc4x3_rc4::IfcGeometricRepresentationContext::CoordinateSpaceDimension() co void Ifc4x3_rc4::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc4::IfcGeometricRepresentationContext::Precision() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } -::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcAxis2Placement>(); } +::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcAxis2Placement>(true); } void Ifc4x3_rc4::IfcGeometricRepresentationContext::setWorldCoordinateSystem(::Ifc4x3_rc4::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcGeometricRepresentationContext::TrueNorth() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcDirection>(); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcGeometricRepresentationContext::TrueNorth() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcGeometricRepresentationContext::setTrueNorth(::Ifc4x3_rc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4x3_rc4::IfcGeometricRepresentationSubContext::list::ptr Ifc4x3_rc4::IfcGeometricRepresentationContext::HasSubContexts() const { return data_->getInverse(IFC4X3_RC4_IfcGeometricRepresentationSubContext_type, 6)->as(); } @@ -16843,7 +17035,7 @@ Ifc4x3_rc4::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem(IfcEn Ifc4x3_rc4::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcGeometricRepresentationItem_type); } // Function implementations for IfcGeometricRepresentationSubContext -::Ifc4x3_rc4::IfcGeometricRepresentationContext* Ifc4x3_rc4::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcGeometricRepresentationContext>(); } +::Ifc4x3_rc4::IfcGeometricRepresentationContext* Ifc4x3_rc4::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcGeometricRepresentationContext>(true); } void Ifc4x3_rc4::IfcGeometricRepresentationSubContext::setParentContext(::Ifc4x3_rc4::IfcGeometricRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc4::IfcGeometricRepresentationSubContext::TargetScale() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4x3_rc4::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } @@ -16909,9 +17101,9 @@ Ifc4x3_rc4::IfcGeotechnicalStratum::IfcGeotechnicalStratum(IfcEntityInstanceData Ifc4x3_rc4::IfcGeotechnicalStratum::IfcGeotechnicalStratum(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcGeotechnicalStratum_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcGradientCurve -::Ifc4x3_rc4::IfcBoundedCurve* Ifc4x3_rc4::IfcGradientCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcBoundedCurve>(); } +::Ifc4x3_rc4::IfcBoundedCurve* Ifc4x3_rc4::IfcGradientCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcBoundedCurve>(true); } void Ifc4x3_rc4::IfcGradientCurve::setBaseCurve(::Ifc4x3_rc4::IfcBoundedCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc4::IfcPlacement* Ifc4x3_rc4::IfcGradientCurve::EndPoint() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcPlacement>(); } +::Ifc4x3_rc4::IfcPlacement* Ifc4x3_rc4::IfcGradientCurve::EndPoint() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcPlacement>(true); } void Ifc4x3_rc4::IfcGradientCurve::setEndPoint(::Ifc4x3_rc4::IfcPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -16939,7 +17131,7 @@ Ifc4x3_rc4::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHist // Function implementations for IfcGridAxis boost::optional< std::string > Ifc4x3_rc4::IfcGridAxis::AxisTag() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcCurve>(); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcGridAxis::setAxisCurve(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } bool Ifc4x3_rc4::IfcGridAxis::SameSense() const { bool v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcGridAxis::setSameSense(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -16955,9 +17147,9 @@ Ifc4x3_rc4::IfcGridAxis::IfcGridAxis(IfcEntityInstanceData* e) : IfcUtil::IfcBas Ifc4x3_rc4::IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, ::Ifc4x3_rc4::IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcGridAxis_type); if (v1_AxisTag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_AxisTag));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_AxisCurve));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_SameSense));data_->setArgument(2,attr);} } // Function implementations for IfcGridPlacement -::Ifc4x3_rc4::IfcVirtualGridIntersection* Ifc4x3_rc4::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcVirtualGridIntersection>(); } +::Ifc4x3_rc4::IfcVirtualGridIntersection* Ifc4x3_rc4::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcVirtualGridIntersection>(true); } void Ifc4x3_rc4::IfcGridPlacement::setPlacementLocation(::Ifc4x3_rc4::IfcVirtualGridIntersection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc4::IfcGridPlacementDirectionSelect* Ifc4x3_rc4::IfcGridPlacement::PlacementRefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcGridPlacementDirectionSelect>(); } +::Ifc4x3_rc4::IfcGridPlacementDirectionSelect* Ifc4x3_rc4::IfcGridPlacement::PlacementRefDirection() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcGridPlacementDirectionSelect>(true); } void Ifc4x3_rc4::IfcGridPlacement::setPlacementRefDirection(::Ifc4x3_rc4::IfcGridPlacementDirectionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -16976,7 +17168,7 @@ Ifc4x3_rc4::IfcGroup::IfcGroup(IfcEntityInstanceData* e) : IfcObject((IfcEntityI Ifc4x3_rc4::IfcGroup::IfcGroup(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcGroup_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcHalfSpaceSolid -::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcSurface>(); } +::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcSurface>(true); } void Ifc4x3_rc4::IfcHalfSpaceSolid::setBaseSurface(::Ifc4x3_rc4::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } bool Ifc4x3_rc4::IfcHalfSpaceSolid::AgreementFlag() const { bool v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcHalfSpaceSolid::setAgreementFlag(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17060,7 +17252,7 @@ Ifc4x3_rc4::IfcImageTexture::IfcImageTexture(IfcEntityInstanceData* e) : IfcSurf Ifc4x3_rc4::IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc4::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) : IfcSurfaceTexture((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcImageTexture_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_RepeatS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RepeatT));data_->setArgument(1,attr);} if (v3_Mode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Mode));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TextureTransform));data_->setArgument(3,attr);} if (v5_Parameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Parameter));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_URLReference));data_->setArgument(5,attr);} } // Function implementations for IfcImpactProtectionDevice -::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc4::IfcImpactProtectionDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect>(); } +::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc4::IfcImpactProtectionDevice::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect>(true); } void Ifc4x3_rc4::IfcImpactProtectionDevice::setPredefinedType(::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -17070,7 +17262,7 @@ Ifc4x3_rc4::IfcImpactProtectionDevice::IfcImpactProtectionDevice(IfcEntityInstan Ifc4x3_rc4::IfcImpactProtectionDevice::IfcImpactProtectionDevice(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect* v9_PredefinedType) : IfcElementComponent((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcImpactProtectionDevice_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_PredefinedType));data_->setArgument(8,attr);} } // Function implementations for IfcImpactProtectionDeviceType -::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc4::IfcImpactProtectionDeviceType::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect>(); } +::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc4::IfcImpactProtectionDeviceType::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect>(true); } void Ifc4x3_rc4::IfcImpactProtectionDeviceType::setPredefinedType(::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -17080,11 +17272,11 @@ Ifc4x3_rc4::IfcImpactProtectionDeviceType::IfcImpactProtectionDeviceType(IfcEnti Ifc4x3_rc4::IfcImpactProtectionDeviceType::IfcImpactProtectionDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect* v10_PredefinedType) : IfcElementComponentType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcImpactProtectionDeviceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_PredefinedType));data_->setArgument(9,attr);} } // Function implementations for IfcIndexedColourMap -::Ifc4x3_rc4::IfcTessellatedFaceSet* Ifc4x3_rc4::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcTessellatedFaceSet>(); } +::Ifc4x3_rc4::IfcTessellatedFaceSet* Ifc4x3_rc4::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcTessellatedFaceSet>(true); } void Ifc4x3_rc4::IfcIndexedColourMap::setMappedTo(::Ifc4x3_rc4::IfcTessellatedFaceSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4x3_rc4::IfcIndexedColourMap::Opacity() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcIndexedColourMap::setOpacity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4x3_rc4::IfcColourRgbList* Ifc4x3_rc4::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcColourRgbList>(); } +::Ifc4x3_rc4::IfcColourRgbList* Ifc4x3_rc4::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcColourRgbList>(true); } void Ifc4x3_rc4::IfcIndexedColourMap::setColours(::Ifc4x3_rc4::IfcColourRgbList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } std::vector< int > /*[1:?]*/ Ifc4x3_rc4::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcIndexedColourMap::setColourIndex(std::vector< int > /*[1:?]*/ v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17096,7 +17288,7 @@ Ifc4x3_rc4::IfcIndexedColourMap::IfcIndexedColourMap(IfcEntityInstanceData* e) : Ifc4x3_rc4::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3_rc4::IfcTessellatedFaceSet* v1_MappedTo, boost::optional< double > v2_Opacity, ::Ifc4x3_rc4::IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcIndexedColourMap_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MappedTo));data_->setArgument(0,attr);} if (v2_Opacity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Opacity));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Colours));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ColourIndex));data_->setArgument(3,attr);} } // Function implementations for IfcIndexedPolyCurve -::Ifc4x3_rc4::IfcCartesianPointList* Ifc4x3_rc4::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCartesianPointList>(); } +::Ifc4x3_rc4::IfcCartesianPointList* Ifc4x3_rc4::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCartesianPointList>(true); } void Ifc4x3_rc4::IfcIndexedPolyCurve::setPoints(::Ifc4x3_rc4::IfcCartesianPointList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc4::IfcIndexedPolyCurve::Segments() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } @@ -17131,9 +17323,9 @@ Ifc4x3_rc4::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(I Ifc4x3_rc4::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) : IfcIndexedPolygonalFace((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcIndexedPolygonalFaceWithVoids_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_CoordIndex));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_InnerCoordIndices));data_->setArgument(1,attr);} } // Function implementations for IfcIndexedTextureMap -::Ifc4x3_rc4::IfcTessellatedFaceSet* Ifc4x3_rc4::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcTessellatedFaceSet>(); } +::Ifc4x3_rc4::IfcTessellatedFaceSet* Ifc4x3_rc4::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcTessellatedFaceSet>(true); } void Ifc4x3_rc4::IfcIndexedTextureMap::setMappedTo(::Ifc4x3_rc4::IfcTessellatedFaceSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc4::IfcTextureVertexList* Ifc4x3_rc4::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcTextureVertexList>(); } +::Ifc4x3_rc4::IfcTextureVertexList* Ifc4x3_rc4::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcTextureVertexList>(true); } void Ifc4x3_rc4::IfcIndexedTextureMap::setTexCoords(::Ifc4x3_rc4::IfcTextureVertexList* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -17183,15 +17375,15 @@ Ifc4x3_rc4::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4x3_rc4::IfcCurve* v // Function implementations for IfcInventory boost::optional< ::Ifc4x3_rc4::IfcInventoryTypeEnum::Value > Ifc4x3_rc4::IfcInventory::PredefinedType() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcInventoryTypeEnum::FromString(*data_->getArgument(5)); } void Ifc4x3_rc4::IfcInventory::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcInventoryTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcInventoryTypeEnum::ToString(*v)));data_->setArgument(5,attr);} } -::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcInventory::Jurisdiction() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcActorSelect>(); } +::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcInventory::Jurisdiction() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } void Ifc4x3_rc4::IfcInventory::setJurisdiction(::Ifc4x3_rc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPerson >::ptr > Ifc4x3_rc4::IfcInventory::ResponsiblePersons() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc4::IfcPerson >(); } void Ifc4x3_rc4::IfcInventory::setResponsiblePersons(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPerson >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcInventory::LastUpdateDate() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc4x3_rc4::IfcInventory::setLastUpdateDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } -::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcInventory::CurrentValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc4::IfcCostValue>(); } +::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcInventory::CurrentValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc4::IfcCostValue>(true); } void Ifc4x3_rc4::IfcInventory::setCurrentValue(::Ifc4x3_rc4::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcInventory::OriginalValue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc4::IfcCostValue>(); } +::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcInventory::OriginalValue() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc4::IfcCostValue>(true); } void Ifc4x3_rc4::IfcInventory::setOriginalValue(::Ifc4x3_rc4::IfcCostValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -17303,7 +17495,7 @@ Ifc4x3_rc4::IfcLaborResourceType::IfcLaborResourceType(IfcEntityInstanceData* e) Ifc4x3_rc4::IfcLaborResourceType::IfcLaborResourceType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLaborResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4x3_rc4::IfcLaborResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcLagTime -::Ifc4x3_rc4::IfcTimeOrRatioSelect* Ifc4x3_rc4::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcTimeOrRatioSelect>(); } +::Ifc4x3_rc4::IfcTimeOrRatioSelect* Ifc4x3_rc4::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcTimeOrRatioSelect>(true); } void Ifc4x3_rc4::IfcLagTime::setLagValue(::Ifc4x3_rc4::IfcTimeOrRatioSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } ::Ifc4x3_rc4::IfcTaskDurationEnum::Value Ifc4x3_rc4::IfcLagTime::DurationType() const { return ::Ifc4x3_rc4::IfcTaskDurationEnum::FromString(*data_->getArgument(4)); } void Ifc4x3_rc4::IfcLagTime::setDurationType(::Ifc4x3_rc4::IfcTaskDurationEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcTaskDurationEnum::ToString(v)));data_->setArgument(4,attr);} } @@ -17339,7 +17531,7 @@ std::string Ifc4x3_rc4::IfcLibraryInformation::Name() const { std::string v = * void Ifc4x3_rc4::IfcLibraryInformation::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcLibraryInformation::Version() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcLibraryInformation::Publisher() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcActorSelect>(); } +::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcLibraryInformation::Publisher() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } void Ifc4x3_rc4::IfcLibraryInformation::setPublisher(::Ifc4x3_rc4::IfcActorSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcLibraryInformation::VersionDate() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::string v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcLibraryInformation::setVersionDate(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } @@ -17361,7 +17553,7 @@ boost::optional< std::string > Ifc4x3_rc4::IfcLibraryReference::Description() co void Ifc4x3_rc4::IfcLibraryReference::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcLibraryReference::Language() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcLibraryReference::setLanguage(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc4x3_rc4::IfcLibraryInformation* Ifc4x3_rc4::IfcLibraryReference::ReferencedLibrary() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcLibraryInformation>(); } +::Ifc4x3_rc4::IfcLibraryInformation* Ifc4x3_rc4::IfcLibraryReference::ReferencedLibrary() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcLibraryInformation>(true); } void Ifc4x3_rc4::IfcLibraryReference::setReferencedLibrary(::Ifc4x3_rc4::IfcLibraryInformation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } ::Ifc4x3_rc4::IfcRelAssociatesLibrary::list::ptr Ifc4x3_rc4::IfcLibraryReference::LibraryRefForObjects() const { return data_->getInverse(IFC4X3_RC4_IfcRelAssociatesLibrary_type, 5)->as(); } @@ -17420,7 +17612,7 @@ Ifc4x3_rc4::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4x // Function implementations for IfcLightSource boost::optional< std::string > Ifc4x3_rc4::IfcLightSource::Name() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return boost::none; } std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcLightSource::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } -::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcColourRgb>(); } +::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcColourRgb>(true); } void Ifc4x3_rc4::IfcLightSource::setLightColour(::Ifc4x3_rc4::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< double > Ifc4x3_rc4::IfcLightSource::AmbientIntensity() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } double v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } @@ -17442,7 +17634,7 @@ Ifc4x3_rc4::IfcLightSourceAmbient::IfcLightSourceAmbient(IfcEntityInstanceData* Ifc4x3_rc4::IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcLightSource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLightSourceAmbient_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcLightSourceDirectional -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcDirection>(); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcLightSourceDirectional::setOrientation(::Ifc4x3_rc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -17452,9 +17644,9 @@ Ifc4x3_rc4::IfcLightSourceDirectional::IfcLightSourceDirectional(IfcEntityInstan Ifc4x3_rc4::IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc4::IfcDirection* v5_Orientation) : IfcLightSource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLightSourceDirectional_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Orientation));data_->setArgument(4,attr);} } // Function implementations for IfcLightSourceGoniometric -::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(); } +::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(true); } void Ifc4x3_rc4::IfcLightSourceGoniometric::setPosition(::Ifc4x3_rc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcLightSourceGoniometric::ColourAppearance() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcColourRgb>(); } +::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcLightSourceGoniometric::ColourAppearance() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcColourRgb>(true); } void Ifc4x3_rc4::IfcLightSourceGoniometric::setColourAppearance(::Ifc4x3_rc4::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } double Ifc4x3_rc4::IfcLightSourceGoniometric::ColourTemperature() const { double v = *data_->getArgument(6); return v; } void Ifc4x3_rc4::IfcLightSourceGoniometric::setColourTemperature(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -17462,7 +17654,7 @@ double Ifc4x3_rc4::IfcLightSourceGoniometric::LuminousFlux() const { double v = void Ifc4x3_rc4::IfcLightSourceGoniometric::setLuminousFlux(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x3_rc4::IfcLightEmissionSourceEnum::Value Ifc4x3_rc4::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4x3_rc4::IfcLightEmissionSourceEnum::FromString(*data_->getArgument(8)); } void Ifc4x3_rc4::IfcLightSourceGoniometric::setLightEmissionSource(::Ifc4x3_rc4::IfcLightEmissionSourceEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcLightEmissionSourceEnum::ToString(v)));data_->setArgument(8,attr);} } -::Ifc4x3_rc4::IfcLightDistributionDataSourceSelect* Ifc4x3_rc4::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc4::IfcLightDistributionDataSourceSelect>(); } +::Ifc4x3_rc4::IfcLightDistributionDataSourceSelect* Ifc4x3_rc4::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc4::IfcLightDistributionDataSourceSelect>(true); } void Ifc4x3_rc4::IfcLightSourceGoniometric::setLightDistributionDataSource(::Ifc4x3_rc4::IfcLightDistributionDataSourceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -17472,7 +17664,7 @@ Ifc4x3_rc4::IfcLightSourceGoniometric::IfcLightSourceGoniometric(IfcEntityInstan Ifc4x3_rc4::IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc4::IfcAxis2Placement3D* v5_Position, ::Ifc4x3_rc4::IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_rc4::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_rc4::IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLightSourceGoniometric_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Position));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ColourAppearance));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ColourTemperature));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_LuminousFlux));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_LightEmissionSource,::Ifc4x3_rc4::IfcLightEmissionSourceEnum::ToString(v9_LightEmissionSource))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_LightDistributionDataSource));data_->setArgument(9,attr);} } // Function implementations for IfcLightSourcePositional -::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcCartesianPoint>(); } +::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcCartesianPoint>(true); } void Ifc4x3_rc4::IfcLightSourcePositional::setPosition(::Ifc4x3_rc4::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } double Ifc4x3_rc4::IfcLightSourcePositional::Radius() const { double v = *data_->getArgument(5); return v; } void Ifc4x3_rc4::IfcLightSourcePositional::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -17490,7 +17682,7 @@ Ifc4x3_rc4::IfcLightSourcePositional::IfcLightSourcePositional(IfcEntityInstance Ifc4x3_rc4::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc4::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) : IfcLightSource((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLightSourcePositional_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Position));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Radius));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConstantAttenuation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_DistanceAttenuation));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_QuadricAttenuation));data_->setArgument(8,attr);} } // Function implementations for IfcLightSourceSpot -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc4::IfcDirection>(); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcLightSourceSpot::setOrientation(::Ifc4x3_rc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< double > Ifc4x3_rc4::IfcLightSourceSpot::ConcentrationExponent() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } double v = *data_->getArgument(10); return v; } void Ifc4x3_rc4::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } @@ -17506,9 +17698,9 @@ Ifc4x3_rc4::IfcLightSourceSpot::IfcLightSourceSpot(IfcEntityInstanceData* e) : I Ifc4x3_rc4::IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc4::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_rc4::IfcDirection* v10_Orientation, boost::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) : IfcLightSourcePositional((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLightSourceSpot_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LightColour));data_->setArgument(1,attr);} if (v3_AmbientIntensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_AmbientIntensity));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Intensity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Intensity));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_Position));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Radius));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConstantAttenuation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_DistanceAttenuation));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_QuadricAttenuation));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_Orientation));data_->setArgument(9,attr);} if (v11_ConcentrationExponent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_ConcentrationExponent));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_SpreadAngle));data_->setArgument(11,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v13_BeamWidthAngle));data_->setArgument(12,attr);} } // Function implementations for IfcLine -::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCartesianPoint>(); } +::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCartesianPoint>(true); } void Ifc4x3_rc4::IfcLine::setPnt(::Ifc4x3_rc4::IfcCartesianPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc4::IfcVector* Ifc4x3_rc4::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcVector>(); } +::Ifc4x3_rc4::IfcVector* Ifc4x3_rc4::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcVector>(true); } void Ifc4x3_rc4::IfcLine::setDir(::Ifc4x3_rc4::IfcVector* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17526,9 +17718,9 @@ Ifc4x3_rc4::IfcLinearElement::IfcLinearElement(IfcEntityInstanceData* e) : IfcPr Ifc4x3_rc4::IfcLinearElement::IfcLinearElement(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation* v7_Representation) : IfcProduct((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLinearElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} } // Function implementations for IfcLinearPlacement -::Ifc4x3_rc4::IfcAxis2PlacementLinear* Ifc4x3_rc4::IfcLinearPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcAxis2PlacementLinear>(); } +::Ifc4x3_rc4::IfcAxis2PlacementLinear* Ifc4x3_rc4::IfcLinearPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcAxis2PlacementLinear>(true); } void Ifc4x3_rc4::IfcLinearPlacement::setRelativePlacement(::Ifc4x3_rc4::IfcAxis2PlacementLinear* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcLinearPlacement::CartesianPosition() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(); } +::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcLinearPlacement::CartesianPosition() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(true); } void Ifc4x3_rc4::IfcLinearPlacement::setCartesianPosition(::Ifc4x3_rc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -17566,7 +17758,7 @@ Ifc4x3_rc4::IfcLiquidTerminalType::IfcLiquidTerminalType(IfcEntityInstanceData* Ifc4x3_rc4::IfcLiquidTerminalType::IfcLiquidTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLiquidTerminalType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcLocalPlacement -::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcAxis2Placement>(); } +::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcAxis2Placement>(true); } void Ifc4x3_rc4::IfcLocalPlacement::setRelativePlacement(::Ifc4x3_rc4::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17584,7 +17776,7 @@ Ifc4x3_rc4::IfcLoop::IfcLoop(IfcEntityInstanceData* e) : IfcTopologicalRepresent Ifc4x3_rc4::IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcLoop_type); } // Function implementations for IfcManifoldSolidBrep -::Ifc4x3_rc4::IfcClosedShell* Ifc4x3_rc4::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcClosedShell>(); } +::Ifc4x3_rc4::IfcClosedShell* Ifc4x3_rc4::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcClosedShell>(true); } void Ifc4x3_rc4::IfcManifoldSolidBrep::setOuter(::Ifc4x3_rc4::IfcClosedShell* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -17618,9 +17810,9 @@ Ifc4x3_rc4::IfcMapConversion::IfcMapConversion(IfcEntityInstanceData* e) : IfcCo Ifc4x3_rc4::IfcMapConversion::IfcMapConversion(::Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_rc4::IfcCoordinateReferenceSystem* v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, boost::optional< double > v6_XAxisAbscissa, boost::optional< double > v7_XAxisOrdinate, boost::optional< double > v8_Scale, boost::optional< double > v9_ScaleY, boost::optional< double > v10_ScaleZ) : IfcCoordinateOperation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMapConversion_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SourceCRS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_TargetCRS));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Eastings));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Northings));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_OrthogonalHeight));data_->setArgument(4,attr);} if (v6_XAxisAbscissa) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_XAxisAbscissa));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_XAxisOrdinate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_XAxisOrdinate));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Scale) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Scale));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ScaleY) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ScaleY));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_ScaleZ) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_ScaleZ));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcMappedItem -::Ifc4x3_rc4::IfcRepresentationMap* Ifc4x3_rc4::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcRepresentationMap>(); } +::Ifc4x3_rc4::IfcRepresentationMap* Ifc4x3_rc4::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcRepresentationMap>(true); } void Ifc4x3_rc4::IfcMappedItem::setMappingSource(::Ifc4x3_rc4::IfcRepresentationMap* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc4::IfcCartesianTransformationOperator* Ifc4x3_rc4::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcCartesianTransformationOperator>(); } +::Ifc4x3_rc4::IfcCartesianTransformationOperator* Ifc4x3_rc4::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcCartesianTransformationOperator>(true); } void Ifc4x3_rc4::IfcMappedItem::setMappingTarget(::Ifc4x3_rc4::IfcCartesianTransformationOperator* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17659,7 +17851,7 @@ Ifc4x3_rc4::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std:: // Function implementations for IfcMaterialClassificationRelationship aggregate_of_instance::ptr Ifc4x3_rc4::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc4::IfcMaterial* Ifc4x3_rc4::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcMaterial>(); } +::Ifc4x3_rc4::IfcMaterial* Ifc4x3_rc4::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcMaterial>(true); } void Ifc4x3_rc4::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x3_rc4::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17673,7 +17865,7 @@ boost::optional< std::string > Ifc4x3_rc4::IfcMaterialConstituent::Name() const void Ifc4x3_rc4::IfcMaterialConstituent::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcMaterialConstituent::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcMaterialConstituent::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4x3_rc4::IfcMaterial* Ifc4x3_rc4::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcMaterial>(); } +::Ifc4x3_rc4::IfcMaterial* Ifc4x3_rc4::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcMaterial>(true); } void Ifc4x3_rc4::IfcMaterialConstituent::setMaterial(::Ifc4x3_rc4::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc4::IfcMaterialConstituent::Fraction() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcMaterialConstituent::setFraction(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } @@ -17713,7 +17905,7 @@ Ifc4x3_rc4::IfcMaterialDefinition::IfcMaterialDefinition(IfcEntityInstanceData* Ifc4x3_rc4::IfcMaterialDefinition::IfcMaterialDefinition() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMaterialDefinition_type); } // Function implementations for IfcMaterialDefinitionRepresentation -::Ifc4x3_rc4::IfcMaterial* Ifc4x3_rc4::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcMaterial>(); } +::Ifc4x3_rc4::IfcMaterial* Ifc4x3_rc4::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcMaterial>(true); } void Ifc4x3_rc4::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(::Ifc4x3_rc4::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17723,7 +17915,7 @@ Ifc4x3_rc4::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresenta Ifc4x3_rc4::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc4::IfcRepresentation >::ptr v3_Representations, ::Ifc4x3_rc4::IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMaterialDefinitionRepresentation_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Representations)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RepresentedMaterial));data_->setArgument(3,attr);} } // Function implementations for IfcMaterialLayer -::Ifc4x3_rc4::IfcMaterial* Ifc4x3_rc4::IfcMaterialLayer::Material() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcMaterial>(); } +::Ifc4x3_rc4::IfcMaterial* Ifc4x3_rc4::IfcMaterialLayer::Material() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcMaterial>(true); } void Ifc4x3_rc4::IfcMaterialLayer::setMaterial(::Ifc4x3_rc4::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x3_rc4::IfcMaterialLayer::LayerThickness() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcMaterialLayer::setLayerThickness(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17760,7 +17952,7 @@ Ifc4x3_rc4::IfcMaterialLayerSet::IfcMaterialLayerSet(IfcEntityInstanceData* e) : Ifc4x3_rc4::IfcMaterialLayerSet::IfcMaterialLayerSet(aggregate_of< ::Ifc4x3_rc4::IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName, boost::optional< std::string > v3_Description) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMaterialLayerSet_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_MaterialLayers)->generalize());data_->setArgument(0,attr);} if (v2_LayerSetName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_LayerSetName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialLayerSetUsage -::Ifc4x3_rc4::IfcMaterialLayerSet* Ifc4x3_rc4::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcMaterialLayerSet>(); } +::Ifc4x3_rc4::IfcMaterialLayerSet* Ifc4x3_rc4::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcMaterialLayerSet>(true); } void Ifc4x3_rc4::IfcMaterialLayerSetUsage::setForLayerSet(::Ifc4x3_rc4::IfcMaterialLayerSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Value Ifc4x3_rc4::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4x3_rc4::IfcLayerSetDirectionEnum::FromString(*data_->getArgument(1)); } void Ifc4x3_rc4::IfcMaterialLayerSetUsage::setLayerSetDirection(::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcLayerSetDirectionEnum::ToString(v)));data_->setArgument(1,attr);} } @@ -17804,9 +17996,9 @@ boost::optional< std::string > Ifc4x3_rc4::IfcMaterialProfile::Name() const { if void Ifc4x3_rc4::IfcMaterialProfile::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcMaterialProfile::Description() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcMaterialProfile::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } -::Ifc4x3_rc4::IfcMaterial* Ifc4x3_rc4::IfcMaterialProfile::Material() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcMaterial>(); } +::Ifc4x3_rc4::IfcMaterial* Ifc4x3_rc4::IfcMaterialProfile::Material() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcMaterial>(true); } void Ifc4x3_rc4::IfcMaterialProfile::setMaterial(::Ifc4x3_rc4::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcProfileDef>(); } +::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcProfileDef>(true); } void Ifc4x3_rc4::IfcMaterialProfile::setProfile(::Ifc4x3_rc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< int > Ifc4x3_rc4::IfcMaterialProfile::Priority() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcMaterialProfile::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -17827,7 +18019,7 @@ boost::optional< std::string > Ifc4x3_rc4::IfcMaterialProfileSet::Description() void Ifc4x3_rc4::IfcMaterialProfileSet::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } aggregate_of< ::Ifc4x3_rc4::IfcMaterialProfile >::ptr Ifc4x3_rc4::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcMaterialProfile >(); } void Ifc4x3_rc4::IfcMaterialProfileSet::setMaterialProfiles(aggregate_of< ::Ifc4x3_rc4::IfcMaterialProfile >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(2,attr);} } -::Ifc4x3_rc4::IfcCompositeProfileDef* Ifc4x3_rc4::IfcMaterialProfileSet::CompositeProfile() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcCompositeProfileDef>(); } +::Ifc4x3_rc4::IfcCompositeProfileDef* Ifc4x3_rc4::IfcMaterialProfileSet::CompositeProfile() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcCompositeProfileDef>(true); } void Ifc4x3_rc4::IfcMaterialProfileSet::setCompositeProfile(::Ifc4x3_rc4::IfcCompositeProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17837,7 +18029,7 @@ Ifc4x3_rc4::IfcMaterialProfileSet::IfcMaterialProfileSet(IfcEntityInstanceData* Ifc4x3_rc4::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc4::IfcMaterialProfile >::ptr v3_MaterialProfiles, ::Ifc4x3_rc4::IfcCompositeProfileDef* v4_CompositeProfile) : IfcMaterialDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMaterialProfileSet_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_MaterialProfiles)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_CompositeProfile));data_->setArgument(3,attr);} } // Function implementations for IfcMaterialProfileSetUsage -::Ifc4x3_rc4::IfcMaterialProfileSet* Ifc4x3_rc4::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcMaterialProfileSet>(); } +::Ifc4x3_rc4::IfcMaterialProfileSet* Ifc4x3_rc4::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcMaterialProfileSet>(true); } void Ifc4x3_rc4::IfcMaterialProfileSetUsage::setForProfileSet(::Ifc4x3_rc4::IfcMaterialProfileSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< int > Ifc4x3_rc4::IfcMaterialProfileSetUsage::CardinalPoint() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } int v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcMaterialProfileSetUsage::setCardinalPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } @@ -17851,7 +18043,7 @@ Ifc4x3_rc4::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(IfcEntityInst Ifc4x3_rc4::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4x3_rc4::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent) : IfcMaterialUsageDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMaterialProfileSetUsage_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ForProfileSet));data_->setArgument(0,attr);} if (v2_CardinalPoint) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_CardinalPoint));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_ReferenceExtent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_ReferenceExtent));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } } // Function implementations for IfcMaterialProfileSetUsageTapering -::Ifc4x3_rc4::IfcMaterialProfileSet* Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcMaterialProfileSet>(); } +::Ifc4x3_rc4::IfcMaterialProfileSet* Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcMaterialProfileSet>(true); } void Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(::Ifc4x3_rc4::IfcMaterialProfileSet* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< int > Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -17873,7 +18065,7 @@ Ifc4x3_rc4::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(IfcEnti Ifc4x3_rc4::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcMaterial* v3_Material, ::Ifc4x3_rc4::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) : IfcMaterialProfile((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMaterialProfileWithOffsets_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Material));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Profile));data_->setArgument(3,attr);} if (v5_Priority) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Priority));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Category) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Category));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_OffsetValues));data_->setArgument(6,attr);} } // Function implementations for IfcMaterialProperties -::Ifc4x3_rc4::IfcMaterialDefinition* Ifc4x3_rc4::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcMaterialDefinition>(); } +::Ifc4x3_rc4::IfcMaterialDefinition* Ifc4x3_rc4::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcMaterialDefinition>(true); } void Ifc4x3_rc4::IfcMaterialProperties::setMaterial(::Ifc4x3_rc4::IfcMaterialDefinition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -17883,7 +18075,7 @@ Ifc4x3_rc4::IfcMaterialProperties::IfcMaterialProperties(IfcEntityInstanceData* Ifc4x3_rc4::IfcMaterialProperties::IfcMaterialProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc4::IfcProperty >::ptr v3_Properties, ::Ifc4x3_rc4::IfcMaterialDefinition* v4_Material) : IfcExtendedProperties((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMaterialProperties_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Properties)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Material));data_->setArgument(3,attr);} } // Function implementations for IfcMaterialRelationship -::Ifc4x3_rc4::IfcMaterial* Ifc4x3_rc4::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcMaterial>(); } +::Ifc4x3_rc4::IfcMaterial* Ifc4x3_rc4::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcMaterial>(true); } void Ifc4x3_rc4::IfcMaterialRelationship::setRelatingMaterial(::Ifc4x3_rc4::IfcMaterial* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4x3_rc4::IfcMaterial >::ptr Ifc4x3_rc4::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc4::IfcMaterial >(); } void Ifc4x3_rc4::IfcMaterialRelationship::setRelatedMaterials(aggregate_of< ::Ifc4x3_rc4::IfcMaterial >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -17906,9 +18098,9 @@ Ifc4x3_rc4::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition(IfcEntityInst Ifc4x3_rc4::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMaterialUsageDefinition_type); } // Function implementations for IfcMeasureWithUnit -::Ifc4x3_rc4::IfcValue* Ifc4x3_rc4::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcValue>(); } +::Ifc4x3_rc4::IfcValue* Ifc4x3_rc4::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcValue>(true); } void Ifc4x3_rc4::IfcMeasureWithUnit::setValueComponent(::Ifc4x3_rc4::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcUnit>(); } +::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcUnit>(true); } void Ifc4x3_rc4::IfcMeasureWithUnit::setUnitComponent(::Ifc4x3_rc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -17998,9 +18190,9 @@ Ifc4x3_rc4::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc4x3_rc4:: void Ifc4x3_rc4::IfcMetric::setBenchmark(::Ifc4x3_rc4::IfcBenchmarkEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcBenchmarkEnum::ToString(v)));data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcMetric::ValueSource() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc4x3_rc4::IfcMetric::setValueSource(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } -::Ifc4x3_rc4::IfcMetricValueSelect* Ifc4x3_rc4::IfcMetric::DataValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc4::IfcMetricValueSelect>(); } +::Ifc4x3_rc4::IfcMetricValueSelect* Ifc4x3_rc4::IfcMetric::DataValue() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc4::IfcMetricValueSelect>(true); } void Ifc4x3_rc4::IfcMetric::setDataValue(::Ifc4x3_rc4::IfcMetricValueSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } -::Ifc4x3_rc4::IfcReference* Ifc4x3_rc4::IfcMetric::ReferencePath() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc4::IfcReference>(); } +::Ifc4x3_rc4::IfcReference* Ifc4x3_rc4::IfcMetric::ReferencePath() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc4::IfcReference>(true); } void Ifc4x3_rc4::IfcMetric::setReferencePath(::Ifc4x3_rc4::IfcReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -18088,7 +18280,7 @@ Ifc4x3_rc4::IfcMotorConnectionType::IfcMotorConnectionType(IfcEntityInstanceData Ifc4x3_rc4::IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcMotorConnectionType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcNamedUnit -::Ifc4x3_rc4::IfcDimensionalExponents* Ifc4x3_rc4::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcDimensionalExponents>(); } +::Ifc4x3_rc4::IfcDimensionalExponents* Ifc4x3_rc4::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcDimensionalExponents>(true); } void Ifc4x3_rc4::IfcNamedUnit::setDimensions(::Ifc4x3_rc4::IfcDimensionalExponents* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4x3_rc4::IfcUnitEnum::Value Ifc4x3_rc4::IfcNamedUnit::UnitType() const { return ::Ifc4x3_rc4::IfcUnitEnum::FromString(*data_->getArgument(1)); } void Ifc4x3_rc4::IfcNamedUnit::setUnitType(::Ifc4x3_rc4::IfcUnitEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcUnitEnum::ToString(v)));data_->setArgument(1,attr);} } @@ -18149,7 +18341,7 @@ Ifc4x3_rc4::IfcObjectDefinition::IfcObjectDefinition(IfcEntityInstanceData* e) : Ifc4x3_rc4::IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcObjectDefinition_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcObjectPlacement -::Ifc4x3_rc4::IfcObjectPlacement* Ifc4x3_rc4::IfcObjectPlacement::PlacementRelTo() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcObjectPlacement>(); } +::Ifc4x3_rc4::IfcObjectPlacement* Ifc4x3_rc4::IfcObjectPlacement::PlacementRelTo() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcObjectPlacement>(true); } void Ifc4x3_rc4::IfcObjectPlacement::setPlacementRelTo(::Ifc4x3_rc4::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4x3_rc4::IfcProduct::list::ptr Ifc4x3_rc4::IfcObjectPlacement::PlacesObject() const { return data_->getInverse(IFC4X3_RC4_IfcProduct_type, 5)->as(); } @@ -18186,7 +18378,7 @@ Ifc4x3_rc4::IfcOccupant::IfcOccupant(IfcEntityInstanceData* e) : IfcActor((IfcEn Ifc4x3_rc4::IfcOccupant::IfcOccupant(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcActorSelect* v6_TheActor, boost::optional< ::Ifc4x3_rc4::IfcOccupantTypeEnum::Value > v7_PredefinedType) : IfcActor((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcOccupant_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_TheActor));data_->setArgument(5,attr);} if (v7_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v7_PredefinedType,::Ifc4x3_rc4::IfcOccupantTypeEnum::ToString(*v7_PredefinedType))));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcOffsetCurve -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcOffsetCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCurve>(); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcOffsetCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcOffsetCurve::setBasisCurve(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -18212,7 +18404,7 @@ double Ifc4x3_rc4::IfcOffsetCurve3D::Distance() const { double v = *data_->getA void Ifc4x3_rc4::IfcOffsetCurve3D::setDistance(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::logic::tribool Ifc4x3_rc4::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcOffsetCurve3D::setSelfIntersect(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcDirection>(); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcOffsetCurve3D::setRefDirection(::Ifc4x3_rc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -18298,7 +18490,7 @@ Ifc4x3_rc4::IfcOrganization::IfcOrganization(IfcEntityInstanceData* e) : IfcUtil Ifc4x3_rc4::IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > v4_Roles, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcOrganization_type); if (v1_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identification));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Name));data_->setArgument(1,attr);} if (v3_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Description));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Roles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Roles)->generalize());data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_Addresses) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Addresses)->generalize());data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcOrganizationRelationship -::Ifc4x3_rc4::IfcOrganization* Ifc4x3_rc4::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcOrganization>(); } +::Ifc4x3_rc4::IfcOrganization* Ifc4x3_rc4::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcOrganization>(true); } void Ifc4x3_rc4::IfcOrganizationRelationship::setRelatingOrganization(::Ifc4x3_rc4::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of< ::Ifc4x3_rc4::IfcOrganization >::ptr Ifc4x3_rc4::IfcOrganizationRelationship::RelatedOrganizations() const { aggregate_of_instance::ptr es = *data_->getArgument(3); return es->as< ::Ifc4x3_rc4::IfcOrganization >(); } void Ifc4x3_rc4::IfcOrganizationRelationship::setRelatedOrganizations(aggregate_of< ::Ifc4x3_rc4::IfcOrganization >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(3,attr);} } @@ -18310,7 +18502,7 @@ Ifc4x3_rc4::IfcOrganizationRelationship::IfcOrganizationRelationship(IfcEntityIn Ifc4x3_rc4::IfcOrganizationRelationship::IfcOrganizationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcOrganization* v3_RelatingOrganization, aggregate_of< ::Ifc4x3_rc4::IfcOrganization >::ptr v4_RelatedOrganizations) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcOrganizationRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatingOrganization));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatedOrganizations)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcOrientedEdge -::Ifc4x3_rc4::IfcEdge* Ifc4x3_rc4::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcEdge>(); } +::Ifc4x3_rc4::IfcEdge* Ifc4x3_rc4::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcEdge>(true); } void Ifc4x3_rc4::IfcOrientedEdge::setEdgeElement(::Ifc4x3_rc4::IfcEdge* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } bool Ifc4x3_rc4::IfcOrientedEdge::Orientation() const { bool v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcOrientedEdge::setOrientation(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -18350,9 +18542,9 @@ Ifc4x3_rc4::IfcOutletType::IfcOutletType(IfcEntityInstanceData* e) : IfcFlowTerm Ifc4x3_rc4::IfcOutletType::IfcOutletType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcOutletTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcOutletType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc4::IfcOutletTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcOwnerHistory -::Ifc4x3_rc4::IfcPersonAndOrganization* Ifc4x3_rc4::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcPersonAndOrganization>(); } +::Ifc4x3_rc4::IfcPersonAndOrganization* Ifc4x3_rc4::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcPersonAndOrganization>(true); } void Ifc4x3_rc4::IfcOwnerHistory::setOwningUser(::Ifc4x3_rc4::IfcPersonAndOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc4::IfcApplication* Ifc4x3_rc4::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcApplication>(); } +::Ifc4x3_rc4::IfcApplication* Ifc4x3_rc4::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcApplication>(true); } void Ifc4x3_rc4::IfcOwnerHistory::setOwningApplication(::Ifc4x3_rc4::IfcApplication* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< ::Ifc4x3_rc4::IfcStateEnum::Value > Ifc4x3_rc4::IfcOwnerHistory::State() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcStateEnum::FromString(*data_->getArgument(2)); } void Ifc4x3_rc4::IfcOwnerHistory::setState(boost::optional< ::Ifc4x3_rc4::IfcStateEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcStateEnum::ToString(*v)));data_->setArgument(2,attr);} } @@ -18360,9 +18552,9 @@ boost::optional< ::Ifc4x3_rc4::IfcChangeActionEnum::Value > Ifc4x3_rc4::IfcOwner void Ifc4x3_rc4::IfcOwnerHistory::setChangeAction(boost::optional< ::Ifc4x3_rc4::IfcChangeActionEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcChangeActionEnum::ToString(*v)));data_->setArgument(3,attr);} } boost::optional< int > Ifc4x3_rc4::IfcOwnerHistory::LastModifiedDate() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } int v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc4x3_rc4::IfcPersonAndOrganization* Ifc4x3_rc4::IfcOwnerHistory::LastModifyingUser() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcPersonAndOrganization>(); } +::Ifc4x3_rc4::IfcPersonAndOrganization* Ifc4x3_rc4::IfcOwnerHistory::LastModifyingUser() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcPersonAndOrganization>(true); } void Ifc4x3_rc4::IfcOwnerHistory::setLastModifyingUser(::Ifc4x3_rc4::IfcPersonAndOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc4::IfcApplication* Ifc4x3_rc4::IfcOwnerHistory::LastModifyingApplication() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcApplication>(); } +::Ifc4x3_rc4::IfcApplication* Ifc4x3_rc4::IfcOwnerHistory::LastModifyingApplication() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcApplication>(true); } void Ifc4x3_rc4::IfcOwnerHistory::setLastModifyingApplication(::Ifc4x3_rc4::IfcApplication* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } int Ifc4x3_rc4::IfcOwnerHistory::CreationDate() const { int v = *data_->getArgument(7); return v; } void Ifc4x3_rc4::IfcOwnerHistory::setCreationDate(int v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -18374,7 +18566,7 @@ Ifc4x3_rc4::IfcOwnerHistory::IfcOwnerHistory(IfcEntityInstanceData* e) : IfcUtil Ifc4x3_rc4::IfcOwnerHistory::IfcOwnerHistory(::Ifc4x3_rc4::IfcPersonAndOrganization* v1_OwningUser, ::Ifc4x3_rc4::IfcApplication* v2_OwningApplication, boost::optional< ::Ifc4x3_rc4::IfcStateEnum::Value > v3_State, boost::optional< ::Ifc4x3_rc4::IfcChangeActionEnum::Value > v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, ::Ifc4x3_rc4::IfcPersonAndOrganization* v6_LastModifyingUser, ::Ifc4x3_rc4::IfcApplication* v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcOwnerHistory_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_OwningUser));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwningApplication));data_->setArgument(1,attr);} if (v3_State) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v3_State,::Ifc4x3_rc4::IfcStateEnum::ToString(*v3_State))));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_ChangeAction) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v4_ChangeAction,::Ifc4x3_rc4::IfcChangeActionEnum::ToString(*v4_ChangeAction))));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_LastModifiedDate) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_LastModifiedDate));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_LastModifyingUser));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_LastModifyingApplication));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_CreationDate));data_->setArgument(7,attr);} } // Function implementations for IfcParameterizedProfileDef -::Ifc4x3_rc4::IfcAxis2Placement2D* Ifc4x3_rc4::IfcParameterizedProfileDef::Position() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcAxis2Placement2D>(); } +::Ifc4x3_rc4::IfcAxis2Placement2D* Ifc4x3_rc4::IfcParameterizedProfileDef::Position() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcAxis2Placement2D>(true); } void Ifc4x3_rc4::IfcParameterizedProfileDef::setPosition(::Ifc4x3_rc4::IfcAxis2Placement2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -18414,9 +18606,9 @@ Ifc4x3_rc4::IfcPavementType::IfcPavementType(IfcEntityInstanceData* e) : IfcBuil Ifc4x3_rc4::IfcPavementType::IfcPavementType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPavementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPavementType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc4::IfcPavementTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcPcurve -::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcSurface>(); } +::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcSurface>(true); } void Ifc4x3_rc4::IfcPcurve::setBasisSurface(::Ifc4x3_rc4::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcCurve>(); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcPcurve::setReferenceCurve(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -18446,7 +18638,7 @@ boost::optional< double > Ifc4x3_rc4::IfcPermeableCoveringProperties::FrameDepth void Ifc4x3_rc4::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc4::IfcPermeableCoveringProperties::FrameThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4x3_rc4::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } -::Ifc4x3_rc4::IfcShapeAspect* Ifc4x3_rc4::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcShapeAspect>(); } +::Ifc4x3_rc4::IfcShapeAspect* Ifc4x3_rc4::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcShapeAspect>(true); } void Ifc4x3_rc4::IfcPermeableCoveringProperties::setShapeAspectStyle(::Ifc4x3_rc4::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -18495,9 +18687,9 @@ Ifc4x3_rc4::IfcPerson::IfcPerson(IfcEntityInstanceData* e) : IfcUtil::IfcBaseEnt Ifc4x3_rc4::IfcPerson::IfcPerson(boost::optional< std::string > v1_Identification, boost::optional< std::string > v2_FamilyName, boost::optional< std::string > v3_GivenName, boost::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > v7_Roles, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPerson_type); if (v1_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Identification));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_FamilyName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_FamilyName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_GivenName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_GivenName));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_MiddleNames) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_MiddleNames));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_PrefixTitles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_PrefixTitles));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_SuffixTitles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_SuffixTitles));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Roles) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Roles)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Addresses) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Addresses)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } } // Function implementations for IfcPersonAndOrganization -::Ifc4x3_rc4::IfcPerson* Ifc4x3_rc4::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcPerson>(); } +::Ifc4x3_rc4::IfcPerson* Ifc4x3_rc4::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcPerson>(true); } void Ifc4x3_rc4::IfcPersonAndOrganization::setThePerson(::Ifc4x3_rc4::IfcPerson* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc4::IfcOrganization* Ifc4x3_rc4::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcOrganization>(); } +::Ifc4x3_rc4::IfcOrganization* Ifc4x3_rc4::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcOrganization>(true); } void Ifc4x3_rc4::IfcPersonAndOrganization::setTheOrganization(::Ifc4x3_rc4::IfcOrganization* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > Ifc4x3_rc4::IfcPersonAndOrganization::Roles() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(2); return es->as< ::Ifc4x3_rc4::IfcActorRole >(); } void Ifc4x3_rc4::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(2,attr);} } @@ -18539,7 +18731,7 @@ Ifc4x3_rc4::IfcPhysicalQuantity::IfcPhysicalQuantity(IfcEntityInstanceData* e) : Ifc4x3_rc4::IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPhysicalQuantity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);} if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcPhysicalSimpleQuantity -::Ifc4x3_rc4::IfcNamedUnit* Ifc4x3_rc4::IfcPhysicalSimpleQuantity::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcNamedUnit>(); } +::Ifc4x3_rc4::IfcNamedUnit* Ifc4x3_rc4::IfcPhysicalSimpleQuantity::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcNamedUnit>(true); } void Ifc4x3_rc4::IfcPhysicalSimpleQuantity::setUnit(::Ifc4x3_rc4::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -18627,7 +18819,7 @@ Ifc4x3_rc4::IfcPixelTexture::IfcPixelTexture(IfcEntityInstanceData* e) : IfcSurf Ifc4x3_rc4::IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc4::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) : IfcSurfaceTexture((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPixelTexture_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_RepeatS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RepeatT));data_->setArgument(1,attr);} if (v3_Mode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Mode));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TextureTransform));data_->setArgument(3,attr);} if (v5_Parameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Parameter));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Width));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Height));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_ColourComponents));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_Pixel));data_->setArgument(8,attr);} } // Function implementations for IfcPlacement -::Ifc4x3_rc4::IfcPoint* Ifc4x3_rc4::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcPoint>(); } +::Ifc4x3_rc4::IfcPoint* Ifc4x3_rc4::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcPoint>(true); } void Ifc4x3_rc4::IfcPlacement::setLocation(::Ifc4x3_rc4::IfcPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -18637,7 +18829,7 @@ Ifc4x3_rc4::IfcPlacement::IfcPlacement(IfcEntityInstanceData* e) : IfcGeometricR Ifc4x3_rc4::IfcPlacement::IfcPlacement(::Ifc4x3_rc4::IfcPoint* v1_Location) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPlacement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Location));data_->setArgument(0,attr);} } // Function implementations for IfcPlanarBox -::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcAxis2Placement>(); } +::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcAxis2Placement>(true); } void Ifc4x3_rc4::IfcPlanarBox::setPlacement(::Ifc4x3_rc4::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -18711,7 +18903,7 @@ Ifc4x3_rc4::IfcPoint::IfcPoint(IfcEntityInstanceData* e) : IfcGeometricRepresent Ifc4x3_rc4::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPoint_type); } // Function implementations for IfcPointByDistanceExpression -::Ifc4x3_rc4::IfcCurveMeasureSelect* Ifc4x3_rc4::IfcPointByDistanceExpression::DistanceAlong() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCurveMeasureSelect>(); } +::Ifc4x3_rc4::IfcCurveMeasureSelect* Ifc4x3_rc4::IfcPointByDistanceExpression::DistanceAlong() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCurveMeasureSelect>(true); } void Ifc4x3_rc4::IfcPointByDistanceExpression::setDistanceAlong(::Ifc4x3_rc4::IfcCurveMeasureSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4x3_rc4::IfcPointByDistanceExpression::OffsetLateral() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcPointByDistanceExpression::setOffsetLateral(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } @@ -18719,7 +18911,7 @@ boost::optional< double > Ifc4x3_rc4::IfcPointByDistanceExpression::OffsetVertic void Ifc4x3_rc4::IfcPointByDistanceExpression::setOffsetVertical(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } boost::optional< double > Ifc4x3_rc4::IfcPointByDistanceExpression::OffsetLongitudinal() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcPointByDistanceExpression::setOffsetLongitudinal(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcPointByDistanceExpression::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcCurve>(); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcPointByDistanceExpression::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcPointByDistanceExpression::setBasisCurve(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -18729,7 +18921,7 @@ Ifc4x3_rc4::IfcPointByDistanceExpression::IfcPointByDistanceExpression(IfcEntity Ifc4x3_rc4::IfcPointByDistanceExpression::IfcPointByDistanceExpression(::Ifc4x3_rc4::IfcCurveMeasureSelect* v1_DistanceAlong, boost::optional< double > v2_OffsetLateral, boost::optional< double > v3_OffsetVertical, boost::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_rc4::IfcCurve* v5_BasisCurve) : IfcPoint((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPointByDistanceExpression_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_DistanceAlong));data_->setArgument(0,attr);} if (v2_OffsetLateral) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_OffsetLateral));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_OffsetVertical) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_OffsetVertical));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_OffsetLongitudinal) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_OffsetLongitudinal));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_BasisCurve));data_->setArgument(4,attr);} } // Function implementations for IfcPointOnCurve -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCurve>(); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcPointOnCurve::setBasisCurve(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x3_rc4::IfcPointOnCurve::PointParameter() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcPointOnCurve::setPointParameter(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -18741,7 +18933,7 @@ Ifc4x3_rc4::IfcPointOnCurve::IfcPointOnCurve(IfcEntityInstanceData* e) : IfcPoin Ifc4x3_rc4::IfcPointOnCurve::IfcPointOnCurve(::Ifc4x3_rc4::IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPointOnCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_BasisCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_PointParameter));data_->setArgument(1,attr);} } // Function implementations for IfcPointOnSurface -::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcSurface>(); } +::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcSurface>(true); } void Ifc4x3_rc4::IfcPointOnSurface::setBasisSurface(::Ifc4x3_rc4::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x3_rc4::IfcPointOnSurface::PointParameterU() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcPointOnSurface::setPointParameterU(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -18765,9 +18957,9 @@ Ifc4x3_rc4::IfcPolyLoop::IfcPolyLoop(IfcEntityInstanceData* e) : IfcLoop((IfcEnt Ifc4x3_rc4::IfcPolyLoop::IfcPolyLoop(aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPolyLoop_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Polygon)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcPolygonalBoundedHalfSpace -::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(); } +::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(true); } void Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace::setPosition(::Ifc4x3_rc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc4::IfcBoundedCurve* Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcBoundedCurve>(); } +::Ifc4x3_rc4::IfcBoundedCurve* Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcBoundedCurve>(true); } void Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(::Ifc4x3_rc4::IfcBoundedCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -18801,7 +18993,7 @@ Ifc4x3_rc4::IfcPolyline::IfcPolyline(IfcEntityInstanceData* e) : IfcBoundedCurve Ifc4x3_rc4::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v1_Points) : IfcBoundedCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPolyline_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Points)->generalize());data_->setArgument(0,attr);} } // Function implementations for IfcPolynomialCurve -::Ifc4x3_rc4::IfcPlacement* Ifc4x3_rc4::IfcPolynomialCurve::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcPlacement>(); } +::Ifc4x3_rc4::IfcPlacement* Ifc4x3_rc4::IfcPolynomialCurve::Position() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcPlacement>(true); } void Ifc4x3_rc4::IfcPolynomialCurve::setPosition(::Ifc4x3_rc4::IfcPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_rc4::IfcPolynomialCurve::CoefficientsX() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcPolynomialCurve::setCoefficientsX(boost::optional< std::vector< double > /*[2:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } @@ -18995,9 +19187,9 @@ Ifc4x3_rc4::IfcProcess::IfcProcess(IfcEntityInstanceData* e) : IfcObject((IfcEnt Ifc4x3_rc4::IfcProcess::IfcProcess(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProcess_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_LongDescription));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } } // Function implementations for IfcProduct -::Ifc4x3_rc4::IfcObjectPlacement* Ifc4x3_rc4::IfcProduct::ObjectPlacement() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcObjectPlacement>(); } +::Ifc4x3_rc4::IfcObjectPlacement* Ifc4x3_rc4::IfcProduct::ObjectPlacement() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcObjectPlacement>(true); } void Ifc4x3_rc4::IfcProduct::setObjectPlacement(::Ifc4x3_rc4::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc4::IfcProductRepresentation* Ifc4x3_rc4::IfcProduct::Representation() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcProductRepresentation>(); } +::Ifc4x3_rc4::IfcProductRepresentation* Ifc4x3_rc4::IfcProduct::Representation() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcProductRepresentation>(true); } void Ifc4x3_rc4::IfcProduct::setRepresentation(::Ifc4x3_rc4::IfcProductRepresentation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } ::Ifc4x3_rc4::IfcRelAssignsToProduct::list::ptr Ifc4x3_rc4::IfcProduct::ReferencedBy() const { return data_->getInverse(IFC4X3_RC4_IfcRelAssignsToProduct_type, 6)->as(); } @@ -19048,7 +19240,7 @@ Ifc4x3_rc4::IfcProfileDef::IfcProfileDef(IfcEntityInstanceData* e) : IfcUtil::If Ifc4x3_rc4::IfcProfileDef::IfcProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcProfileDef_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_ProfileType,::Ifc4x3_rc4::IfcProfileTypeEnum::ToString(v1_ProfileType))));data_->setArgument(0,attr);} if (v2_ProfileName) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_ProfileName));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcProfileProperties -::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcProfileDef>(); } +::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcProfileDef>(true); } void Ifc4x3_rc4::IfcProfileProperties::setProfileDefinition(::Ifc4x3_rc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19092,7 +19284,7 @@ boost::optional< std::string > Ifc4x3_rc4::IfcProjectedCRS::MapProjection() cons void Ifc4x3_rc4::IfcProjectedCRS::setMapProjection(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcProjectedCRS::MapZone() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x3_rc4::IfcProjectedCRS::setMapZone(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4x3_rc4::IfcNamedUnit* Ifc4x3_rc4::IfcProjectedCRS::MapUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcNamedUnit>(); } +::Ifc4x3_rc4::IfcNamedUnit* Ifc4x3_rc4::IfcProjectedCRS::MapUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcNamedUnit>(true); } void Ifc4x3_rc4::IfcProjectedCRS::setMapUnit(::Ifc4x3_rc4::IfcNamedUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -19139,13 +19331,13 @@ Ifc4x3_rc4::IfcPropertyAbstraction::IfcPropertyAbstraction(IfcEntityInstanceData Ifc4x3_rc4::IfcPropertyAbstraction::IfcPropertyAbstraction() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertyAbstraction_type); } // Function implementations for IfcPropertyBoundedValue -::Ifc4x3_rc4::IfcValue* Ifc4x3_rc4::IfcPropertyBoundedValue::UpperBoundValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcValue>(); } +::Ifc4x3_rc4::IfcValue* Ifc4x3_rc4::IfcPropertyBoundedValue::UpperBoundValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcValue>(true); } void Ifc4x3_rc4::IfcPropertyBoundedValue::setUpperBoundValue(::Ifc4x3_rc4::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc4::IfcValue* Ifc4x3_rc4::IfcPropertyBoundedValue::LowerBoundValue() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcValue>(); } +::Ifc4x3_rc4::IfcValue* Ifc4x3_rc4::IfcPropertyBoundedValue::LowerBoundValue() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcValue>(true); } void Ifc4x3_rc4::IfcPropertyBoundedValue::setLowerBoundValue(::Ifc4x3_rc4::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyBoundedValue::Unit() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcUnit>(); } +::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyBoundedValue::Unit() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcUnit>(true); } void Ifc4x3_rc4::IfcPropertyBoundedValue::setUnit(::Ifc4x3_rc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc4::IfcValue* Ifc4x3_rc4::IfcPropertyBoundedValue::SetPointValue() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcValue>(); } +::Ifc4x3_rc4::IfcValue* Ifc4x3_rc4::IfcPropertyBoundedValue::SetPointValue() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcValue>(true); } void Ifc4x3_rc4::IfcPropertyBoundedValue::setSetPointValue(::Ifc4x3_rc4::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -19165,9 +19357,9 @@ Ifc4x3_rc4::IfcPropertyDefinition::IfcPropertyDefinition(IfcEntityInstanceData* Ifc4x3_rc4::IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertyDefinition_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcPropertyDependencyRelationship -::Ifc4x3_rc4::IfcProperty* Ifc4x3_rc4::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcProperty>(); } +::Ifc4x3_rc4::IfcProperty* Ifc4x3_rc4::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcProperty>(true); } void Ifc4x3_rc4::IfcPropertyDependencyRelationship::setDependingProperty(::Ifc4x3_rc4::IfcProperty* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc4::IfcProperty* Ifc4x3_rc4::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcProperty>(); } +::Ifc4x3_rc4::IfcProperty* Ifc4x3_rc4::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcProperty>(true); } void Ifc4x3_rc4::IfcPropertyDependencyRelationship::setDependantProperty(::Ifc4x3_rc4::IfcProperty* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcPropertyDependencyRelationship::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -19181,7 +19373,7 @@ Ifc4x3_rc4::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship // Function implementations for IfcPropertyEnumeratedValue boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc4::IfcPropertyEnumeratedValue::EnumerationValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x3_rc4::IfcPropertyEnumeration* Ifc4x3_rc4::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcPropertyEnumeration>(); } +::Ifc4x3_rc4::IfcPropertyEnumeration* Ifc4x3_rc4::IfcPropertyEnumeratedValue::EnumerationReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcPropertyEnumeration>(true); } void Ifc4x3_rc4::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_rc4::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19195,7 +19387,7 @@ std::string Ifc4x3_rc4::IfcPropertyEnumeration::Name() const { std::string v = void Ifc4x3_rc4::IfcPropertyEnumeration::setName(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of_instance::ptr Ifc4x3_rc4::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcPropertyEnumeration::setEnumerationValues(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcUnit>(); } +::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyEnumeration::Unit() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcUnit>(true); } void Ifc4x3_rc4::IfcPropertyEnumeration::setUnit(::Ifc4x3_rc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -19207,7 +19399,7 @@ Ifc4x3_rc4::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, // Function implementations for IfcPropertyListValue boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc4::IfcPropertyListValue::ListValues() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcPropertyListValue::setListValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcUnit>(); } +::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyListValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcUnit>(true); } void Ifc4x3_rc4::IfcPropertyListValue::setUnit(::Ifc4x3_rc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19219,7 +19411,7 @@ Ifc4x3_rc4::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boos // Function implementations for IfcPropertyReferenceValue boost::optional< std::string > Ifc4x3_rc4::IfcPropertyReferenceValue::UsageName() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x3_rc4::IfcObjectReferenceSelect* Ifc4x3_rc4::IfcPropertyReferenceValue::PropertyReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcObjectReferenceSelect>(); } +::Ifc4x3_rc4::IfcObjectReferenceSelect* Ifc4x3_rc4::IfcPropertyReferenceValue::PropertyReference() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcObjectReferenceSelect>(true); } void Ifc4x3_rc4::IfcPropertyReferenceValue::setPropertyReference(::Ifc4x3_rc4::IfcObjectReferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19265,9 +19457,9 @@ Ifc4x3_rc4::IfcPropertySetTemplate::IfcPropertySetTemplate(IfcEntityInstanceData Ifc4x3_rc4::IfcPropertySetTemplate::IfcPropertySetTemplate(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_ApplicableEntity, aggregate_of< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcPropertySetTemplate_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_TemplateType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v5_TemplateType,::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::ToString(*v5_TemplateType))));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ApplicableEntity) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ApplicableEntity));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_HasPropertyTemplates)->generalize());data_->setArgument(6,attr);} } // Function implementations for IfcPropertySingleValue -::Ifc4x3_rc4::IfcValue* Ifc4x3_rc4::IfcPropertySingleValue::NominalValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcValue>(); } +::Ifc4x3_rc4::IfcValue* Ifc4x3_rc4::IfcPropertySingleValue::NominalValue() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcValue>(true); } void Ifc4x3_rc4::IfcPropertySingleValue::setNominalValue(::Ifc4x3_rc4::IfcValue* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertySingleValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcUnit>(); } +::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertySingleValue::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcUnit>(true); } void Ifc4x3_rc4::IfcPropertySingleValue::setUnit(::Ifc4x3_rc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -19283,9 +19475,9 @@ boost::optional< aggregate_of_instance::ptr > Ifc4x3_rc4::IfcPropertyTableValue: void Ifc4x3_rc4::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of_instance::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcPropertyTableValue::Expression() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcUnit>(); } +::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyTableValue::DefiningUnit() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcUnit>(true); } void Ifc4x3_rc4::IfcPropertyTableValue::setDefiningUnit(::Ifc4x3_rc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyTableValue::DefinedUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcUnit>(); } +::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyTableValue::DefinedUnit() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcUnit>(true); } void Ifc4x3_rc4::IfcPropertyTableValue::setDefinedUnit(::Ifc4x3_rc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4x3_rc4::IfcCurveInterpolationEnum::Value > Ifc4x3_rc4::IfcPropertyTableValue::CurveInterpolation() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCurveInterpolationEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc4::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4x3_rc4::IfcCurveInterpolationEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcCurveInterpolationEnum::ToString(*v)));data_->setArgument(7,attr);} } @@ -19617,7 +19809,7 @@ Ifc4x3_rc4::IfcRectangularPyramid::IfcRectangularPyramid(IfcEntityInstanceData* Ifc4x3_rc4::IfcRectangularPyramid::IfcRectangularPyramid(::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRectangularPyramid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_XLength));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_YLength));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Height));data_->setArgument(3,attr);} } // Function implementations for IfcRectangularTrimmedSurface -::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcSurface>(); } +::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcSurface>(true); } void Ifc4x3_rc4::IfcRectangularTrimmedSurface::setBasisSurface(::Ifc4x3_rc4::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x3_rc4::IfcRectangularTrimmedSurface::U1() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcRectangularTrimmedSurface::setU1(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -19671,7 +19863,7 @@ boost::optional< std::string > Ifc4x3_rc4::IfcReference::InstanceName() const { void Ifc4x3_rc4::IfcReference::setInstanceName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc4::IfcReference::ListPositions() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcReference::setListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } -::Ifc4x3_rc4::IfcReference* Ifc4x3_rc4::IfcReference::InnerReference() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcReference>(); } +::Ifc4x3_rc4::IfcReference* Ifc4x3_rc4::IfcReference::InnerReference() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcReference>(true); } void Ifc4x3_rc4::IfcReference::setInnerReference(::Ifc4x3_rc4::IfcReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -19861,7 +20053,7 @@ Ifc4x3_rc4::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData Ifc4x3_rc4::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< aggregate_of_instance::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReinforcingMeshType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_MeshLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_MeshLength));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_MeshWidth) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_MeshWidth));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_LongitudinalBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_LongitudinalBarNominalDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_TransverseBarNominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_TransverseBarNominalDiameter));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_LongitudinalBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_LongitudinalBarCrossSectionArea));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_TransverseBarCrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_TransverseBarCrossSectionArea));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_LongitudinalBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_LongitudinalBarSpacing));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_TransverseBarSpacing) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_TransverseBarSpacing));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_BendingShapeCode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_BendingShapeCode));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_BendingParameters) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_BendingParameters));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcRelAdheresToElement -::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelAdheresToElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcElement>(); } +::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelAdheresToElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcElement>(true); } void Ifc4x3_rc4::IfcRelAdheresToElement::setRelatingElement(::Ifc4x3_rc4::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc4::IfcSurfaceFeature >::ptr Ifc4x3_rc4::IfcRelAdheresToElement::RelatedSurfaceFeatures() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc4::IfcSurfaceFeature >(); } void Ifc4x3_rc4::IfcRelAdheresToElement::setRelatedSurfaceFeatures(aggregate_of< ::Ifc4x3_rc4::IfcSurfaceFeature >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -19873,7 +20065,7 @@ Ifc4x3_rc4::IfcRelAdheresToElement::IfcRelAdheresToElement(IfcEntityInstanceData Ifc4x3_rc4::IfcRelAdheresToElement::IfcRelAdheresToElement(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcElement* v5_RelatingElement, aggregate_of< ::Ifc4x3_rc4::IfcSurfaceFeature >::ptr v6_RelatedSurfaceFeatures) : IfcRelDecomposes((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAdheresToElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedSurfaceFeatures)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelAggregates -::Ifc4x3_rc4::IfcObjectDefinition* Ifc4x3_rc4::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcObjectDefinition>(); } +::Ifc4x3_rc4::IfcObjectDefinition* Ifc4x3_rc4::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcObjectDefinition>(true); } void Ifc4x3_rc4::IfcRelAggregates::setRelatingObject(::Ifc4x3_rc4::IfcObjectDefinition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr Ifc4x3_rc4::IfcRelAggregates::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc4::IfcObjectDefinition >(); } void Ifc4x3_rc4::IfcRelAggregates::setRelatedObjects(aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -19897,9 +20089,9 @@ Ifc4x3_rc4::IfcRelAssigns::IfcRelAssigns(IfcEntityInstanceData* e) : IfcRelation Ifc4x3_rc4::IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssigns_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3_rc4::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } } // Function implementations for IfcRelAssignsToActor -::Ifc4x3_rc4::IfcActor* Ifc4x3_rc4::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcActor>(); } +::Ifc4x3_rc4::IfcActor* Ifc4x3_rc4::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcActor>(true); } void Ifc4x3_rc4::IfcRelAssignsToActor::setRelatingActor(::Ifc4x3_rc4::IfcActor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4x3_rc4::IfcActorRole* Ifc4x3_rc4::IfcRelAssignsToActor::ActingRole() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcActorRole>(); } +::Ifc4x3_rc4::IfcActorRole* Ifc4x3_rc4::IfcRelAssignsToActor::ActingRole() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcActorRole>(true); } void Ifc4x3_rc4::IfcRelAssignsToActor::setActingRole(::Ifc4x3_rc4::IfcActorRole* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -19909,7 +20101,7 @@ Ifc4x3_rc4::IfcRelAssignsToActor::IfcRelAssignsToActor(IfcEntityInstanceData* e) Ifc4x3_rc4::IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcActor* v7_RelatingActor, ::Ifc4x3_rc4::IfcActorRole* v8_ActingRole) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssignsToActor_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3_rc4::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingActor));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_ActingRole));data_->setArgument(7,attr);} } // Function implementations for IfcRelAssignsToControl -::Ifc4x3_rc4::IfcControl* Ifc4x3_rc4::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcControl>(); } +::Ifc4x3_rc4::IfcControl* Ifc4x3_rc4::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcControl>(true); } void Ifc4x3_rc4::IfcRelAssignsToControl::setRelatingControl(::Ifc4x3_rc4::IfcControl* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -19919,7 +20111,7 @@ Ifc4x3_rc4::IfcRelAssignsToControl::IfcRelAssignsToControl(IfcEntityInstanceData Ifc4x3_rc4::IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcControl* v7_RelatingControl) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssignsToControl_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3_rc4::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingControl));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssignsToGroup -::Ifc4x3_rc4::IfcGroup* Ifc4x3_rc4::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcGroup>(); } +::Ifc4x3_rc4::IfcGroup* Ifc4x3_rc4::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcGroup>(true); } void Ifc4x3_rc4::IfcRelAssignsToGroup::setRelatingGroup(::Ifc4x3_rc4::IfcGroup* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -19939,9 +20131,9 @@ Ifc4x3_rc4::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(IfcEntity Ifc4x3_rc4::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcGroup* v7_RelatingGroup, double v8_Factor) : IfcRelAssignsToGroup((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssignsToGroupByFactor_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3_rc4::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingGroup));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_Factor));data_->setArgument(7,attr);} } // Function implementations for IfcRelAssignsToProcess -::Ifc4x3_rc4::IfcProcessSelect* Ifc4x3_rc4::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcProcessSelect>(); } +::Ifc4x3_rc4::IfcProcessSelect* Ifc4x3_rc4::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcProcessSelect>(true); } void Ifc4x3_rc4::IfcRelAssignsToProcess::setRelatingProcess(::Ifc4x3_rc4::IfcProcessSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4x3_rc4::IfcMeasureWithUnit* Ifc4x3_rc4::IfcRelAssignsToProcess::QuantityInProcess() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcMeasureWithUnit>(); } +::Ifc4x3_rc4::IfcMeasureWithUnit* Ifc4x3_rc4::IfcRelAssignsToProcess::QuantityInProcess() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcMeasureWithUnit>(true); } void Ifc4x3_rc4::IfcRelAssignsToProcess::setQuantityInProcess(::Ifc4x3_rc4::IfcMeasureWithUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -19951,7 +20143,7 @@ Ifc4x3_rc4::IfcRelAssignsToProcess::IfcRelAssignsToProcess(IfcEntityInstanceData Ifc4x3_rc4::IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcProcessSelect* v7_RelatingProcess, ::Ifc4x3_rc4::IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssignsToProcess_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3_rc4::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingProcess));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_QuantityInProcess));data_->setArgument(7,attr);} } // Function implementations for IfcRelAssignsToProduct -::Ifc4x3_rc4::IfcProductSelect* Ifc4x3_rc4::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcProductSelect>(); } +::Ifc4x3_rc4::IfcProductSelect* Ifc4x3_rc4::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcProductSelect>(true); } void Ifc4x3_rc4::IfcRelAssignsToProduct::setRelatingProduct(::Ifc4x3_rc4::IfcProductSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -19961,7 +20153,7 @@ Ifc4x3_rc4::IfcRelAssignsToProduct::IfcRelAssignsToProduct(IfcEntityInstanceData Ifc4x3_rc4::IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcProductSelect* v7_RelatingProduct) : IfcRelAssigns((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssignsToProduct_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);} if (v6_RelatedObjectsType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v6_RelatedObjectsType,::Ifc4x3_rc4::IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType))));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingProduct));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssignsToResource -::Ifc4x3_rc4::IfcResourceSelect* Ifc4x3_rc4::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcResourceSelect>(); } +::Ifc4x3_rc4::IfcResourceSelect* Ifc4x3_rc4::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcResourceSelect>(true); } void Ifc4x3_rc4::IfcRelAssignsToResource::setRelatingResource(::Ifc4x3_rc4::IfcResourceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -19981,7 +20173,7 @@ Ifc4x3_rc4::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData* e) : IfcRe Ifc4x3_rc4::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociates_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} } // Function implementations for IfcRelAssociatesApproval -::Ifc4x3_rc4::IfcApproval* Ifc4x3_rc4::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcApproval>(); } +::Ifc4x3_rc4::IfcApproval* Ifc4x3_rc4::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcApproval>(true); } void Ifc4x3_rc4::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x3_rc4::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -19991,7 +20183,7 @@ Ifc4x3_rc4::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstance Ifc4x3_rc4::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesApproval_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingApproval));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesClassification -::Ifc4x3_rc4::IfcClassificationSelect* Ifc4x3_rc4::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcClassificationSelect>(); } +::Ifc4x3_rc4::IfcClassificationSelect* Ifc4x3_rc4::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcClassificationSelect>(true); } void Ifc4x3_rc4::IfcRelAssociatesClassification::setRelatingClassification(::Ifc4x3_rc4::IfcClassificationSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20003,7 +20195,7 @@ Ifc4x3_rc4::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std:: // Function implementations for IfcRelAssociatesConstraint boost::optional< std::string > Ifc4x3_rc4::IfcRelAssociatesConstraint::Intent() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x3_rc4::IfcRelAssociatesConstraint::setIntent(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4x3_rc4::IfcConstraint* Ifc4x3_rc4::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcConstraint>(); } +::Ifc4x3_rc4::IfcConstraint* Ifc4x3_rc4::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcConstraint>(true); } void Ifc4x3_rc4::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x3_rc4::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -20013,7 +20205,7 @@ Ifc4x3_rc4::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInst Ifc4x3_rc4::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc4::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesConstraint_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);} if (v6_Intent) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Intent));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatingConstraint));data_->setArgument(6,attr);} } // Function implementations for IfcRelAssociatesDocument -::Ifc4x3_rc4::IfcDocumentSelect* Ifc4x3_rc4::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcDocumentSelect>(); } +::Ifc4x3_rc4::IfcDocumentSelect* Ifc4x3_rc4::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcDocumentSelect>(true); } void Ifc4x3_rc4::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x3_rc4::IfcDocumentSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20023,7 +20215,7 @@ Ifc4x3_rc4::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstance Ifc4x3_rc4::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesDocument_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingDocument));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesLibrary -::Ifc4x3_rc4::IfcLibrarySelect* Ifc4x3_rc4::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcLibrarySelect>(); } +::Ifc4x3_rc4::IfcLibrarySelect* Ifc4x3_rc4::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcLibrarySelect>(true); } void Ifc4x3_rc4::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x3_rc4::IfcLibrarySelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20033,7 +20225,7 @@ Ifc4x3_rc4::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceDa Ifc4x3_rc4::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesLibrary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingLibrary));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesMaterial -::Ifc4x3_rc4::IfcMaterialSelect* Ifc4x3_rc4::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcMaterialSelect>(); } +::Ifc4x3_rc4::IfcMaterialSelect* Ifc4x3_rc4::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcMaterialSelect>(true); } void Ifc4x3_rc4::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x3_rc4::IfcMaterialSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20043,7 +20235,7 @@ Ifc4x3_rc4::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstance Ifc4x3_rc4::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelAssociatesMaterial_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingMaterial));data_->setArgument(5,attr);} } // Function implementations for IfcRelAssociatesProfileDef -::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcProfileDef>(); } +::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcProfileDef>(true); } void Ifc4x3_rc4::IfcRelAssociatesProfileDef::setRelatingProfileDef(::Ifc4x3_rc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20061,11 +20253,11 @@ Ifc4x3_rc4::IfcRelConnects::IfcRelConnects(IfcEntityInstanceData* e) : IfcRelati Ifc4x3_rc4::IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelConnects_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } } // Function implementations for IfcRelConnectsElements -::Ifc4x3_rc4::IfcConnectionGeometry* Ifc4x3_rc4::IfcRelConnectsElements::ConnectionGeometry() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcConnectionGeometry>(); } +::Ifc4x3_rc4::IfcConnectionGeometry* Ifc4x3_rc4::IfcRelConnectsElements::ConnectionGeometry() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcConnectionGeometry>(true); } void Ifc4x3_rc4::IfcRelConnectsElements::setConnectionGeometry(::Ifc4x3_rc4::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcElement>(); } +::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcElement>(true); } void Ifc4x3_rc4::IfcRelConnectsElements::setRelatingElement(::Ifc4x3_rc4::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcElement>(); } +::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcElement>(true); } void Ifc4x3_rc4::IfcRelConnectsElements::setRelatedElement(::Ifc4x3_rc4::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -20091,9 +20283,9 @@ Ifc4x3_rc4::IfcRelConnectsPathElements::IfcRelConnectsPathElements(IfcEntityInst Ifc4x3_rc4::IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_rc4::IfcElement* v6_RelatingElement, ::Ifc4x3_rc4::IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_rc4::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_rc4::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) : IfcRelConnectsElements((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelConnectsPathElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_ConnectionGeometry));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RelatedElement));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_RelatingPriorities));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_RelatedPriorities));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_RelatedConnectionType,::Ifc4x3_rc4::IfcConnectionTypeEnum::ToString(v10_RelatedConnectionType))));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v11_RelatingConnectionType,::Ifc4x3_rc4::IfcConnectionTypeEnum::ToString(v11_RelatingConnectionType))));data_->setArgument(10,attr);} } // Function implementations for IfcRelConnectsPortToElement -::Ifc4x3_rc4::IfcPort* Ifc4x3_rc4::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcPort>(); } +::Ifc4x3_rc4::IfcPort* Ifc4x3_rc4::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcPort>(true); } void Ifc4x3_rc4::IfcRelConnectsPortToElement::setRelatingPort(::Ifc4x3_rc4::IfcPort* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc4::IfcDistributionElement* Ifc4x3_rc4::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcDistributionElement>(); } +::Ifc4x3_rc4::IfcDistributionElement* Ifc4x3_rc4::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcDistributionElement>(true); } void Ifc4x3_rc4::IfcRelConnectsPortToElement::setRelatedElement(::Ifc4x3_rc4::IfcDistributionElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20103,11 +20295,11 @@ Ifc4x3_rc4::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(IfcEntityIn Ifc4x3_rc4::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcPort* v5_RelatingPort, ::Ifc4x3_rc4::IfcDistributionElement* v6_RelatedElement) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelConnectsPortToElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingPort));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnectsPorts -::Ifc4x3_rc4::IfcPort* Ifc4x3_rc4::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcPort>(); } +::Ifc4x3_rc4::IfcPort* Ifc4x3_rc4::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcPort>(true); } void Ifc4x3_rc4::IfcRelConnectsPorts::setRelatingPort(::Ifc4x3_rc4::IfcPort* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc4::IfcPort* Ifc4x3_rc4::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcPort>(); } +::Ifc4x3_rc4::IfcPort* Ifc4x3_rc4::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcPort>(true); } void Ifc4x3_rc4::IfcRelConnectsPorts::setRelatedPort(::Ifc4x3_rc4::IfcPort* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelConnectsPorts::RealizingElement() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcElement>(); } +::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelConnectsPorts::RealizingElement() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcElement>(true); } void Ifc4x3_rc4::IfcRelConnectsPorts::setRealizingElement(::Ifc4x3_rc4::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -20117,9 +20309,9 @@ Ifc4x3_rc4::IfcRelConnectsPorts::IfcRelConnectsPorts(IfcEntityInstanceData* e) : Ifc4x3_rc4::IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcPort* v5_RelatingPort, ::Ifc4x3_rc4::IfcPort* v6_RelatedPort, ::Ifc4x3_rc4::IfcElement* v7_RealizingElement) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelConnectsPorts_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingPort));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedPort));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_RealizingElement));data_->setArgument(6,attr);} } // Function implementations for IfcRelConnectsStructuralActivity -::Ifc4x3_rc4::IfcStructuralActivityAssignmentSelect* Ifc4x3_rc4::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcStructuralActivityAssignmentSelect>(); } +::Ifc4x3_rc4::IfcStructuralActivityAssignmentSelect* Ifc4x3_rc4::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcStructuralActivityAssignmentSelect>(true); } void Ifc4x3_rc4::IfcRelConnectsStructuralActivity::setRelatingElement(::Ifc4x3_rc4::IfcStructuralActivityAssignmentSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc4::IfcStructuralActivity* Ifc4x3_rc4::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcStructuralActivity>(); } +::Ifc4x3_rc4::IfcStructuralActivity* Ifc4x3_rc4::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcStructuralActivity>(true); } void Ifc4x3_rc4::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(::Ifc4x3_rc4::IfcStructuralActivity* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20129,17 +20321,17 @@ Ifc4x3_rc4::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(I Ifc4x3_rc4::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcStructuralActivityAssignmentSelect* v5_RelatingElement, ::Ifc4x3_rc4::IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelConnectsStructuralActivity_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedStructuralActivity));data_->setArgument(5,attr);} } // Function implementations for IfcRelConnectsStructuralMember -::Ifc4x3_rc4::IfcStructuralMember* Ifc4x3_rc4::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcStructuralMember>(); } +::Ifc4x3_rc4::IfcStructuralMember* Ifc4x3_rc4::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcStructuralMember>(true); } void Ifc4x3_rc4::IfcRelConnectsStructuralMember::setRelatingStructuralMember(::Ifc4x3_rc4::IfcStructuralMember* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc4::IfcStructuralConnection* Ifc4x3_rc4::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcStructuralConnection>(); } +::Ifc4x3_rc4::IfcStructuralConnection* Ifc4x3_rc4::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcStructuralConnection>(true); } void Ifc4x3_rc4::IfcRelConnectsStructuralMember::setRelatedStructuralConnection(::Ifc4x3_rc4::IfcStructuralConnection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc4::IfcBoundaryCondition* Ifc4x3_rc4::IfcRelConnectsStructuralMember::AppliedCondition() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcBoundaryCondition>(); } +::Ifc4x3_rc4::IfcBoundaryCondition* Ifc4x3_rc4::IfcRelConnectsStructuralMember::AppliedCondition() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcBoundaryCondition>(true); } void Ifc4x3_rc4::IfcRelConnectsStructuralMember::setAppliedCondition(::Ifc4x3_rc4::IfcBoundaryCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4x3_rc4::IfcStructuralConnectionCondition* Ifc4x3_rc4::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcStructuralConnectionCondition>(); } +::Ifc4x3_rc4::IfcStructuralConnectionCondition* Ifc4x3_rc4::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcStructuralConnectionCondition>(true); } void Ifc4x3_rc4::IfcRelConnectsStructuralMember::setAdditionalConditions(::Ifc4x3_rc4::IfcStructuralConnectionCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< double > Ifc4x3_rc4::IfcRelConnectsStructuralMember::SupportedLength() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } double v = *data_->getArgument(8); return v; } void Ifc4x3_rc4::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } -::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(); } +::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(true); } void Ifc4x3_rc4::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(::Ifc4x3_rc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -20149,7 +20341,7 @@ Ifc4x3_rc4::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(IfcEn Ifc4x3_rc4::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x3_rc4::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x3_rc4::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x3_rc4::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x3_rc4::IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelConnectsStructuralMember_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingStructuralMember));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedStructuralConnection));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_AppliedCondition));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AdditionalConditions));data_->setArgument(7,attr);} if (v9_SupportedLength) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_SupportedLength));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_ConditionCoordinateSystem));data_->setArgument(9,attr);} } // Function implementations for IfcRelConnectsWithEccentricity -::Ifc4x3_rc4::IfcConnectionGeometry* Ifc4x3_rc4::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc4::IfcConnectionGeometry>(); } +::Ifc4x3_rc4::IfcConnectionGeometry* Ifc4x3_rc4::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc4::IfcConnectionGeometry>(true); } void Ifc4x3_rc4::IfcRelConnectsWithEccentricity::setConnectionConstraint(::Ifc4x3_rc4::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } @@ -20173,7 +20365,7 @@ Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElem // Function implementations for IfcRelContainedInSpatialStructure aggregate_of< ::Ifc4x3_rc4::IfcProduct >::ptr Ifc4x3_rc4::IfcRelContainedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc4::IfcProduct >(); } void Ifc4x3_rc4::IfcRelContainedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_rc4::IfcProduct >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x3_rc4::IfcSpatialElement* Ifc4x3_rc4::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcSpatialElement>(); } +::Ifc4x3_rc4::IfcSpatialElement* Ifc4x3_rc4::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcSpatialElement>(true); } void Ifc4x3_rc4::IfcRelContainedInSpatialStructure::setRelatingStructure(::Ifc4x3_rc4::IfcSpatialElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20183,7 +20375,7 @@ Ifc4x3_rc4::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure Ifc4x3_rc4::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcProduct >::ptr v5_RelatedElements, ::Ifc4x3_rc4::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelContainedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } // Function implementations for IfcRelCoversBldgElements -::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcElement>(); } +::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcElement>(true); } void Ifc4x3_rc4::IfcRelCoversBldgElements::setRelatingBuildingElement(::Ifc4x3_rc4::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc4::IfcCovering >::ptr Ifc4x3_rc4::IfcRelCoversBldgElements::RelatedCoverings() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc4::IfcCovering >(); } void Ifc4x3_rc4::IfcRelCoversBldgElements::setRelatedCoverings(aggregate_of< ::Ifc4x3_rc4::IfcCovering >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -20195,7 +20387,7 @@ Ifc4x3_rc4::IfcRelCoversBldgElements::IfcRelCoversBldgElements(IfcEntityInstance Ifc4x3_rc4::IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcElement* v5_RelatingBuildingElement, aggregate_of< ::Ifc4x3_rc4::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelCoversBldgElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingBuildingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedCoverings)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelCoversSpaces -::Ifc4x3_rc4::IfcSpace* Ifc4x3_rc4::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcSpace>(); } +::Ifc4x3_rc4::IfcSpace* Ifc4x3_rc4::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcSpace>(true); } void Ifc4x3_rc4::IfcRelCoversSpaces::setRelatingSpace(::Ifc4x3_rc4::IfcSpace* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc4::IfcCovering >::ptr Ifc4x3_rc4::IfcRelCoversSpaces::RelatedCoverings() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc4::IfcCovering >(); } void Ifc4x3_rc4::IfcRelCoversSpaces::setRelatedCoverings(aggregate_of< ::Ifc4x3_rc4::IfcCovering >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -20207,7 +20399,7 @@ Ifc4x3_rc4::IfcRelCoversSpaces::IfcRelCoversSpaces(IfcEntityInstanceData* e) : I Ifc4x3_rc4::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcSpace* v5_RelatingSpace, aggregate_of< ::Ifc4x3_rc4::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelCoversSpaces_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSpace));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedCoverings)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelDeclares -::Ifc4x3_rc4::IfcContext* Ifc4x3_rc4::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcContext>(); } +::Ifc4x3_rc4::IfcContext* Ifc4x3_rc4::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcContext>(true); } void Ifc4x3_rc4::IfcRelDeclares::setRelatingContext(::Ifc4x3_rc4::IfcContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of_instance::ptr Ifc4x3_rc4::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr v = *data_->getArgument(5); return v; } void Ifc4x3_rc4::IfcRelDeclares::setRelatedDefinitions(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20237,7 +20429,7 @@ Ifc4x3_rc4::IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, ::Ifc4x3_rc4:: // Function implementations for IfcRelDefinesByObject aggregate_of< ::Ifc4x3_rc4::IfcObject >::ptr Ifc4x3_rc4::IfcRelDefinesByObject::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc4::IfcObject >(); } void Ifc4x3_rc4::IfcRelDefinesByObject::setRelatedObjects(aggregate_of< ::Ifc4x3_rc4::IfcObject >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x3_rc4::IfcObject* Ifc4x3_rc4::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcObject>(); } +::Ifc4x3_rc4::IfcObject* Ifc4x3_rc4::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcObject>(true); } void Ifc4x3_rc4::IfcRelDefinesByObject::setRelatingObject(::Ifc4x3_rc4::IfcObject* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20249,7 +20441,7 @@ Ifc4x3_rc4::IfcRelDefinesByObject::IfcRelDefinesByObject(std::string v1_GlobalId // Function implementations for IfcRelDefinesByProperties aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr Ifc4x3_rc4::IfcRelDefinesByProperties::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc4::IfcObjectDefinition >(); } void Ifc4x3_rc4::IfcRelDefinesByProperties::setRelatedObjects(aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x3_rc4::IfcPropertySetDefinitionSelect* Ifc4x3_rc4::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcPropertySetDefinitionSelect>(); } +::Ifc4x3_rc4::IfcPropertySetDefinitionSelect* Ifc4x3_rc4::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcPropertySetDefinitionSelect>(true); } void Ifc4x3_rc4::IfcRelDefinesByProperties::setRelatingPropertyDefinition(::Ifc4x3_rc4::IfcPropertySetDefinitionSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20261,7 +20453,7 @@ Ifc4x3_rc4::IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_ // Function implementations for IfcRelDefinesByTemplate aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr Ifc4x3_rc4::IfcRelDefinesByTemplate::RelatedPropertySets() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc4::IfcPropertySetDefinition >(); } void Ifc4x3_rc4::IfcRelDefinesByTemplate::setRelatedPropertySets(aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x3_rc4::IfcPropertySetTemplate* Ifc4x3_rc4::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcPropertySetTemplate>(); } +::Ifc4x3_rc4::IfcPropertySetTemplate* Ifc4x3_rc4::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcPropertySetTemplate>(true); } void Ifc4x3_rc4::IfcRelDefinesByTemplate::setRelatingTemplate(::Ifc4x3_rc4::IfcPropertySetTemplate* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20273,7 +20465,7 @@ Ifc4x3_rc4::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(std::string v1_Glob // Function implementations for IfcRelDefinesByType aggregate_of< ::Ifc4x3_rc4::IfcObject >::ptr Ifc4x3_rc4::IfcRelDefinesByType::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc4::IfcObject >(); } void Ifc4x3_rc4::IfcRelDefinesByType::setRelatedObjects(aggregate_of< ::Ifc4x3_rc4::IfcObject >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x3_rc4::IfcTypeObject* Ifc4x3_rc4::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcTypeObject>(); } +::Ifc4x3_rc4::IfcTypeObject* Ifc4x3_rc4::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcTypeObject>(true); } void Ifc4x3_rc4::IfcRelDefinesByType::setRelatingType(::Ifc4x3_rc4::IfcTypeObject* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20283,9 +20475,9 @@ Ifc4x3_rc4::IfcRelDefinesByType::IfcRelDefinesByType(IfcEntityInstanceData* e) : Ifc4x3_rc4::IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcTypeObject* v6_RelatingType) : IfcRelDefines((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelDefinesByType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedObjects)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingType));data_->setArgument(5,attr);} } // Function implementations for IfcRelFillsElement -::Ifc4x3_rc4::IfcOpeningElement* Ifc4x3_rc4::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcOpeningElement>(); } +::Ifc4x3_rc4::IfcOpeningElement* Ifc4x3_rc4::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcOpeningElement>(true); } void Ifc4x3_rc4::IfcRelFillsElement::setRelatingOpeningElement(::Ifc4x3_rc4::IfcOpeningElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcElement>(); } +::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcElement>(true); } void Ifc4x3_rc4::IfcRelFillsElement::setRelatedBuildingElement(::Ifc4x3_rc4::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20297,7 +20489,7 @@ Ifc4x3_rc4::IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, ::If // Function implementations for IfcRelFlowControlElements aggregate_of< ::Ifc4x3_rc4::IfcDistributionControlElement >::ptr Ifc4x3_rc4::IfcRelFlowControlElements::RelatedControlElements() const { aggregate_of_instance::ptr es = *data_->getArgument(4); return es->as< ::Ifc4x3_rc4::IfcDistributionControlElement >(); } void Ifc4x3_rc4::IfcRelFlowControlElements::setRelatedControlElements(aggregate_of< ::Ifc4x3_rc4::IfcDistributionControlElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(4,attr);} } -::Ifc4x3_rc4::IfcDistributionFlowElement* Ifc4x3_rc4::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcDistributionFlowElement>(); } +::Ifc4x3_rc4::IfcDistributionFlowElement* Ifc4x3_rc4::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcDistributionFlowElement>(true); } void Ifc4x3_rc4::IfcRelFlowControlElements::setRelatingFlowElement(::Ifc4x3_rc4::IfcDistributionFlowElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20307,13 +20499,13 @@ Ifc4x3_rc4::IfcRelFlowControlElements::IfcRelFlowControlElements(IfcEntityInstan Ifc4x3_rc4::IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcDistributionControlElement >::ptr v5_RelatedControlElements, ::Ifc4x3_rc4::IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelFlowControlElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedControlElements)->generalize());data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingFlowElement));data_->setArgument(5,attr);} } // Function implementations for IfcRelInterferesElements -::Ifc4x3_rc4::IfcInterferenceSelect* Ifc4x3_rc4::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcInterferenceSelect>(); } +::Ifc4x3_rc4::IfcInterferenceSelect* Ifc4x3_rc4::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcInterferenceSelect>(true); } void Ifc4x3_rc4::IfcRelInterferesElements::setRelatingElement(::Ifc4x3_rc4::IfcInterferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc4::IfcInterferenceSelect* Ifc4x3_rc4::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcInterferenceSelect>(); } +::Ifc4x3_rc4::IfcInterferenceSelect* Ifc4x3_rc4::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcInterferenceSelect>(true); } void Ifc4x3_rc4::IfcRelInterferesElements::setRelatedElement(::Ifc4x3_rc4::IfcInterferenceSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc4::IfcConnectionGeometry* Ifc4x3_rc4::IfcRelInterferesElements::InterferenceGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcConnectionGeometry>(); } +::Ifc4x3_rc4::IfcConnectionGeometry* Ifc4x3_rc4::IfcRelInterferesElements::InterferenceGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcConnectionGeometry>(true); } void Ifc4x3_rc4::IfcRelInterferesElements::setInterferenceGeometry(::Ifc4x3_rc4::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4x3_rc4::IfcSpatialZone* Ifc4x3_rc4::IfcRelInterferesElements::InterferenceSpace() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcSpatialZone>(); } +::Ifc4x3_rc4::IfcSpatialZone* Ifc4x3_rc4::IfcRelInterferesElements::InterferenceSpace() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcSpatialZone>(true); } void Ifc4x3_rc4::IfcRelInterferesElements::setInterferenceSpace(::Ifc4x3_rc4::IfcSpatialZone* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcRelInterferesElements::InterferenceType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } std::string v = *data_->getArgument(8); return v; } void Ifc4x3_rc4::IfcRelInterferesElements::setInterferenceType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(8,attr);} } @@ -20327,7 +20519,7 @@ Ifc4x3_rc4::IfcRelInterferesElements::IfcRelInterferesElements(IfcEntityInstance Ifc4x3_rc4::IfcRelInterferesElements::IfcRelInterferesElements(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcInterferenceSelect* v5_RelatingElement, ::Ifc4x3_rc4::IfcInterferenceSelect* v6_RelatedElement, ::Ifc4x3_rc4::IfcConnectionGeometry* v7_InterferenceGeometry, ::Ifc4x3_rc4::IfcSpatialZone* v8_InterferenceSpace, boost::optional< std::string > v9_InterferenceType, boost::logic::tribool v10_ImpliedOrder) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelInterferesElements_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_InterferenceGeometry));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_InterferenceSpace));data_->setArgument(7,attr);} if (v9_InterferenceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_InterferenceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_ImpliedOrder));data_->setArgument(9,attr);} } // Function implementations for IfcRelNests -::Ifc4x3_rc4::IfcObjectDefinition* Ifc4x3_rc4::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcObjectDefinition>(); } +::Ifc4x3_rc4::IfcObjectDefinition* Ifc4x3_rc4::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcObjectDefinition>(true); } void Ifc4x3_rc4::IfcRelNests::setRelatingObject(::Ifc4x3_rc4::IfcObjectDefinition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr Ifc4x3_rc4::IfcRelNests::RelatedObjects() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc4::IfcObjectDefinition >(); } void Ifc4x3_rc4::IfcRelNests::setRelatedObjects(aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -20339,7 +20531,7 @@ Ifc4x3_rc4::IfcRelNests::IfcRelNests(IfcEntityInstanceData* e) : IfcRelDecompose Ifc4x3_rc4::IfcRelNests::IfcRelNests(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelNests_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingObject));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedObjects)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelPositions -::Ifc4x3_rc4::IfcPositioningElement* Ifc4x3_rc4::IfcRelPositions::RelatingPositioningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcPositioningElement>(); } +::Ifc4x3_rc4::IfcPositioningElement* Ifc4x3_rc4::IfcRelPositions::RelatingPositioningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcPositioningElement>(true); } void Ifc4x3_rc4::IfcRelPositions::setRelatingPositioningElement(::Ifc4x3_rc4::IfcPositioningElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc4::IfcProduct >::ptr Ifc4x3_rc4::IfcRelPositions::RelatedProducts() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc4::IfcProduct >(); } void Ifc4x3_rc4::IfcRelPositions::setRelatedProducts(aggregate_of< ::Ifc4x3_rc4::IfcProduct >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -20351,9 +20543,9 @@ Ifc4x3_rc4::IfcRelPositions::IfcRelPositions(IfcEntityInstanceData* e) : IfcRelC Ifc4x3_rc4::IfcRelPositions::IfcRelPositions(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcPositioningElement* v5_RelatingPositioningElement, aggregate_of< ::Ifc4x3_rc4::IfcProduct >::ptr v6_RelatedProducts) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelPositions_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingPositioningElement));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedProducts)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelProjectsElement -::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcElement>(); } +::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcElement>(true); } void Ifc4x3_rc4::IfcRelProjectsElement::setRelatingElement(::Ifc4x3_rc4::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc4::IfcFeatureElementAddition* Ifc4x3_rc4::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcFeatureElementAddition>(); } +::Ifc4x3_rc4::IfcFeatureElementAddition* Ifc4x3_rc4::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcFeatureElementAddition>(true); } void Ifc4x3_rc4::IfcRelProjectsElement::setRelatedFeatureElement(::Ifc4x3_rc4::IfcFeatureElementAddition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20365,7 +20557,7 @@ Ifc4x3_rc4::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId // Function implementations for IfcRelReferencedInSpatialStructure aggregate_of_instance::ptr Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc4::IfcSpatialElement* Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcSpatialElement>(); } +::Ifc4x3_rc4::IfcSpatialElement* Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcSpatialElement>(true); } void Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4x3_rc4::IfcSpatialElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20375,11 +20567,11 @@ Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructu Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of_instance::ptr v5_RelatedElements, ::Ifc4x3_rc4::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelReferencedInSpatialStructure_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatedElements));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatingStructure));data_->setArgument(5,attr);} } // Function implementations for IfcRelSequence -::Ifc4x3_rc4::IfcProcess* Ifc4x3_rc4::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcProcess>(); } +::Ifc4x3_rc4::IfcProcess* Ifc4x3_rc4::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcProcess>(true); } void Ifc4x3_rc4::IfcRelSequence::setRelatingProcess(::Ifc4x3_rc4::IfcProcess* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc4::IfcProcess* Ifc4x3_rc4::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcProcess>(); } +::Ifc4x3_rc4::IfcProcess* Ifc4x3_rc4::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcProcess>(true); } void Ifc4x3_rc4::IfcRelSequence::setRelatedProcess(::Ifc4x3_rc4::IfcProcess* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc4::IfcLagTime* Ifc4x3_rc4::IfcRelSequence::TimeLag() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcLagTime>(); } +::Ifc4x3_rc4::IfcLagTime* Ifc4x3_rc4::IfcRelSequence::TimeLag() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcLagTime>(true); } void Ifc4x3_rc4::IfcRelSequence::setTimeLag(::Ifc4x3_rc4::IfcLagTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< ::Ifc4x3_rc4::IfcSequenceEnum::Value > Ifc4x3_rc4::IfcRelSequence::SequenceType() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSequenceEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc4::IfcRelSequence::setSequenceType(boost::optional< ::Ifc4x3_rc4::IfcSequenceEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcSequenceEnum::ToString(*v)));data_->setArgument(7,attr);} } @@ -20393,7 +20585,7 @@ Ifc4x3_rc4::IfcRelSequence::IfcRelSequence(IfcEntityInstanceData* e) : IfcRelCon Ifc4x3_rc4::IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcProcess* v5_RelatingProcess, ::Ifc4x3_rc4::IfcProcess* v6_RelatedProcess, ::Ifc4x3_rc4::IfcLagTime* v7_TimeLag, boost::optional< ::Ifc4x3_rc4::IfcSequenceEnum::Value > v8_SequenceType, boost::optional< std::string > v9_UserDefinedSequenceType) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelSequence_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingProcess));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedProcess));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_TimeLag));data_->setArgument(6,attr);} if (v8_SequenceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v8_SequenceType,::Ifc4x3_rc4::IfcSequenceEnum::ToString(*v8_SequenceType))));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_UserDefinedSequenceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_UserDefinedSequenceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcRelServicesBuildings -::Ifc4x3_rc4::IfcSystem* Ifc4x3_rc4::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcSystem>(); } +::Ifc4x3_rc4::IfcSystem* Ifc4x3_rc4::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcSystem>(true); } void Ifc4x3_rc4::IfcRelServicesBuildings::setRelatingSystem(::Ifc4x3_rc4::IfcSystem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc4::IfcSpatialElement >::ptr Ifc4x3_rc4::IfcRelServicesBuildings::RelatedBuildings() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc4::IfcSpatialElement >(); } void Ifc4x3_rc4::IfcRelServicesBuildings::setRelatedBuildings(aggregate_of< ::Ifc4x3_rc4::IfcSpatialElement >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -20405,11 +20597,11 @@ Ifc4x3_rc4::IfcRelServicesBuildings::IfcRelServicesBuildings(IfcEntityInstanceDa Ifc4x3_rc4::IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcSystem* v5_RelatingSystem, aggregate_of< ::Ifc4x3_rc4::IfcSpatialElement >::ptr v6_RelatedBuildings) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelServicesBuildings_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSystem));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildings)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcRelSpaceBoundary -::Ifc4x3_rc4::IfcSpaceBoundarySelect* Ifc4x3_rc4::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcSpaceBoundarySelect>(); } +::Ifc4x3_rc4::IfcSpaceBoundarySelect* Ifc4x3_rc4::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcSpaceBoundarySelect>(true); } void Ifc4x3_rc4::IfcRelSpaceBoundary::setRelatingSpace(::Ifc4x3_rc4::IfcSpaceBoundarySelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcElement>(); } +::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcElement>(true); } void Ifc4x3_rc4::IfcRelSpaceBoundary::setRelatedBuildingElement(::Ifc4x3_rc4::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc4::IfcConnectionGeometry* Ifc4x3_rc4::IfcRelSpaceBoundary::ConnectionGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcConnectionGeometry>(); } +::Ifc4x3_rc4::IfcConnectionGeometry* Ifc4x3_rc4::IfcRelSpaceBoundary::ConnectionGeometry() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcConnectionGeometry>(true); } void Ifc4x3_rc4::IfcRelSpaceBoundary::setConnectionGeometry(::Ifc4x3_rc4::IfcConnectionGeometry* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } ::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Value Ifc4x3_rc4::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc4::IfcRelSpaceBoundary::setPhysicalOrVirtualBoundary(::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::ToString(v)));data_->setArgument(7,attr);} } @@ -20423,7 +20615,7 @@ Ifc4x3_rc4::IfcRelSpaceBoundary::IfcRelSpaceBoundary(IfcEntityInstanceData* e) : Ifc4x3_rc4::IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_rc4::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_rc4::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) : IfcRelConnects((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelSpaceBoundary_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSpace));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConnectionGeometry));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_PhysicalOrVirtualBoundary,::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_InternalOrExternalBoundary,::Ifc4x3_rc4::IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary))));data_->setArgument(8,attr);} } // Function implementations for IfcRelSpaceBoundary1stLevel -::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel* Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel>(); } +::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel* Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel>(true); } void Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel::setParentBoundary(::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } ::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel::list::ptr Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return data_->getInverse(IFC4X3_RC4_IfcRelSpaceBoundary1stLevel_type, 9)->as(); } @@ -20434,7 +20626,7 @@ Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(IfcEntityIn Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_rc4::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_rc4::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary) : IfcRelSpaceBoundary((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelSpaceBoundary1stLevel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSpace));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConnectionGeometry));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_PhysicalOrVirtualBoundary,::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_InternalOrExternalBoundary,::Ifc4x3_rc4::IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_ParentBoundary));data_->setArgument(9,attr);} } // Function implementations for IfcRelSpaceBoundary2ndLevel -::Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel* Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel>(); } +::Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel* Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(10)))->as<::Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel>(true); } void Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(::Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(10,attr);} } ::Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel::list::ptr Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return data_->getInverse(IFC4X3_RC4_IfcRelSpaceBoundary2ndLevel_type, 10)->as(); } @@ -20445,9 +20637,9 @@ Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(IfcEntityIn Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_rc4::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_rc4::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, ::Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary) : IfcRelSpaceBoundary1stLevel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRelSpaceBoundary2ndLevel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_RelatingSpace));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_RelatedBuildingElement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_ConnectionGeometry));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v8_PhysicalOrVirtualBoundary,::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary))));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_InternalOrExternalBoundary,::Ifc4x3_rc4::IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary))));data_->setArgument(8,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_ParentBoundary));data_->setArgument(9,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_CorrespondingBoundary));data_->setArgument(10,attr);} } // Function implementations for IfcRelVoidsElement -::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcElement>(); } +::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcElement>(true); } void Ifc4x3_rc4::IfcRelVoidsElement::setRelatingBuildingElement(::Ifc4x3_rc4::IfcElement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc4::IfcFeatureElementSubtraction* Ifc4x3_rc4::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcFeatureElementSubtraction>(); } +::Ifc4x3_rc4::IfcFeatureElementSubtraction* Ifc4x3_rc4::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcFeatureElementSubtraction>(true); } void Ifc4x3_rc4::IfcRelVoidsElement::setRelatedOpeningElement(::Ifc4x3_rc4::IfcFeatureElementSubtraction* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -20475,7 +20667,7 @@ Ifc4x3_rc4::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCu Ifc4x3_rc4::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(::Ifc4x3_rc4::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc4::IfcCurve* v3_ParentCurve, double v4_ParamLength) : IfcCompositeCurveSegment((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcReparametrisedCompositeCurveSegment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_Transition,::Ifc4x3_rc4::IfcTransitionCode::ToString(v1_Transition))));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_SameSense));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ParentCurve));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_ParamLength));data_->setArgument(3,attr);} } // Function implementations for IfcRepresentation -::Ifc4x3_rc4::IfcRepresentationContext* Ifc4x3_rc4::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcRepresentationContext>(); } +::Ifc4x3_rc4::IfcRepresentationContext* Ifc4x3_rc4::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcRepresentationContext>(true); } void Ifc4x3_rc4::IfcRepresentation::setContextOfItems(::Ifc4x3_rc4::IfcRepresentationContext* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcRepresentation::RepresentationIdentifier() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } @@ -20517,9 +20709,9 @@ Ifc4x3_rc4::IfcRepresentationItem::IfcRepresentationItem(IfcEntityInstanceData* Ifc4x3_rc4::IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity() {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRepresentationItem_type); } // Function implementations for IfcRepresentationMap -::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcAxis2Placement>(); } +::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcAxis2Placement>(true); } void Ifc4x3_rc4::IfcRepresentationMap::setMappingOrigin(::Ifc4x3_rc4::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc4::IfcRepresentation* Ifc4x3_rc4::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcRepresentation>(); } +::Ifc4x3_rc4::IfcRepresentation* Ifc4x3_rc4::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcRepresentation>(true); } void Ifc4x3_rc4::IfcRepresentationMap::setMappedRepresentation(::Ifc4x3_rc4::IfcRepresentation* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4x3_rc4::IfcShapeAspect::list::ptr Ifc4x3_rc4::IfcRepresentationMap::HasShapeAspects() const { return data_->getInverse(IFC4X3_RC4_IfcShapeAspect_type, 4)->as(); } @@ -20546,7 +20738,7 @@ Ifc4x3_rc4::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcO // Function implementations for IfcResourceApprovalRelationship aggregate_of_instance::ptr Ifc4x3_rc4::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc4::IfcApproval* Ifc4x3_rc4::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcApproval>(); } +::Ifc4x3_rc4::IfcApproval* Ifc4x3_rc4::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcApproval>(true); } void Ifc4x3_rc4::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_rc4::IfcApproval* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -20556,7 +20748,7 @@ Ifc4x3_rc4::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(Ifc Ifc4x3_rc4::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of_instance::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc4::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcResourceApprovalRelationship_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Description));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_RelatedResourceObjects));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_RelatingApproval));data_->setArgument(3,attr);} } // Function implementations for IfcResourceConstraintRelationship -::Ifc4x3_rc4::IfcConstraint* Ifc4x3_rc4::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcConstraint>(); } +::Ifc4x3_rc4::IfcConstraint* Ifc4x3_rc4::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcConstraint>(true); } void Ifc4x3_rc4::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x3_rc4::IfcConstraint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } aggregate_of_instance::ptr Ifc4x3_rc4::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -20618,7 +20810,7 @@ Ifc4x3_rc4::IfcResourceTime::IfcResourceTime(IfcEntityInstanceData* e) : IfcSche Ifc4x3_rc4::IfcResourceTime::IfcResourceTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< std::string > v4_ScheduleWork, boost::optional< double > v5_ScheduleUsage, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_ScheduleContour, boost::optional< std::string > v9_LevelingDelay, boost::optional< bool > v10_IsOverAllocated, boost::optional< std::string > v11_StatusTime, boost::optional< std::string > v12_ActualWork, boost::optional< double > v13_ActualUsage, boost::optional< std::string > v14_ActualStart, boost::optional< std::string > v15_ActualFinish, boost::optional< std::string > v16_RemainingWork, boost::optional< double > v17_RemainingUsage, boost::optional< double > v18_Completion) : IfcSchedulingTime((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcResourceTime_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_DataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v2_DataOrigin,::Ifc4x3_rc4::IfcDataOriginEnum::ToString(*v2_DataOrigin))));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UserDefinedDataOrigin));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_ScheduleWork) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_ScheduleWork));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ScheduleUsage) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ScheduleUsage));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ScheduleStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ScheduleStart));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ScheduleFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ScheduleFinish));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_ScheduleContour) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_ScheduleContour));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_LevelingDelay) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_LevelingDelay));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_IsOverAllocated) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_IsOverAllocated));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_StatusTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_StatusTime));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_ActualWork) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_ActualWork));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_ActualUsage) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_ActualUsage));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_ActualStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_ActualStart));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_ActualFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_ActualFinish));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_RemainingWork) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_RemainingWork));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_RemainingUsage) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_RemainingUsage));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_Completion) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_Completion));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } } // Function implementations for IfcRevolvedAreaSolid -::Ifc4x3_rc4::IfcAxis1Placement* Ifc4x3_rc4::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcAxis1Placement>(); } +::Ifc4x3_rc4::IfcAxis1Placement* Ifc4x3_rc4::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcAxis1Placement>(true); } void Ifc4x3_rc4::IfcRevolvedAreaSolid::setAxis(::Ifc4x3_rc4::IfcAxis1Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc4x3_rc4::IfcRevolvedAreaSolid::Angle() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcRevolvedAreaSolid::setAngle(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -20630,7 +20822,7 @@ Ifc4x3_rc4::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcEntityInstanceData* e) Ifc4x3_rc4::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(::Ifc4x3_rc4::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc4::IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcRevolvedAreaSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Axis));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Angle));data_->setArgument(3,attr);} } // Function implementations for IfcRevolvedAreaSolidTapered -::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcProfileDef>(); } +::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcProfileDef>(true); } void Ifc4x3_rc4::IfcRevolvedAreaSolidTapered::setEndSweptArea(::Ifc4x3_rc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -20696,7 +20888,7 @@ Ifc4x3_rc4::IfcRoofType::IfcRoofType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcO // Function implementations for IfcRoot std::string Ifc4x3_rc4::IfcRoot::GlobalId() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcRoot::setGlobalId(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc4::IfcOwnerHistory* Ifc4x3_rc4::IfcRoot::OwnerHistory() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcOwnerHistory>(); } +::Ifc4x3_rc4::IfcOwnerHistory* Ifc4x3_rc4::IfcRoot::OwnerHistory() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcOwnerHistory>(true); } void Ifc4x3_rc4::IfcRoot::setOwnerHistory(::Ifc4x3_rc4::IfcOwnerHistory* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcRoot::Name() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcRoot::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } @@ -20790,9 +20982,9 @@ Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::IfcSecondOrderPolynomialSpiral(::Ifc // Function implementations for IfcSectionProperties ::Ifc4x3_rc4::IfcSectionTypeEnum::Value Ifc4x3_rc4::IfcSectionProperties::SectionType() const { return ::Ifc4x3_rc4::IfcSectionTypeEnum::FromString(*data_->getArgument(0)); } void Ifc4x3_rc4::IfcSectionProperties::setSectionType(::Ifc4x3_rc4::IfcSectionTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcSectionTypeEnum::ToString(v)));data_->setArgument(0,attr);} } -::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcProfileDef>(); } +::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcProfileDef>(true); } void Ifc4x3_rc4::IfcSectionProperties::setStartProfile(::Ifc4x3_rc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcSectionProperties::EndProfile() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcProfileDef>(); } +::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcSectionProperties::EndProfile() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcProfileDef>(true); } void Ifc4x3_rc4::IfcSectionProperties::setEndProfile(::Ifc4x3_rc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -20810,7 +21002,7 @@ boost::optional< double > Ifc4x3_rc4::IfcSectionReinforcementProperties::Transve void Ifc4x3_rc4::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } ::Ifc4x3_rc4::IfcReinforcingBarRoleEnum::Value Ifc4x3_rc4::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x3_rc4::IfcReinforcingBarRoleEnum::FromString(*data_->getArgument(3)); } void Ifc4x3_rc4::IfcSectionReinforcementProperties::setReinforcementRole(::Ifc4x3_rc4::IfcReinforcingBarRoleEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcReinforcingBarRoleEnum::ToString(v)));data_->setArgument(3,attr);} } -::Ifc4x3_rc4::IfcSectionProperties* Ifc4x3_rc4::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcSectionProperties>(); } +::Ifc4x3_rc4::IfcSectionProperties* Ifc4x3_rc4::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcSectionProperties>(true); } void Ifc4x3_rc4::IfcSectionReinforcementProperties::setSectionDefinition(::Ifc4x3_rc4::IfcSectionProperties* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } aggregate_of< ::Ifc4x3_rc4::IfcReinforcementBarProperties >::ptr Ifc4x3_rc4::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { aggregate_of_instance::ptr es = *data_->getArgument(5); return es->as< ::Ifc4x3_rc4::IfcReinforcementBarProperties >(); } void Ifc4x3_rc4::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(aggregate_of< ::Ifc4x3_rc4::IfcReinforcementBarProperties >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(5,attr);} } @@ -20822,7 +21014,7 @@ Ifc4x3_rc4::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties Ifc4x3_rc4::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, ::Ifc4x3_rc4::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_rc4::IfcSectionProperties* v5_SectionDefinition, aggregate_of< ::Ifc4x3_rc4::IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcPreDefinedProperties((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSectionReinforcementProperties_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_LongitudinalStartPosition));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_LongitudinalEndPosition));data_->setArgument(1,attr);} if (v3_TransversePosition) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_TransversePosition));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v4_ReinforcementRole,::Ifc4x3_rc4::IfcReinforcingBarRoleEnum::ToString(v4_ReinforcementRole))));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_SectionDefinition));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_CrossSectionReinforcementDefinitions)->generalize());data_->setArgument(5,attr);} } // Function implementations for IfcSectionedSolid -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcSectionedSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCurve>(); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcSectionedSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcSectionedSolid::setDirectrix(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr Ifc4x3_rc4::IfcSectionedSolid::CrossSections() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcProfileDef >(); } void Ifc4x3_rc4::IfcSectionedSolid::setCrossSections(aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -20846,7 +21038,7 @@ Ifc4x3_rc4::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(IfcEntityIn Ifc4x3_rc4::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(::Ifc4x3_rc4::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3_rc4::IfcAxis2PlacementLinear >::ptr v3_CrossSectionPositions, bool v4_FixedAxisVertical) : IfcSectionedSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSectionedSolidHorizontal_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Directrix));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_CrossSections)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_CrossSectionPositions)->generalize());data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_FixedAxisVertical));data_->setArgument(3,attr);} } // Function implementations for IfcSectionedSpine -::Ifc4x3_rc4::IfcCompositeCurve* Ifc4x3_rc4::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCompositeCurve>(); } +::Ifc4x3_rc4::IfcCompositeCurve* Ifc4x3_rc4::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCompositeCurve>(true); } void Ifc4x3_rc4::IfcSectionedSpine::setSpineCurve(::Ifc4x3_rc4::IfcCompositeCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr Ifc4x3_rc4::IfcSectionedSpine::CrossSections() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcProfileDef >(); } void Ifc4x3_rc4::IfcSectionedSpine::setCrossSections(aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -20860,7 +21052,7 @@ Ifc4x3_rc4::IfcSectionedSpine::IfcSectionedSpine(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc4::IfcSectionedSpine::IfcSectionedSpine(::Ifc4x3_rc4::IfcCompositeCurve* v1_SpineCurve, aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3_rc4::IfcAxis2Placement3D >::ptr v3_CrossSectionPositions) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSectionedSpine_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SpineCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_CrossSections)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_CrossSectionPositions)->generalize());data_->setArgument(2,attr);} } // Function implementations for IfcSectionedSurface -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcSectionedSurface::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCurve>(); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcSectionedSurface::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcSectionedSurface::setDirectrix(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x3_rc4::IfcPointByDistanceExpression >::ptr Ifc4x3_rc4::IfcSectionedSurface::CrossSectionPositions() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcPointByDistanceExpression >(); } void Ifc4x3_rc4::IfcSectionedSurface::setCrossSectionPositions(aggregate_of< ::Ifc4x3_rc4::IfcPointByDistanceExpression >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -20887,9 +21079,9 @@ Ifc4x3_rc4::IfcSegment::IfcSegment(IfcEntityInstanceData* e) : IfcGeometricRepre Ifc4x3_rc4::IfcSegment::IfcSegment(::Ifc4x3_rc4::IfcTransitionCode::Value v1_Transition) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSegment_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v1_Transition,::Ifc4x3_rc4::IfcTransitionCode::ToString(v1_Transition))));data_->setArgument(0,attr);} } // Function implementations for IfcSegmentedReferenceCurve -::Ifc4x3_rc4::IfcBoundedCurve* Ifc4x3_rc4::IfcSegmentedReferenceCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcBoundedCurve>(); } +::Ifc4x3_rc4::IfcBoundedCurve* Ifc4x3_rc4::IfcSegmentedReferenceCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcBoundedCurve>(true); } void Ifc4x3_rc4::IfcSegmentedReferenceCurve::setBaseCurve(::Ifc4x3_rc4::IfcBoundedCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc4::IfcPlacement* Ifc4x3_rc4::IfcSegmentedReferenceCurve::EndPoint() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcPlacement>(); } +::Ifc4x3_rc4::IfcPlacement* Ifc4x3_rc4::IfcSegmentedReferenceCurve::EndPoint() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcPlacement>(true); } void Ifc4x3_rc4::IfcSegmentedReferenceCurve::setEndPoint(::Ifc4x3_rc4::IfcPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -20971,7 +21163,7 @@ boost::optional< std::string > Ifc4x3_rc4::IfcShapeAspect::Description() const { void Ifc4x3_rc4::IfcShapeAspect::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } boost::logic::tribool Ifc4x3_rc4::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcShapeAspect::setProductDefinitional(boost::logic::tribool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc4::IfcProductRepresentationSelect* Ifc4x3_rc4::IfcShapeAspect::PartOfProductDefinitionShape() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcProductRepresentationSelect>(); } +::Ifc4x3_rc4::IfcProductRepresentationSelect* Ifc4x3_rc4::IfcShapeAspect::PartOfProductDefinitionShape() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcProductRepresentationSelect>(true); } void Ifc4x3_rc4::IfcShapeAspect::setPartOfProductDefinitionShape(::Ifc4x3_rc4::IfcProductRepresentationSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } ::Ifc4x3_rc4::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc4::IfcShapeAspect::HasExternalReferences() const { return data_->getInverse(IFC4X3_RC4_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -21063,11 +21255,11 @@ boost::optional< std::string > Ifc4x3_rc4::IfcSimplePropertyTemplate::PrimaryMea void Ifc4x3_rc4::IfcSimplePropertyTemplate::setPrimaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4x3_rc4::IfcSimplePropertyTemplate::setSecondaryMeasureType(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } -::Ifc4x3_rc4::IfcPropertyEnumeration* Ifc4x3_rc4::IfcSimplePropertyTemplate::Enumerators() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcPropertyEnumeration>(); } +::Ifc4x3_rc4::IfcPropertyEnumeration* Ifc4x3_rc4::IfcSimplePropertyTemplate::Enumerators() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcPropertyEnumeration>(true); } void Ifc4x3_rc4::IfcSimplePropertyTemplate::setEnumerators(::Ifc4x3_rc4::IfcPropertyEnumeration* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } -::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcSimplePropertyTemplate::PrimaryUnit() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcUnit>(); } +::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcSimplePropertyTemplate::PrimaryUnit() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcUnit>(true); } void Ifc4x3_rc4::IfcSimplePropertyTemplate::setPrimaryUnit(::Ifc4x3_rc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } -::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcSimplePropertyTemplate::SecondaryUnit() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc4::IfcUnit>(); } +::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcSimplePropertyTemplate::SecondaryUnit() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc4::IfcUnit>(true); } void Ifc4x3_rc4::IfcSimplePropertyTemplate::setSecondaryUnit(::Ifc4x3_rc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcSimplePropertyTemplate::Expression() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } std::string v = *data_->getArgument(10); return v; } void Ifc4x3_rc4::IfcSimplePropertyTemplate::setExpression(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } @@ -21103,7 +21295,7 @@ boost::optional< double > Ifc4x3_rc4::IfcSite::RefElevation() const { if(!data_- void Ifc4x3_rc4::IfcSite::setRefElevation(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcSite::LandTitleNumber() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } std::string v = *data_->getArgument(12); return v; } void Ifc4x3_rc4::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(12,attr);} } -::Ifc4x3_rc4::IfcPostalAddress* Ifc4x3_rc4::IfcSite::SiteAddress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x3_rc4::IfcPostalAddress>(); } +::Ifc4x3_rc4::IfcPostalAddress* Ifc4x3_rc4::IfcSite::SiteAddress() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(13)))->as<::Ifc4x3_rc4::IfcPostalAddress>(true); } void Ifc4x3_rc4::IfcSite::setSiteAddress(::Ifc4x3_rc4::IfcPostalAddress* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(13,attr);} } @@ -21328,7 +21520,7 @@ Ifc4x3_rc4::IfcSphericalSurface::IfcSphericalSurface(IfcEntityInstanceData* e) : Ifc4x3_rc4::IfcSphericalSurface::IfcSphericalSurface(::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSphericalSurface_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Position));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Radius));data_->setArgument(1,attr);} } // Function implementations for IfcSpiral -::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcSpiral::Position() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcAxis2Placement>(); } +::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcSpiral::Position() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcAxis2Placement>(true); } void Ifc4x3_rc4::IfcSpiral::setPosition(::Ifc4x3_rc4::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -21416,7 +21608,7 @@ Ifc4x3_rc4::IfcStructuralAction::IfcStructuralAction(IfcEntityInstanceData* e) : Ifc4x3_rc4::IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralActivity((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStructuralAction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc4x3_rc4::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);} if (v10_DestabilizingLoad) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_DestabilizingLoad));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcStructuralActivity -::Ifc4x3_rc4::IfcStructuralLoad* Ifc4x3_rc4::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcStructuralLoad>(); } +::Ifc4x3_rc4::IfcStructuralLoad* Ifc4x3_rc4::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcStructuralLoad>(true); } void Ifc4x3_rc4::IfcStructuralActivity::setAppliedLoad(::Ifc4x3_rc4::IfcStructuralLoad* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value Ifc4x3_rc4::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::FromString(*data_->getArgument(8)); } void Ifc4x3_rc4::IfcStructuralActivity::setGlobalOrLocal(::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcGlobalOrLocalEnum::ToString(v)));data_->setArgument(8,attr);} } @@ -21431,13 +21623,13 @@ Ifc4x3_rc4::IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId // Function implementations for IfcStructuralAnalysisModel ::Ifc4x3_rc4::IfcAnalysisModelTypeEnum::Value Ifc4x3_rc4::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x3_rc4::IfcAnalysisModelTypeEnum::FromString(*data_->getArgument(5)); } void Ifc4x3_rc4::IfcStructuralAnalysisModel::setPredefinedType(::Ifc4x3_rc4::IfcAnalysisModelTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcAnalysisModelTypeEnum::ToString(v)));data_->setArgument(5,attr);} } -::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(); } +::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(true); } void Ifc4x3_rc4::IfcStructuralAnalysisModel::setOrientationOf2DPlane(::Ifc4x3_rc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcStructuralLoadGroup >::ptr > Ifc4x3_rc4::IfcStructuralAnalysisModel::LoadedBy() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(7); return es->as< ::Ifc4x3_rc4::IfcStructuralLoadGroup >(); } void Ifc4x3_rc4::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcStructuralLoadGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(7,attr);} } boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcStructuralResultGroup >::ptr > Ifc4x3_rc4::IfcStructuralAnalysisModel::HasResults() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return boost::none; } aggregate_of_instance::ptr es = *data_->getArgument(8); return es->as< ::Ifc4x3_rc4::IfcStructuralResultGroup >(); } void Ifc4x3_rc4::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcStructuralResultGroup >::ptr > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v)->generalize());data_->setArgument(8,attr);} } -::Ifc4x3_rc4::IfcObjectPlacement* Ifc4x3_rc4::IfcStructuralAnalysisModel::SharedPlacement() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc4::IfcObjectPlacement>(); } +::Ifc4x3_rc4::IfcObjectPlacement* Ifc4x3_rc4::IfcStructuralAnalysisModel::SharedPlacement() const { if(!data_->getArgument(9) || data_->getArgument(9)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc4::IfcObjectPlacement>(true); } void Ifc4x3_rc4::IfcStructuralAnalysisModel::setSharedPlacement(::Ifc4x3_rc4::IfcObjectPlacement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -21447,7 +21639,7 @@ Ifc4x3_rc4::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(IfcEntityInst Ifc4x3_rc4::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc4::IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcStructuralResultGroup >::ptr > v9_HasResults, ::Ifc4x3_rc4::IfcObjectPlacement* v10_SharedPlacement) : IfcSystem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStructuralAnalysisModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v6_PredefinedType,::Ifc4x3_rc4::IfcAnalysisModelTypeEnum::ToString(v6_PredefinedType))));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_OrientationOf2DPlane));data_->setArgument(6,attr);} if (v8_LoadedBy) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LoadedBy)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_HasResults) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_HasResults)->generalize());data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v10_SharedPlacement));data_->setArgument(9,attr);} } // Function implementations for IfcStructuralConnection -::Ifc4x3_rc4::IfcBoundaryCondition* Ifc4x3_rc4::IfcStructuralConnection::AppliedCondition() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcBoundaryCondition>(); } +::Ifc4x3_rc4::IfcBoundaryCondition* Ifc4x3_rc4::IfcStructuralConnection::AppliedCondition() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcBoundaryCondition>(true); } void Ifc4x3_rc4::IfcStructuralConnection::setAppliedCondition(::Ifc4x3_rc4::IfcBoundaryCondition* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x3_rc4::IfcRelConnectsStructuralMember::list::ptr Ifc4x3_rc4::IfcStructuralConnection::ConnectsStructuralMembers() const { return data_->getInverse(IFC4X3_RC4_IfcRelConnectsStructuralMember_type, 5)->as(); } @@ -21480,7 +21672,7 @@ Ifc4x3_rc4::IfcStructuralCurveAction::IfcStructuralCurveAction(IfcEntityInstance Ifc4x3_rc4::IfcStructuralCurveAction::IfcStructuralCurveAction(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStructuralCurveAction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc4x3_rc4::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);} if (v10_DestabilizingLoad) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_DestabilizingLoad));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_ProjectedOrTrue) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v11_ProjectedOrTrue,::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::ToString(*v11_ProjectedOrTrue))));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcStructuralCurveConnection -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcStructuralCurveConnection::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcDirection>(); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcStructuralCurveConnection::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcStructuralCurveConnection::setAxis(::Ifc4x3_rc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -21492,7 +21684,7 @@ Ifc4x3_rc4::IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::stri // Function implementations for IfcStructuralCurveMember ::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_rc4::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::FromString(*data_->getArgument(7)); } void Ifc4x3_rc4::IfcStructuralCurveMember::setPredefinedType(::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::ToString(v)));data_->setArgument(7,attr);} } -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcDirection>(); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcStructuralCurveMember::setAxis(::Ifc4x3_rc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -21738,7 +21930,7 @@ Ifc4x3_rc4::IfcStructuralPointAction::IfcStructuralPointAction(IfcEntityInstance Ifc4x3_rc4::IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralAction((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStructuralPointAction_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_AppliedLoad));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_GlobalOrLocal,::Ifc4x3_rc4::IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal))));data_->setArgument(8,attr);} if (v10_DestabilizingLoad) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_DestabilizingLoad));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } } // Function implementations for IfcStructuralPointConnection -::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(); } +::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(true); } void Ifc4x3_rc4::IfcStructuralPointConnection::setConditionCoordinateSystem(::Ifc4x3_rc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -21766,7 +21958,7 @@ Ifc4x3_rc4::IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId // Function implementations for IfcStructuralResultGroup ::Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_rc4::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::FromString(*data_->getArgument(5)); } void Ifc4x3_rc4::IfcStructuralResultGroup::setTheoryType(::Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::ToString(v)));data_->setArgument(5,attr);} } -::Ifc4x3_rc4::IfcStructuralLoadGroup* Ifc4x3_rc4::IfcStructuralResultGroup::ResultForLoadGroup() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcStructuralLoadGroup>(); } +::Ifc4x3_rc4::IfcStructuralLoadGroup* Ifc4x3_rc4::IfcStructuralResultGroup::ResultForLoadGroup() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcStructuralLoadGroup>(true); } void Ifc4x3_rc4::IfcStructuralResultGroup::setResultForLoadGroup(::Ifc4x3_rc4::IfcStructuralLoadGroup* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } bool Ifc4x3_rc4::IfcStructuralResultGroup::IsLinear() const { bool v = *data_->getArgument(7); return v; } void Ifc4x3_rc4::IfcStructuralResultGroup::setIsLinear(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } @@ -21837,7 +22029,7 @@ Ifc4x3_rc4::IfcStyleModel::IfcStyleModel(IfcEntityInstanceData* e) : IfcRepresen Ifc4x3_rc4::IfcStyleModel::IfcStyleModel(::Ifc4x3_rc4::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc4::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcStyleModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_ContextOfItems));data_->setArgument(0,attr);} if (v2_RepresentationIdentifier) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_RepresentationIdentifier));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_RepresentationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_RepresentationType));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Items)->generalize());data_->setArgument(3,attr);} } // Function implementations for IfcStyledItem -::Ifc4x3_rc4::IfcRepresentationItem* Ifc4x3_rc4::IfcStyledItem::Item() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcRepresentationItem>(); } +::Ifc4x3_rc4::IfcRepresentationItem* Ifc4x3_rc4::IfcStyledItem::Item() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcRepresentationItem>(true); } void Ifc4x3_rc4::IfcStyledItem::setItem(::Ifc4x3_rc4::IfcRepresentationItem* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr Ifc4x3_rc4::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcPresentationStyle >(); } void Ifc4x3_rc4::IfcStyledItem::setStyles(aggregate_of< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -21879,7 +22071,7 @@ Ifc4x3_rc4::IfcSubContractResourceType::IfcSubContractResourceType(IfcEntityInst Ifc4x3_rc4::IfcSubContractResourceType::IfcSubContractResourceType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSubContractResourceType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_Identification));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_LongDescription) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_LongDescription));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ResourceType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ResourceType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_BaseCosts) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_BaseCosts)->generalize());data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v11_BaseQuantity));data_->setArgument(10,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v12_PredefinedType,::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::ToString(v12_PredefinedType))));data_->setArgument(11,attr);} } // Function implementations for IfcSubedge -::Ifc4x3_rc4::IfcEdge* Ifc4x3_rc4::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcEdge>(); } +::Ifc4x3_rc4::IfcEdge* Ifc4x3_rc4::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcEdge>(true); } void Ifc4x3_rc4::IfcSubedge::setParentEdge(::Ifc4x3_rc4::IfcEdge* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -21897,7 +22089,7 @@ Ifc4x3_rc4::IfcSurface::IfcSurface(IfcEntityInstanceData* e) : IfcGeometricRepre Ifc4x3_rc4::IfcSurface::IfcSurface() : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSurface_type); } // Function implementations for IfcSurfaceCurve -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCurve>(); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcSurfaceCurve::setCurve3D(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of< ::Ifc4x3_rc4::IfcPcurve >::ptr Ifc4x3_rc4::IfcSurfaceCurve::AssociatedGeometry() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcPcurve >(); } void Ifc4x3_rc4::IfcSurfaceCurve::setAssociatedGeometry(aggregate_of< ::Ifc4x3_rc4::IfcPcurve >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } @@ -21911,7 +22103,7 @@ Ifc4x3_rc4::IfcSurfaceCurve::IfcSurfaceCurve(IfcEntityInstanceData* e) : IfcCurv Ifc4x3_rc4::IfcSurfaceCurve::IfcSurfaceCurve(::Ifc4x3_rc4::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_rc4::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcCurve((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSurfaceCurve_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Curve3D));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_AssociatedGeometry)->generalize());data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_MasterRepresentation,::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::ToString(v3_MasterRepresentation))));data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceCurveSweptAreaSolid -::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcSurface>(); } +::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcSurface>(true); } void Ifc4x3_rc4::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(::Ifc4x3_rc4::IfcSurface* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -21932,7 +22124,7 @@ Ifc4x3_rc4::IfcSurfaceFeature::IfcSurfaceFeature(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc4::IfcSurfaceFeature::IfcSurfaceFeature(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSurfaceFeature_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v9_PredefinedType,::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::ToString(*v9_PredefinedType))));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } } // Function implementations for IfcSurfaceOfLinearExtrusion -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcDirection>(); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcSurfaceOfLinearExtrusion::setExtrudedDirection(::Ifc4x3_rc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } double Ifc4x3_rc4::IfcSurfaceOfLinearExtrusion::Depth() const { double v = *data_->getArgument(3); return v; } void Ifc4x3_rc4::IfcSurfaceOfLinearExtrusion::setDepth(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -21944,7 +22136,7 @@ Ifc4x3_rc4::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcEntityIn Ifc4x3_rc4::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(::Ifc4x3_rc4::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc4::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSurfaceOfLinearExtrusion_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptCurve));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_ExtrudedDirection));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Depth));data_->setArgument(3,attr);} } // Function implementations for IfcSurfaceOfRevolution -::Ifc4x3_rc4::IfcAxis1Placement* Ifc4x3_rc4::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcAxis1Placement>(); } +::Ifc4x3_rc4::IfcAxis1Placement* Ifc4x3_rc4::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcAxis1Placement>(true); } void Ifc4x3_rc4::IfcSurfaceOfRevolution::setAxisPosition(::Ifc4x3_rc4::IfcAxis1Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -21980,13 +22172,13 @@ Ifc4x3_rc4::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData* e) : IfcPres Ifc4x3_rc4::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcSurfaceSide::Value v2_Side, aggregate_of_instance::ptr v3_Styles) : IfcPresentationStyle((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSurfaceStyle_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v2_Side,::Ifc4x3_rc4::IfcSurfaceSide::ToString(v2_Side))));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_Styles));data_->setArgument(2,attr);} } // Function implementations for IfcSurfaceStyleLighting -::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcColourRgb>(); } +::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcColourRgb>(true); } void Ifc4x3_rc4::IfcSurfaceStyleLighting::setDiffuseTransmissionColour(::Ifc4x3_rc4::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcColourRgb>(); } +::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcColourRgb>(true); } void Ifc4x3_rc4::IfcSurfaceStyleLighting::setDiffuseReflectionColour(::Ifc4x3_rc4::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcColourRgb>(); } +::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcColourRgb>(true); } void Ifc4x3_rc4::IfcSurfaceStyleLighting::setTransmissionColour(::Ifc4x3_rc4::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcColourRgb>(); } +::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcColourRgb>(true); } void Ifc4x3_rc4::IfcSurfaceStyleLighting::setReflectanceColour(::Ifc4x3_rc4::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } @@ -22008,17 +22200,17 @@ Ifc4x3_rc4::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(IfcEntityInstan Ifc4x3_rc4::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSurfaceStyleRefraction_type); if (v1_RefractionIndex) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_RefractionIndex));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_DispersionFactor) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_DispersionFactor));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } } // Function implementations for IfcSurfaceStyleRendering -::Ifc4x3_rc4::IfcColourOrFactor* Ifc4x3_rc4::IfcSurfaceStyleRendering::DiffuseColour() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcColourOrFactor>(); } +::Ifc4x3_rc4::IfcColourOrFactor* Ifc4x3_rc4::IfcSurfaceStyleRendering::DiffuseColour() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcColourOrFactor>(true); } void Ifc4x3_rc4::IfcSurfaceStyleRendering::setDiffuseColour(::Ifc4x3_rc4::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc4::IfcColourOrFactor* Ifc4x3_rc4::IfcSurfaceStyleRendering::TransmissionColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcColourOrFactor>(); } +::Ifc4x3_rc4::IfcColourOrFactor* Ifc4x3_rc4::IfcSurfaceStyleRendering::TransmissionColour() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcColourOrFactor>(true); } void Ifc4x3_rc4::IfcSurfaceStyleRendering::setTransmissionColour(::Ifc4x3_rc4::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc4::IfcColourOrFactor* Ifc4x3_rc4::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcColourOrFactor>(); } +::Ifc4x3_rc4::IfcColourOrFactor* Ifc4x3_rc4::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcColourOrFactor>(true); } void Ifc4x3_rc4::IfcSurfaceStyleRendering::setDiffuseTransmissionColour(::Ifc4x3_rc4::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } -::Ifc4x3_rc4::IfcColourOrFactor* Ifc4x3_rc4::IfcSurfaceStyleRendering::ReflectionColour() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcColourOrFactor>(); } +::Ifc4x3_rc4::IfcColourOrFactor* Ifc4x3_rc4::IfcSurfaceStyleRendering::ReflectionColour() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcColourOrFactor>(true); } void Ifc4x3_rc4::IfcSurfaceStyleRendering::setReflectionColour(::Ifc4x3_rc4::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } -::Ifc4x3_rc4::IfcColourOrFactor* Ifc4x3_rc4::IfcSurfaceStyleRendering::SpecularColour() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcColourOrFactor>(); } +::Ifc4x3_rc4::IfcColourOrFactor* Ifc4x3_rc4::IfcSurfaceStyleRendering::SpecularColour() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcColourOrFactor>(true); } void Ifc4x3_rc4::IfcSurfaceStyleRendering::setSpecularColour(::Ifc4x3_rc4::IfcColourOrFactor* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } -::Ifc4x3_rc4::IfcSpecularHighlightSelect* Ifc4x3_rc4::IfcSurfaceStyleRendering::SpecularHighlight() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcSpecularHighlightSelect>(); } +::Ifc4x3_rc4::IfcSpecularHighlightSelect* Ifc4x3_rc4::IfcSurfaceStyleRendering::SpecularHighlight() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcSpecularHighlightSelect>(true); } void Ifc4x3_rc4::IfcSurfaceStyleRendering::setSpecularHighlight(::Ifc4x3_rc4::IfcSpecularHighlightSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x3_rc4::IfcReflectanceMethodEnum::Value Ifc4x3_rc4::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4x3_rc4::IfcReflectanceMethodEnum::FromString(*data_->getArgument(8)); } void Ifc4x3_rc4::IfcSurfaceStyleRendering::setReflectanceMethod(::Ifc4x3_rc4::IfcReflectanceMethodEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcReflectanceMethodEnum::ToString(v)));data_->setArgument(8,attr);} } @@ -22030,7 +22222,7 @@ Ifc4x3_rc4::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcEntityInstance Ifc4x3_rc4::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc4x3_rc4::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, ::Ifc4x3_rc4::IfcColourOrFactor* v3_DiffuseColour, ::Ifc4x3_rc4::IfcColourOrFactor* v4_TransmissionColour, ::Ifc4x3_rc4::IfcColourOrFactor* v5_DiffuseTransmissionColour, ::Ifc4x3_rc4::IfcColourOrFactor* v6_ReflectionColour, ::Ifc4x3_rc4::IfcColourOrFactor* v7_SpecularColour, ::Ifc4x3_rc4::IfcSpecularHighlightSelect* v8_SpecularHighlight, ::Ifc4x3_rc4::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) : IfcSurfaceStyleShading((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSurfaceStyleRendering_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SurfaceColour));data_->setArgument(0,attr);} if (v2_Transparency) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Transparency));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v3_DiffuseColour));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TransmissionColour));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_DiffuseTransmissionColour));data_->setArgument(4,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ReflectionColour));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_SpecularColour));data_->setArgument(6,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v8_SpecularHighlight));data_->setArgument(7,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v9_ReflectanceMethod,::Ifc4x3_rc4::IfcReflectanceMethodEnum::ToString(v9_ReflectanceMethod))));data_->setArgument(8,attr);} } // Function implementations for IfcSurfaceStyleShading -::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcColourRgb>(); } +::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcColourRgb>(true); } void Ifc4x3_rc4::IfcSurfaceStyleShading::setSurfaceColour(::Ifc4x3_rc4::IfcColourRgb* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< double > Ifc4x3_rc4::IfcSurfaceStyleShading::Transparency() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcSurfaceStyleShading::setTransparency(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } @@ -22058,7 +22250,7 @@ bool Ifc4x3_rc4::IfcSurfaceTexture::RepeatT() const { bool v = *data_->getArgum void Ifc4x3_rc4::IfcSurfaceTexture::setRepeatT(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcSurfaceTexture::Mode() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcSurfaceTexture::setMode(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x3_rc4::IfcCartesianTransformationOperator2D* Ifc4x3_rc4::IfcSurfaceTexture::TextureTransform() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcCartesianTransformationOperator2D>(); } +::Ifc4x3_rc4::IfcCartesianTransformationOperator2D* Ifc4x3_rc4::IfcSurfaceTexture::TextureTransform() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcCartesianTransformationOperator2D>(true); } void Ifc4x3_rc4::IfcSurfaceTexture::setTextureTransform(::Ifc4x3_rc4::IfcCartesianTransformationOperator2D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcSurfaceTexture::Parameter() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -22072,9 +22264,9 @@ Ifc4x3_rc4::IfcSurfaceTexture::IfcSurfaceTexture(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc4::IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc4::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSurfaceTexture_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_RepeatS));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_RepeatT));data_->setArgument(1,attr);} if (v3_Mode) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Mode));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_TextureTransform));data_->setArgument(3,attr);} if (v5_Parameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_Parameter));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } } // Function implementations for IfcSweptAreaSolid -::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcProfileDef>(); } +::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcProfileDef>(true); } void Ifc4x3_rc4::IfcSweptAreaSolid::setSweptArea(::Ifc4x3_rc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcSweptAreaSolid::Position() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(); } +::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcSweptAreaSolid::Position() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(true); } void Ifc4x3_rc4::IfcSweptAreaSolid::setPosition(::Ifc4x3_rc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -22084,7 +22276,7 @@ Ifc4x3_rc4::IfcSweptAreaSolid::IfcSweptAreaSolid(IfcEntityInstanceData* e) : Ifc Ifc4x3_rc4::IfcSweptAreaSolid::IfcSweptAreaSolid(::Ifc4x3_rc4::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position) : IfcSolidModel((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSweptAreaSolid_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_SweptArea));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Position));data_->setArgument(1,attr);} } // Function implementations for IfcSweptDiskSolid -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCurve>(); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcSweptDiskSolid::setDirectrix(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x3_rc4::IfcSweptDiskSolid::Radius() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcSweptDiskSolid::setRadius(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -22112,9 +22304,9 @@ Ifc4x3_rc4::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(IfcEntityInst Ifc4x3_rc4::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(::Ifc4x3_rc4::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, boost::optional< double > v6_FilletRadius) : IfcSweptDiskSolid((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcSweptDiskSolidPolygonal_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Directrix));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Radius));data_->setArgument(1,attr);} if (v3_InnerRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_InnerRadius));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_StartParam) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_StartParam));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_EndParam) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_EndParam));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_FilletRadius) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_FilletRadius));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } } // Function implementations for IfcSweptSurface -::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcProfileDef>(); } +::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcProfileDef>(true); } void Ifc4x3_rc4::IfcSweptSurface::setSweptCurve(::Ifc4x3_rc4::IfcProfileDef* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcSweptSurface::Position() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(); } +::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcSweptSurface::Position() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(true); } void Ifc4x3_rc4::IfcSweptSurface::setPosition(::Ifc4x3_rc4::IfcAxis2Placement3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -22220,9 +22412,9 @@ boost::optional< std::string > Ifc4x3_rc4::IfcTableColumn::Name() const { if(!da void Ifc4x3_rc4::IfcTableColumn::setName(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTableColumn::Description() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcTableColumn::setDescription(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcTableColumn::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcUnit>(); } +::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcTableColumn::Unit() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcUnit>(true); } void Ifc4x3_rc4::IfcTableColumn::setUnit(::Ifc4x3_rc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc4::IfcReference* Ifc4x3_rc4::IfcTableColumn::ReferencePath() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcReference>(); } +::Ifc4x3_rc4::IfcReference* Ifc4x3_rc4::IfcTableColumn::ReferencePath() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcReference>(true); } void Ifc4x3_rc4::IfcTableColumn::setReferencePath(::Ifc4x3_rc4::IfcReference* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -22272,7 +22464,7 @@ bool Ifc4x3_rc4::IfcTask::IsMilestone() const { bool v = *data_->getArgument(9) void Ifc4x3_rc4::IfcTask::setIsMilestone(bool v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } boost::optional< int > Ifc4x3_rc4::IfcTask::Priority() const { if(!data_->getArgument(10) || data_->getArgument(10)->isNull()) { return boost::none; } int v = *data_->getArgument(10); return v; } void Ifc4x3_rc4::IfcTask::setPriority(boost::optional< int > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } -::Ifc4x3_rc4::IfcTaskTime* Ifc4x3_rc4::IfcTask::TaskTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc4::IfcTaskTime>(); } +::Ifc4x3_rc4::IfcTaskTime* Ifc4x3_rc4::IfcTask::TaskTime() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(11)))->as<::Ifc4x3_rc4::IfcTaskTime>(true); } void Ifc4x3_rc4::IfcTask::setTaskTime(::Ifc4x3_rc4::IfcTaskTime* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(11,attr);} } boost::optional< ::Ifc4x3_rc4::IfcTaskTypeEnum::Value > Ifc4x3_rc4::IfcTask::PredefinedType() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTaskTypeEnum::FromString(*data_->getArgument(12)); } void Ifc4x3_rc4::IfcTask::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTaskTypeEnum::Value > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(*v,::Ifc4x3_rc4::IfcTaskTypeEnum::ToString(*v)));data_->setArgument(12,attr);} } @@ -22326,7 +22518,7 @@ Ifc4x3_rc4::IfcTaskTime::IfcTaskTime(IfcEntityInstanceData* e) : IfcSchedulingTi Ifc4x3_rc4::IfcTaskTime::IfcTaskTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x3_rc4::IfcTaskDurationEnum::Value > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion) : IfcSchedulingTime((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTaskTime_type); if (v1_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v1_Name));data_->setArgument(0,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(0, attr); } if (v2_DataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v2_DataOrigin,::Ifc4x3_rc4::IfcDataOriginEnum::ToString(*v2_DataOrigin))));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_UserDefinedDataOrigin) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_UserDefinedDataOrigin));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_DurationType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v4_DurationType,::Ifc4x3_rc4::IfcTaskDurationEnum::ToString(*v4_DurationType))));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ScheduleDuration) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ScheduleDuration));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_ScheduleStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_ScheduleStart));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_ScheduleFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_ScheduleFinish));data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_EarlyStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_EarlyStart));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_EarlyFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_EarlyFinish));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_LateStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_LateStart));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_LateFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_LateFinish));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_FreeFloat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_FreeFloat));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_TotalFloat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_TotalFloat));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_IsCritical) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v14_IsCritical));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } if (v15_StatusTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v15_StatusTime));data_->setArgument(14,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(14, attr); } if (v16_ActualDuration) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v16_ActualDuration));data_->setArgument(15,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(15, attr); } if (v17_ActualStart) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v17_ActualStart));data_->setArgument(16,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(16, attr); } if (v18_ActualFinish) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v18_ActualFinish));data_->setArgument(17,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(17, attr); } if (v19_RemainingTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v19_RemainingTime));data_->setArgument(18,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(18, attr); } if (v20_Completion) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v20_Completion));data_->setArgument(19,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(19, attr); } } // Function implementations for IfcTaskTimeRecurring -::Ifc4x3_rc4::IfcRecurrencePattern* Ifc4x3_rc4::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(20)))->as<::Ifc4x3_rc4::IfcRecurrencePattern>(); } +::Ifc4x3_rc4::IfcRecurrencePattern* Ifc4x3_rc4::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(20)))->as<::Ifc4x3_rc4::IfcRecurrencePattern>(true); } void Ifc4x3_rc4::IfcTaskTimeRecurring::setRecurrence(::Ifc4x3_rc4::IfcRecurrencePattern* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(20,attr);} } @@ -22448,7 +22640,7 @@ Ifc4x3_rc4::IfcTendonType::IfcTendonType(IfcEntityInstanceData* e) : IfcReinforc Ifc4x3_rc4::IfcTendonType::IfcTendonType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTendonTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheathDiameter) : IfcReinforcingElementType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTendonType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc4::IfcTendonTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} if (v11_NominalDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_NominalDiameter));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); } if (v12_CrossSectionArea) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v12_CrossSectionArea));data_->setArgument(11,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(11, attr); } if (v13_SheathDiameter) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_SheathDiameter));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } } // Function implementations for IfcTessellatedFaceSet -::Ifc4x3_rc4::IfcCartesianPointList3D* Ifc4x3_rc4::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCartesianPointList3D>(); } +::Ifc4x3_rc4::IfcCartesianPointList3D* Ifc4x3_rc4::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCartesianPointList3D>(true); } void Ifc4x3_rc4::IfcTessellatedFaceSet::setCoordinates(::Ifc4x3_rc4::IfcCartesianPointList3D* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } ::Ifc4x3_rc4::IfcIndexedColourMap::list::ptr Ifc4x3_rc4::IfcTessellatedFaceSet::HasColours() const { return data_->getInverse(IFC4X3_RC4_IfcIndexedColourMap_type, 0)->as(); } @@ -22470,7 +22662,7 @@ Ifc4x3_rc4::IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentatio // Function implementations for IfcTextLiteral std::string Ifc4x3_rc4::IfcTextLiteral::Literal() const { std::string v = *data_->getArgument(0); return v; } void Ifc4x3_rc4::IfcTextLiteral::setLiteral(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcAxis2Placement>(); } +::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcAxis2Placement>(true); } void Ifc4x3_rc4::IfcTextLiteral::setPlacement(::Ifc4x3_rc4::IfcAxis2Placement* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } ::Ifc4x3_rc4::IfcTextPath::Value Ifc4x3_rc4::IfcTextLiteral::Path() const { return ::Ifc4x3_rc4::IfcTextPath::FromString(*data_->getArgument(2)); } void Ifc4x3_rc4::IfcTextLiteral::setPath(::Ifc4x3_rc4::IfcTextPath::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcTextPath::ToString(v)));data_->setArgument(2,attr);} } @@ -22482,7 +22674,7 @@ Ifc4x3_rc4::IfcTextLiteral::IfcTextLiteral(IfcEntityInstanceData* e) : IfcGeomet Ifc4x3_rc4::IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, ::Ifc4x3_rc4::IfcAxis2Placement* v2_Placement, ::Ifc4x3_rc4::IfcTextPath::Value v3_Path) : IfcGeometricRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTextLiteral_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Literal));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Placement));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_Path,::Ifc4x3_rc4::IfcTextPath::ToString(v3_Path))));data_->setArgument(2,attr);} } // Function implementations for IfcTextLiteralWithExtent -::Ifc4x3_rc4::IfcPlanarExtent* Ifc4x3_rc4::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcPlanarExtent>(); } +::Ifc4x3_rc4::IfcPlanarExtent* Ifc4x3_rc4::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcPlanarExtent>(true); } void Ifc4x3_rc4::IfcTextLiteralWithExtent::setExtent(::Ifc4x3_rc4::IfcPlanarExtent* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } std::string Ifc4x3_rc4::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcTextLiteralWithExtent::setBoxAlignment(std::string v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } @@ -22494,11 +22686,11 @@ Ifc4x3_rc4::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcEntityInstance Ifc4x3_rc4::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(std::string v1_Literal, ::Ifc4x3_rc4::IfcAxis2Placement* v2_Placement, ::Ifc4x3_rc4::IfcTextPath::Value v3_Path, ::Ifc4x3_rc4::IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment) : IfcTextLiteral((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTextLiteralWithExtent_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Literal));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_Placement));data_->setArgument(1,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v3_Path,::Ifc4x3_rc4::IfcTextPath::ToString(v3_Path))));data_->setArgument(2,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_Extent));data_->setArgument(3,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v5_BoxAlignment));data_->setArgument(4,attr);} } // Function implementations for IfcTextStyle -::Ifc4x3_rc4::IfcTextStyleForDefinedFont* Ifc4x3_rc4::IfcTextStyle::TextCharacterAppearance() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcTextStyleForDefinedFont>(); } +::Ifc4x3_rc4::IfcTextStyleForDefinedFont* Ifc4x3_rc4::IfcTextStyle::TextCharacterAppearance() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcTextStyleForDefinedFont>(true); } void Ifc4x3_rc4::IfcTextStyle::setTextCharacterAppearance(::Ifc4x3_rc4::IfcTextStyleForDefinedFont* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } -::Ifc4x3_rc4::IfcTextStyleTextModel* Ifc4x3_rc4::IfcTextStyle::TextStyle() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcTextStyleTextModel>(); } +::Ifc4x3_rc4::IfcTextStyleTextModel* Ifc4x3_rc4::IfcTextStyle::TextStyle() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcTextStyleTextModel>(true); } void Ifc4x3_rc4::IfcTextStyle::setTextStyle(::Ifc4x3_rc4::IfcTextStyleTextModel* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } -::Ifc4x3_rc4::IfcTextFontSelect* Ifc4x3_rc4::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcTextFontSelect>(); } +::Ifc4x3_rc4::IfcTextFontSelect* Ifc4x3_rc4::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcTextFontSelect>(true); } void Ifc4x3_rc4::IfcTextStyle::setTextFontStyle(::Ifc4x3_rc4::IfcTextFontSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< bool > Ifc4x3_rc4::IfcTextStyle::ModelOrDraughting() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } bool v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcTextStyle::setModelOrDraughting(boost::optional< bool > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } @@ -22518,7 +22710,7 @@ boost::optional< std::string > Ifc4x3_rc4::IfcTextStyleFontModel::FontVariant() void Ifc4x3_rc4::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTextStyleFontModel::FontWeight() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } -::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcSizeSelect>(); } +::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(5)))->as<::Ifc4x3_rc4::IfcSizeSelect>(true); } void Ifc4x3_rc4::IfcTextStyleFontModel::setFontSize(::Ifc4x3_rc4::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(5,attr);} } @@ -22528,9 +22720,9 @@ Ifc4x3_rc4::IfcTextStyleFontModel::IfcTextStyleFontModel(IfcEntityInstanceData* Ifc4x3_rc4::IfcTextStyleFontModel::IfcTextStyleFontModel(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, boost::optional< std::string > v3_FontStyle, boost::optional< std::string > v4_FontVariant, boost::optional< std::string > v5_FontWeight, ::Ifc4x3_rc4::IfcSizeSelect* v6_FontSize) : IfcPreDefinedTextFont((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTextStyleFontModel_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Name));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_FontFamily));data_->setArgument(1,attr);} if (v3_FontStyle) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_FontStyle));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_FontVariant) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_FontVariant));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_FontWeight) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_FontWeight));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_FontSize));data_->setArgument(5,attr);} } // Function implementations for IfcTextStyleForDefinedFont -::Ifc4x3_rc4::IfcColour* Ifc4x3_rc4::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcColour>(); } +::Ifc4x3_rc4::IfcColour* Ifc4x3_rc4::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcColour>(true); } void Ifc4x3_rc4::IfcTextStyleForDefinedFont::setColour(::Ifc4x3_rc4::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } -::Ifc4x3_rc4::IfcColour* Ifc4x3_rc4::IfcTextStyleForDefinedFont::BackgroundColour() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcColour>(); } +::Ifc4x3_rc4::IfcColour* Ifc4x3_rc4::IfcTextStyleForDefinedFont::BackgroundColour() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(1)))->as<::Ifc4x3_rc4::IfcColour>(true); } void Ifc4x3_rc4::IfcTextStyleForDefinedFont::setBackgroundColour(::Ifc4x3_rc4::IfcColour* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -22540,19 +22732,19 @@ Ifc4x3_rc4::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcEntityInst Ifc4x3_rc4::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4x3_rc4::IfcColour* v1_Colour, ::Ifc4x3_rc4::IfcColour* v2_BackgroundColour) : IfcPresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTextStyleForDefinedFont_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Colour));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_BackgroundColour));data_->setArgument(1,attr);} } // Function implementations for IfcTextStyleTextModel -::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcTextStyleTextModel::TextIndent() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcSizeSelect>(); } +::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcTextStyleTextModel::TextIndent() const { if(!data_->getArgument(0) || data_->getArgument(0)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcSizeSelect>(true); } void Ifc4x3_rc4::IfcTextStyleTextModel::setTextIndent(::Ifc4x3_rc4::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTextStyleTextModel::TextAlign() const { if(!data_->getArgument(1) || data_->getArgument(1)->isNull()) { return boost::none; } std::string v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(1,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTextStyleTextModel::TextDecoration() const { if(!data_->getArgument(2) || data_->getArgument(2)->isNull()) { return boost::none; } std::string v = *data_->getArgument(2); return v; } void Ifc4x3_rc4::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(2,attr);} } -::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcTextStyleTextModel::LetterSpacing() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcSizeSelect>(); } +::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcTextStyleTextModel::LetterSpacing() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcSizeSelect>(true); } void Ifc4x3_rc4::IfcTextStyleTextModel::setLetterSpacing(::Ifc4x3_rc4::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } -::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcTextStyleTextModel::WordSpacing() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcSizeSelect>(); } +::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcTextStyleTextModel::WordSpacing() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(4)))->as<::Ifc4x3_rc4::IfcSizeSelect>(true); } void Ifc4x3_rc4::IfcTextStyleTextModel::setWordSpacing(::Ifc4x3_rc4::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(4,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTextStyleTextModel::TextTransform() const { if(!data_->getArgument(5) || data_->getArgument(5)->isNull()) { return boost::none; } std::string v = *data_->getArgument(5); return v; } void Ifc4x3_rc4::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(5,attr);} } -::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcTextStyleTextModel::LineHeight() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcSizeSelect>(); } +::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcTextStyleTextModel::LineHeight() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(6)))->as<::Ifc4x3_rc4::IfcSizeSelect>(true); } void Ifc4x3_rc4::IfcTextStyleTextModel::setLineHeight(::Ifc4x3_rc4::IfcSizeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(6,attr);} } @@ -22586,7 +22778,7 @@ Ifc4x3_rc4::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(aggrega // Function implementations for IfcTextureMap aggregate_of< ::Ifc4x3_rc4::IfcTextureVertex >::ptr Ifc4x3_rc4::IfcTextureMap::Vertices() const { aggregate_of_instance::ptr es = *data_->getArgument(1); return es->as< ::Ifc4x3_rc4::IfcTextureVertex >(); } void Ifc4x3_rc4::IfcTextureMap::setVertices(aggregate_of< ::Ifc4x3_rc4::IfcTextureVertex >::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v)->generalize());data_->setArgument(1,attr);} } -::Ifc4x3_rc4::IfcFace* Ifc4x3_rc4::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcFace>(); } +::Ifc4x3_rc4::IfcFace* Ifc4x3_rc4::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(2)))->as<::Ifc4x3_rc4::IfcFace>(true); } void Ifc4x3_rc4::IfcTextureMap::setMappedTo(::Ifc4x3_rc4::IfcFace* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(2,attr);} } @@ -22658,7 +22850,7 @@ void Ifc4x3_rc4::IfcTimeSeries::setTimeSeriesDataType(::Ifc4x3_rc4::IfcTimeSerie void Ifc4x3_rc4::IfcTimeSeries::setDataOrigin(::Ifc4x3_rc4::IfcDataOriginEnum::Value v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(IfcWrite::IfcWriteArgument::EnumerationReference(v,::Ifc4x3_rc4::IfcDataOriginEnum::ToString(v)));data_->setArgument(5,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcTimeSeries::UserDefinedDataOrigin() const { if(!data_->getArgument(6) || data_->getArgument(6)->isNull()) { return boost::none; } std::string v = *data_->getArgument(6); return v; } void Ifc4x3_rc4::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } -::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcTimeSeries::Unit() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcUnit>(); } +::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcTimeSeries::Unit() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(7)))->as<::Ifc4x3_rc4::IfcUnit>(true); } void Ifc4x3_rc4::IfcTimeSeries::setUnit(::Ifc4x3_rc4::IfcUnit* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(7,attr);} } ::Ifc4x3_rc4::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc4::IfcTimeSeries::HasExternalReference() const { return data_->getInverse(IFC4X3_RC4_IfcExternalReferenceRelationship_type, 3)->as(); } @@ -22747,7 +22939,7 @@ Ifc4x3_rc4::IfcTransformerType::IfcTransformerType(IfcEntityInstanceData* e) : I Ifc4x3_rc4::IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTransformerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTransformerType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc4::IfcTransformerTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcTransportElement -::Ifc4x3_rc4::IfcTransportElementTypeSelect* Ifc4x3_rc4::IfcTransportElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcTransportElementTypeSelect>(); } +::Ifc4x3_rc4::IfcTransportElementTypeSelect* Ifc4x3_rc4::IfcTransportElement::PredefinedType() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcTransportElementTypeSelect>(true); } void Ifc4x3_rc4::IfcTransportElement::setPredefinedType(::Ifc4x3_rc4::IfcTransportElementTypeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -22757,7 +22949,7 @@ Ifc4x3_rc4::IfcTransportElement::IfcTransportElement(IfcEntityInstanceData* e) : Ifc4x3_rc4::IfcTransportElement::IfcTransportElement(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc4::IfcTransportElementTypeSelect* v9_PredefinedType) : IfcElement((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTransportElement_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_ObjectPlacement));data_->setArgument(5,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_Representation));data_->setArgument(6,attr);} if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v9_PredefinedType));data_->setArgument(8,attr);} } // Function implementations for IfcTransportElementType -::Ifc4x3_rc4::IfcTransportElementTypeSelect* Ifc4x3_rc4::IfcTransportElementType::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc4::IfcTransportElementTypeSelect>(); } +::Ifc4x3_rc4::IfcTransportElementTypeSelect* Ifc4x3_rc4::IfcTransportElementType::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(9)))->as<::Ifc4x3_rc4::IfcTransportElementTypeSelect>(true); } void Ifc4x3_rc4::IfcTransportElementType::setPredefinedType(::Ifc4x3_rc4::IfcTransportElementTypeSelect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(9,attr);} } @@ -22809,7 +23001,7 @@ Ifc4x3_rc4::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(Ifc Ifc4x3_rc4::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::Ifc4x3_rc4::IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) : IfcTriangulatedFaceSet((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcTriangulatedIrregularNetwork_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_Coordinates));data_->setArgument(0,attr);} if (v2_Normals) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v2_Normals));data_->setArgument(1,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(1, attr); } if (v3_Closed) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Closed));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v4_CoordIndex));data_->setArgument(3,attr);} if (v5_PnIndex) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_PnIndex));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v6_Flags));data_->setArgument(5,attr);} } // Function implementations for IfcTrimmedCurve -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCurve>(); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcTrimmedCurve::setBasisCurve(::Ifc4x3_rc4::IfcCurve* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } aggregate_of_instance::ptr Ifc4x3_rc4::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcTrimmedCurve::setTrim1(aggregate_of_instance::ptr v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -22995,7 +23187,7 @@ Ifc4x3_rc4::IfcValveType::IfcValveType(IfcEntityInstanceData* e) : IfcFlowContro Ifc4x3_rc4::IfcValveType::IfcValveType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcValveTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcValveType_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ApplicableOccurrence) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ApplicableOccurrence));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_HasPropertySets) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_HasPropertySets)->generalize());data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); } if (v7_RepresentationMaps) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v7_RepresentationMaps)->generalize());data_->setArgument(6,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(6, attr); } if (v8_Tag) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Tag));data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_ElementType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_ElementType));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(v10_PredefinedType,::Ifc4x3_rc4::IfcValveTypeEnum::ToString(v10_PredefinedType))));data_->setArgument(9,attr);} } // Function implementations for IfcVector -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcDirection>(); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcVector::setOrientation(::Ifc4x3_rc4::IfcDirection* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } double Ifc4x3_rc4::IfcVector::Magnitude() const { double v = *data_->getArgument(1); return v; } void Ifc4x3_rc4::IfcVector::setMagnitude(double v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(1,attr);} } @@ -23015,7 +23207,7 @@ Ifc4x3_rc4::IfcVertex::IfcVertex(IfcEntityInstanceData* e) : IfcTopologicalRepre Ifc4x3_rc4::IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcVertex_type); } // Function implementations for IfcVertexLoop -::Ifc4x3_rc4::IfcVertex* Ifc4x3_rc4::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcVertex>(); } +::Ifc4x3_rc4::IfcVertex* Ifc4x3_rc4::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcVertex>(true); } void Ifc4x3_rc4::IfcVertexLoop::setLoopVertex(::Ifc4x3_rc4::IfcVertex* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -23025,7 +23217,7 @@ Ifc4x3_rc4::IfcVertexLoop::IfcVertexLoop(IfcEntityInstanceData* e) : IfcLoop((If Ifc4x3_rc4::IfcVertexLoop::IfcVertexLoop(::Ifc4x3_rc4::IfcVertex* v1_LoopVertex) : IfcLoop((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcVertexLoop_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_LoopVertex));data_->setArgument(0,attr);} } // Function implementations for IfcVertexPoint -::Ifc4x3_rc4::IfcPoint* Ifc4x3_rc4::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcPoint>(); } +::Ifc4x3_rc4::IfcPoint* Ifc4x3_rc4::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(0)))->as<::Ifc4x3_rc4::IfcPoint>(true); } void Ifc4x3_rc4::IfcVertexPoint::setVertexGeometry(::Ifc4x3_rc4::IfcPoint* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(0,attr);} } @@ -23211,7 +23403,7 @@ boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::FirstMullionOff void Ifc4x3_rc4::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(10,attr);} } boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::SecondMullionOffset() const { if(!data_->getArgument(11) || data_->getArgument(11)->isNull()) { return boost::none; } double v = *data_->getArgument(11); return v; } void Ifc4x3_rc4::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(11,attr);} } -::Ifc4x3_rc4::IfcShapeAspect* Ifc4x3_rc4::IfcWindowLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc4x3_rc4::IfcShapeAspect>(); } +::Ifc4x3_rc4::IfcShapeAspect* Ifc4x3_rc4::IfcWindowLiningProperties::ShapeAspectStyle() const { if(!data_->getArgument(12) || data_->getArgument(12)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(12)))->as<::Ifc4x3_rc4::IfcShapeAspect>(true); } void Ifc4x3_rc4::IfcWindowLiningProperties::setShapeAspectStyle(::Ifc4x3_rc4::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(12,attr);} } boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::LiningOffset() const { if(!data_->getArgument(13) || data_->getArgument(13)->isNull()) { return boost::none; } double v = *data_->getArgument(13); return v; } void Ifc4x3_rc4::IfcWindowLiningProperties::setLiningOffset(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(13,attr);} } @@ -23235,7 +23427,7 @@ boost::optional< double > Ifc4x3_rc4::IfcWindowPanelProperties::FrameDepth() con void Ifc4x3_rc4::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(6,attr);} } boost::optional< double > Ifc4x3_rc4::IfcWindowPanelProperties::FrameThickness() const { if(!data_->getArgument(7) || data_->getArgument(7)->isNull()) { return boost::none; } double v = *data_->getArgument(7); return v; } void Ifc4x3_rc4::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(7,attr);} } -::Ifc4x3_rc4::IfcShapeAspect* Ifc4x3_rc4::IfcWindowPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcShapeAspect>(); } +::Ifc4x3_rc4::IfcShapeAspect* Ifc4x3_rc4::IfcWindowPanelProperties::ShapeAspectStyle() const { if(!data_->getArgument(8) || data_->getArgument(8)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(8)))->as<::Ifc4x3_rc4::IfcShapeAspect>(true); } void Ifc4x3_rc4::IfcWindowPanelProperties::setShapeAspectStyle(::Ifc4x3_rc4::IfcShapeAspect* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(8,attr);} } @@ -23341,7 +23533,7 @@ Ifc4x3_rc4::IfcWorkSchedule::IfcWorkSchedule(IfcEntityInstanceData* e) : IfcWork Ifc4x3_rc4::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< ::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) : IfcWorkControl((IfcEntityInstanceData*)0) {data_ = new IfcEntityInstanceData(IFC4X3_RC4_IfcWorkSchedule_type); {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v1_GlobalId));data_->setArgument(0,attr);}{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v2_OwnerHistory));data_->setArgument(1,attr);} if (v3_Name) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v3_Name));data_->setArgument(2,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(2, attr); } if (v4_Description) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v4_Description));data_->setArgument(3,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(3, attr); } if (v5_ObjectType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v5_ObjectType));data_->setArgument(4,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(4, attr); } if (v6_Identification) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v6_Identification));data_->setArgument(5,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(5, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v7_CreationDate));data_->setArgument(6,attr);} if (v8_Creators) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v8_Creators)->generalize());data_->setArgument(7,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(7, attr); } if (v9_Purpose) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v9_Purpose));data_->setArgument(8,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(8, attr); } if (v10_Duration) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v10_Duration));data_->setArgument(9,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(9, attr); } if (v11_TotalFloat) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v11_TotalFloat));data_->setArgument(10,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(10, attr); }{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((v12_StartTime));data_->setArgument(11,attr);} if (v13_FinishTime) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((*v13_FinishTime));data_->setArgument(12,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(12, attr); } if (v14_PredefinedType) {{IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set((IfcWrite::IfcWriteArgument::EnumerationReference(*v14_PredefinedType,::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::ToString(*v14_PredefinedType))));data_->setArgument(13,attr);} } else { IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument(); attr->set(boost::blank()); data_->setArgument(13, attr); } } // Function implementations for IfcWorkTime -::Ifc4x3_rc4::IfcRecurrencePattern* Ifc4x3_rc4::IfcWorkTime::RecurrencePattern() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcRecurrencePattern>(); } +::Ifc4x3_rc4::IfcRecurrencePattern* Ifc4x3_rc4::IfcWorkTime::RecurrencePattern() const { if(!data_->getArgument(3) || data_->getArgument(3)->isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(*data_->getArgument(3)))->as<::Ifc4x3_rc4::IfcRecurrencePattern>(true); } void Ifc4x3_rc4::IfcWorkTime::setRecurrencePattern(::Ifc4x3_rc4::IfcRecurrencePattern* v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(v);data_->setArgument(3,attr);} } boost::optional< std::string > Ifc4x3_rc4::IfcWorkTime::Start() const { if(!data_->getArgument(4) || data_->getArgument(4)->isNull()) { return boost::none; } std::string v = *data_->getArgument(4); return v; } void Ifc4x3_rc4::IfcWorkTime::setStart(boost::optional< std::string > v) { {IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();attr->set(*v);data_->setArgument(4,attr);} } diff --git a/src/ifcparse/Ifc4x3_rc4.h b/src/ifcparse/Ifc4x3_rc4.h index 01ced945f8..292ce3921e 100644 --- a/src/ifcparse/Ifc4x3_rc4.h +++ b/src/ifcparse/Ifc4x3_rc4.h @@ -60,7 +60,10 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c /// IfcOrganization An organization. /// IfcPerson A person. /// IfcPersonAndOrganization A person related to an organization. -class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. /// /// Select from: @@ -75,17 +78,26 @@ class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface {} /// Selecting IfcMeasureWithUnit allows the specification of both the actual figure for the value together with the currency in which the value is represented. /// Selecting IfcMonetaryMeasure allows the specification only of the value, the currency being as set by the global context /// Selecting IfcRatioMeasure assumes that the amount is a percentage or other REAL number. Note that if the amount is normally specified as -20%, then this figure will need to be converted to a multiplier of 0.8 -class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. /// /// NOTE: Corresponding STEP type: axis2_placement, please refer to ISO/IS 10303-42:1994, p. 19 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 1.5 -class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// /// HISTORY New type in IFC Release 2x4 -class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This select type identifies /// all those types of entities which may participate in a Boolean operation to /// form a CSG solid. @@ -102,7 +114,10 @@ class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseI /// (IfcSolidModel) are defined for being valid Boolean operands. /// /// HISTORY: New Type in IFC Release 1.5.1 -class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. /// /// HISTORY: New Select Type in IFC2x @@ -111,7 +126,10 @@ class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface /// /// IfcClassification (for classification information) /// IfcClassificationReference (for reference into a classification source) -class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. /// /// NOTE  Generally, it is expected that selection will be by IfcClassificationReference to identify an individual classification notation that classifies an element in the building information model. For example an element, such as IfcTank, might be further classified by assigning an IfcClassificationReference with Identification = "L6814" and a ClassificationSource identifying the appropriate version of Uniclass. IfcClassification should only be selected in @@ -125,38 +143,62 @@ class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::I /// /// IfcClassification (for referencing a classification system) /// IfcClassificationReference (for referencing a classification item (or facet) inside a classification system) -class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. /// /// NOTE  Corresponding STEP name: colour. It has been made into a SELECT type in IFC to avoid multiple inheritance for pre defined colour. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// /// HISTORY  New select type in IFC2x4. -class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. /// Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive. /// /// NOTE Corresponding ISO 10303-42 type: csg_select, please refer to ISO/IS 10303-42:1994, p.168 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5.1. -class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. /// /// NOTE Corresponding ISO 10303 name: curve_font_or_scaled_curve_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcCurveMeasureSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCurveMeasureSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve /// and subtypes) within a geometric model, or a curve with associated geometry and coordinates (IfcEdgeCurve) within a topological model. /// SELECT @@ -165,13 +207,19 @@ class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface /// IfcEdgeCurve /// /// HISTORY  New select type in IFC2x Edition 3. -class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. /// /// NOTE Corresponding ISO 10303 name: curve_style_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT /// @@ -179,7 +227,10 @@ class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInt /// IfcPropertyDefinition /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// /// SELECT @@ -254,7 +305,10 @@ class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterfa /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. -class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. /// /// HISTORY: New Select Type in IFC 2x @@ -263,22 +317,34 @@ class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInte /// /// IfcDocumentInformation (for "metadata" of an external document) /// IfcDocumentReference (for reference within a document) -class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcFacilityPartTypeSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcFacilityPartTypeSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. /// /// NOTE Corresponding ISO 10303 name: fill_style_select. Please refer to ISO/IS 10303-46:1994 for /// the final definition of the formal standard. /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. /// /// NOTE: Corresponding ISO 10303 type: geometric_set_select. Please refer to ISO/IS 10303-42:1994, p. 169 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 2x. -class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. /// /// SELECT @@ -287,15 +353,27 @@ class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInter /// IfcVirtualGridIntersection /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// /// HISTORY  New type in IFC2x3. -class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcImpactProtectionDeviceTypeSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcImpactProtectionDeviceTypeSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcInterferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcInterferenceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. /// /// It is the collection of all those items, that are assigned to a single layer. These items are representation items or complete representations (IfcRepresentationItem, IfcRepresentation). If an IfcRepresentation is referenced, all IfcRepresentationItem within its set of Items are assigned to the same layer. @@ -303,7 +381,10 @@ class IFC_PARSE_API IfcInterferenceSelect : public virtual IfcUtil::IfcBaseInter /// NOTE: Corresponding ISO 10303 name: layered_item. It was called layered_things in the ISO/CD version and had been renamed to layered_item in the ISO/IS final version. Please refer to ISO/IS 10303-46:1994, p. 13 for the final definition of the formal standard. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. /// /// HISTORY: New Select Type in IFC2x @@ -314,7 +395,10 @@ class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface {} /// IfcLibraryReference (for reference into a library of information by location) /// /// Generally, it is expected that selection will be IfcLibraryReference and only rarely IfcLibraryInformation. IfcLibraryInformation should only be selected in circumstances where there could be a need to indicate the libraries that will be used without making individual references. This may occur for higher level objects such as a project or building. -class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. /// /// The light distribution provides the luminous intensity distribution according to some standardized light distribution curves. @@ -337,7 +421,10 @@ class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface /// directions covers all cases. /// /// HISTORY New type in IFC2x2. -class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcMaterialSelect provides selection of either a material /// definition or a material usage definition that can be assigned to /// an element, a resource or another entity within IFC. @@ -364,7 +451,10 @@ class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUti /// /// IFC2x4 CHANGE The select now includes two new abstract entities IfcMaterialDefinition /// and IfcMaterialUsageDefinition with upward compatibility. The use of IfcMaterialList is deprecated from IFC2x4 onwards. -class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). /// /// NOTE IfcMeasureValue is a select data type for most basic measure types coming from ISO 10303-41. Select item IfcNonNegativeLengthMeasure is in addition to ISO 10303-41. @@ -374,7 +464,10 @@ class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface /// HISTORY New type in IFC Release 1.5.1. /// /// IFC 2x4 change: added IfcNonNegativeLengthMeasure -class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. /// /// HISTORY: New type in IFC Release 2.0 @@ -387,23 +480,38 @@ class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { /// IfcTable /// IfcText /// IfcTimeSeries -class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// /// HISTORY  New select type in IFC Release 2.0. -class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. /// SELECT /// @@ -411,7 +519,10 @@ class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseIn /// IfcVertexPoint /// /// HISTORY  New select type in IFC2x Edition 3. -class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcProcessSelectprovides the option to either /// select a process or activity occurrence, IfcProcess, /// or a process or activity type, IfcTypeProcess. @@ -422,9 +533,15 @@ class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInter /// IfcTypeProcess /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcProductSelectprovides the option to either select a /// product occurrence, IfcProduct, or a product type, /// IfcTypeProduct. @@ -434,13 +551,22 @@ class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::Ifc /// IfcTypeProduct /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// /// HISTORY  New Select type in IFC2x4. -class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, /// IfcTypeResource. @@ -450,13 +576,22 @@ class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInt /// IfcTypeResource /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < ¥. /// /// A shell of dimensionality 0 is represented by a graph consisting of a single vertex. The vertex shall not have any associated edges. @@ -468,7 +603,10 @@ class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInter /// NOTE  Corresponding ISO 10303 type: shell. Please refer to ISO/IS 10303-42:1994, p. 127 for the final definition of the formal standard. Only the select items closed_shell (IfcClosedShell) and open_shell (IfcOpenShell) have been incorporated in the current IFC release. /// /// HISTORY  New type in IFC2x. -class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcSimpleValue is a select type for selecting between simple value types. /// /// SELECT @@ -488,7 +626,10 @@ class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface {}; /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. -class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. /// /// Definition from ISO: The size (or width) measure value is given in the global drawing length units. @@ -501,7 +642,10 @@ class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface {} /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. -class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. /// SELECT /// @@ -509,7 +653,10 @@ class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface {}; /// IfcClosedShell /// /// HISTORY New select type in IFC2x4. -class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: The /// IfcSpaceBoundarySelectselects either an internal space /// for internal or external space boundaries, or an external spatial @@ -522,9 +669,15 @@ class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface { /// /// HISTORY New select type /// in IFC2x4. -class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcSpatialReferenceSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSpatialReferenceSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. /// /// NOTE: The two select types relate to the different ways to specifiy the sharpness (or shininess) of the specular part of the reflectance equation. It relates to the attributes: @@ -535,7 +688,10 @@ class IFC_PARSE_API IfcSpatialReferenceSelect : public virtual IfcUtil::IfcBaseI /// For each surface side style only one of the two methods is needed for calculating the specular part of the equation. /// /// HISTORY: New type in IFC2x2. -class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of /// IfcStructuralItem or IfcBuildingElement. The @@ -545,7 +701,10 @@ class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBase /// /// HISTORY: New type in Release IFC2x /// Edition 2. -class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface /// and subtypes) within a geometric model, or a face with associated surface geometry and coordinates (IfcFaceSurface) within a topological model. /// SELECT @@ -555,7 +714,10 @@ class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUt /// IfcFaceBasedSurfaceModel (a connected face set, representing a faceted surface as an approximation of a non planar, non rectangular bounded surface) /// /// HISTORY  New select type in IFC2x3. -class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. /// /// The select type only includes the IfcSurfaceStyleRendering (which is the equivalent to surface_style_rendering) from the select type surface_style_element_select. In addition it has the IfcSurfaceStyleLighting, which holds the exact physically based lighting properties for lighting based calculation algorithms (as the opposite to the rendering based calculation), the IfcSurfaceStyleRefraction (for more advanced refraction indices) and IfcSurfaceStyleWithTextures (to allow for image textures applied to surfaces). In addition an IfcExternallyDefinedSurfaceStyle can be selected that points into an external material library. @@ -565,7 +727,10 @@ class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInt /// NOTE: Corresponding ISO 10303 type: surface_style_element_select. Please refer to ISO/IS 10303-46:1994, p. 85 for the final definition of the formal standard. /// /// HISTORY: New Select type in IFC2x2. -class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. /// /// NOTE  IfcTextFontSelect is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation. Corresponding ISO 10303 name: font_select. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard. @@ -573,22 +738,37 @@ class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBa /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. -class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 -class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; -class IFC_PARSE_API IfcTransportElementTypeSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTransportElementTypeSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. /// /// NOTE Corresponding ISO 10303 type: trimming_select, please refer to ISO/IS 10303-42:1994, p. 20 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.0 -class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. /// /// NOTE: Select item IfcMonetaryUnit is an addition to ISO 10303-41. @@ -602,7 +782,10 @@ class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface /// IfcMonetaryUnit: A unit for defining currencies. /// /// HISTORY: New type in IFC Release 1.5.1. -class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. /// @@ -613,7 +796,10 @@ class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface {}; /// IfcDerivedMeasureValue A select type for derived measure types. /// /// HISTORY New type in IFC Release 2x. -class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. /// @@ -622,11 +808,17 @@ class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface {}; /// definition of the formal standard. /// HISTORY New Type in IFC Release /// 1.5 -class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface {}; +class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { +public: + static const IfcParse::select_type& Class(); +}; class IFC_PARSE_API IfcActionRequestTypeEnum : public IfcUtil::IfcBaseType { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. /// HISTORY: New Enumeration in IFC2x4.